① 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)