① vs鍏ㄧО鏄浠涔堟剰鎬濓紵
VS鏄 Visual Studio 鐨勭緝鍐欙紝鍏ㄧО涓哄井杞瑙嗚夊伐浣滃わ紝鏄鐢卞井杞鍏鍙稿紑鍙戠殑涓嬈綢DE銆傚畠鍖呭惈浜嗕竴緋誨垪杞浠跺紑鍙戝伐鍏鳳紝濡備唬鐮佺紪杈戝櫒銆佺紪璇戝櫒銆佽皟璇曞櫒絳夌瓑銆俈S鍦╓indows騫沖彴涓嬭騫挎硾搴旂敤浜.NET銆丆++銆丆#絳夎璦鐨勫紑鍙戱紝鍦ㄥ叏鐞冭蔣浠惰屼笟涓鍏鋒湁鏋侀珮鐨勫競鍦轟喚棰濄俈S鏄涓嬈懼姛鑳藉己澶х殑IDE錛岃兘澶熶負寮鍙戜漢鍛樻彁渚涘緢澶氫究鍒╋紝渚嬪傚畠鏀鎸佸氱嶇紪紼嬭璦錛屽叿鏈夊緢濂界殑鍙鎵╁睍鎬с佹彃浠跺紑鍙戠瓑絳夌壒鐐癸紝榪欎簺閮戒嬌寰楀畠鎴愪負寮鍙戜漢鍛樻渶鍠滅埍鐨勪竴嬈捐蔣浠躲
VS鏄涓嬈鵑潪甯鎬紭縐鐨処DE錛屽畠鐨勪紭鐐規棤娉曚竴涓鍒椾婦銆傞栧厛錛屽畠闈炲父鐨勬槗浜庝嬌鐢錛岃屼笖瀹冩墍鎻愪緵鐨勪唬鐮佽ˉ鍏ㄥ姛鑳芥瘮鍏朵粬鐨処DE鏇村姞寮哄ぇ銆傚叾嬈★紝VS鐨勮皟璇曞姛鑳介潪甯稿己澶э紝鍙浠ュ府鍔╃敤鎴鋒洿瀹規槗鍦板畾浣嶅拰瑙e喅紼嬪簭鐨勯敊璇銆傛ゅ栵紝VS涓庡叾浠朚icrosoft宸ュ叿錛堝.NET Framework銆丼QL Server絳夛級鏄楂樺害闆嗘垚鐨勶紝榪欐剰鍛崇潃瀹冨彲浠ヤ負寮鍙戜漢鍛樻彁渚涙洿鍏ㄩ潰鐨勬敮鎸侊紝浠庤屽疄鐜版洿澶氱殑鍔熻兘鍜岀壒鎬с傛渶鍚庯紝VS鐨勫彲鎵╁睍鎬т篃鏄闈炲父楂樼殑錛岀敤鎴峰彲浠ラ氳繃涓嬭澆鍜屽畨瑁呮彃浠舵潵澧炲己鍜屾墿灞曞叾鍔熻兘銆
VS浣滀負涓嬈懼己澶х殑IDE錛屽叾鍙戝睍鍓嶆櫙鏄闈炲父騫塊様鐨勩傚井杞鍏鍙鎬竴鐩村湪鏇存柊鍜屾敼榪沄S錛屼互婊¤凍寮鍙戜漢鍛樼殑闇奼傘傞潰瀵規柊鐨勬妧鏈鍜屽競鍦洪渶奼傦紝VS涔熷湪涓嶆柇鍦伴傚簲鍙樺寲鍜屽彂灞曘備緥濡傦紝VS鐜板湪鍙浠ユ敮鎸佷簯寮鍙戱紝榪欐槸褰撲粖鏈鐑闂ㄧ殑寮鍙戝競鍦轟箣涓銆傛ゅ栵紝闅忕潃鏈哄櫒瀛︿範鍜屼漢宸ユ櫤鑳界瓑鏂板叴鎶鏈鐨勬櫘鍙婏紝VS涔熷皢闈涓磋秺鏉ヨ秺澶氱殑鎸戞垬鍜屾満閬囷紝鑰孷S鎵鎻愪緵鐨勪赴瀵岀殑宸ュ叿鍜屽姛鑳戒嬌鍏跺湪榪欎釜甯傚満涓鍏鋒湁寰堝ぇ鐨勪紭鍔褲傛葷殑鏉ヨ達紝VS鐨勫彂灞曞墠鏅闈炲父鍏夋槑錛屽皢緇х畫鍦ㄨ蔣浠跺紑鍙戣屼笟涓鍙戞尌閲嶈佷綔鐢ㄣ
② 奼囩紪璇璦緙栬瘧鍣ㄦ湁鍝浜
1銆丮ASM銆
寰杞鍏鍙鎬負x86寰澶勭悊鍣ㄥ舵棌寮鍙戠殑奼囩紪寮鍙戠幆澧冿紝鎷ユ湁鍙瑙嗗寲鐨勫紑鍙戠晫闈錛屼嬌寮鍙戜漢鍛樹笉蹇呭啀浣跨敤DOS鐜澧冭繘琛屾眹緙栫殑寮鍙戱紝緙栬瘧閫熷害蹇錛屾敮鎸80x86奼囩紪浠ュ強Win32Asm錛屾槸Windows涓嬪紑鍙戞眹緙栫殑鍒╁櫒銆
2銆丯ASM銆
鍏ㄧОThe Netwide Assembler錛屾槸涓嬈懼熀浜80x86鍜寈86-64騫沖彴鐨勬眹緙栬璦緙栬瘧紼嬪簭錛屽叾璁捐″垵琛鋒槸涓轟簡瀹炵幇緙栬瘧鍣ㄧ▼搴忚法騫沖彴鍜屾ā鍧楀寲鐨勭壒鎬с
3銆乀ASM銆
Borland鍏鍙稿紑鍙戠殑奼囩紪緙栬瘧鍣錛岃騫挎硾鐢ㄤ簬Turbo C錛孮uick Basic絳夌紪璇戝櫒錛岀敤浣滀腑闂磋繃娓$紪璇戙傚畠涔熻兘鐙絝嬬殑緙栬瘧綰奼囩紪鎴栨槸Win32Asm鐨勪唬鐮併傚叿鏈夌紪璇戝揩閫燂紝楂樻晥鐨勭壒鐐癸紝鑷充粖渚濈劧鏄奼囩紪寮鍙戠殑棣栭夊埄鍣ㄣ
4銆丟AS銆
GNU奼囩紪鍣錛圙NU Assembler錛夛紝綆縐頒負GAS錛屾槸鐢盙NU璁″垝鎵浣跨敤鐨勬眹緙栧櫒錛孏NU鐨勬牳蹇冪簿紲炴槸鑷鐢變笌鍒嗕韓錛屾墍浠GAS浜︽槸鑷鐢辮蔣浠躲
5銆丷adASM銆
涓嬈捐憲鍚嶇殑WIN32奼囩紪緙栬緫鍣錛屾敮鎸丮ASM銆乀ASM絳夊氱嶆眹緙栫紪璇戝櫒錛學indows鐣岄潰錛屾敮鎸佽娉曢珮浜錛岃嚜甯︿竴涓璧勬簮緙栬緫鍣ㄥ拰涓涓璋冭瘯鍣ㄣ傛嫢鏈夎緝寮虹殑宸ョ▼綆$悊鍔熻兘錛屽姞涔嬩紬澶氭彃浠剁殑鏀鎸侊紝浣垮緱瀹冪敤奼囩紪璇璦緙栧啓Windows杞浠跺彉寰楀緱蹇冨簲鎵嬨
鍙傝冭祫鏂欐潵婧愶細鐧懼害鐧劇-奼囩紪璇璦
③ 匯編器和編譯器有什麼區別
匯編器(Assembler)是將匯編語言翻譯為機器語言的程序。一般而言,匯編生成的是目標代碼,需要經鏈接器(Linker)生成可執行代碼才可以執行。
匯編語言是一種以處理器指令系統為基礎的低級語言,採用助記符表達指令操作碼,採用標識符表示指令操作數。作為一門語言,對應於高級語言的編譯器,需要一個「匯編器」來把匯編語言原文件匯編成機器可執行的代碼。常用的高級語言編譯器有Microsoft公司的MASM系列和Borland公司的TASM系列編譯器,還有一些小公司推出的或者免費的匯編軟體包等。
編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器(Linker) → 可執行程序 (executables)
高級計算機語言便於人編寫,閱讀交流,維護。機器語言是計算機能直接解讀、運行的。編譯器將匯編或高級計算機語言源程序(Source program)作為輸入,翻譯成目標語言(Target language)機器代碼的等價程序。源代碼一般為高級語言 (High-level language), 如Pascal、C、C++、Java、漢語編程等或匯編語言,而目標則是機器語言的目標代碼(Object code),有時也稱作機器代碼(Machine code)。
對於C#、VB等高級語言而言,此時編譯器完成的功能是把源碼(SourceCode)編譯成通用中間語言(MSIL/CIL)的位元組碼(ByteCode)。最後運行的時候通過通用語言運行庫的轉換,編程最終可以被CPU直接計算的機器碼(NativeCode)