在应用程序开发中,从源代码到可执行文件,需要经过四个步骤,在哪一步完成后可以生产可执行文件( )。

【答案】:D
在平常应用程序开发中,从源代码到可执行文件,需要经过四个步骤,分别是,预编译,编译,汇编和链接。
1.预编译
预编译过程主要处理源代码文件中以"#"开始与编译指令。比如常见"#include","#define"等,主要处理规则如下:
1)将所有"#define"删除,展开所有宏定义。
2)处理所有条件预编译指令,如"#if","#ifdef"等。
3)处理"#include"预编译指令,将包含文件插入到该预编译指令位置。
4)删除所有注释,包括"//"和"/* */"。
5)添加行号和文件名标识,以便于编译时产生编译错误和警告时能够及时显示行号。
6)保留所有#pragma编译器指令,因为编译器必须使用它们。
预编译相当于如下命令:
$gcc -E hello.c -o hello.i 或 $cpp hello.c > hello.i
2.编译
编译过程就是把预处理完文件进行一系列词法分析,语法分析,语义分析及优化后产生相应汇编代码文件。
编译过程相当于如下命令:
$gcc -S hello.i -o hello.s

  • 浠庢簮浠g爜鍒鐢熸垚鍙墽琛绋嬪簭鐨勮繃绋涓,涓嶅寘鎷
    绛旓細浠庢簮浠g爜鍒鐢熸垚鍙墽琛绋嬪簭鐨勮繃绋嬩腑锛屼笉鍖呮嫭锛1. 缂栬瘧锛氭簮浠g爜闇瑕佺粡杩囩紪璇戝櫒灏嗗叾杞崲涓烘満鍣ㄨ瑷锛岃繖涓杩囩▼绉颁负缂栬瘧銆傜紪璇戝櫒浼氬皢婧愪唬鐮佷腑鐨勮娉曢敊璇拰娼滃湪闂妫鏌ュ嚭鏉ワ紝骞剁敓鎴愬彲鎵ц鏂囦欢銆2. 閾炬帴锛氶摼鎺ユ槸灏嗙紪璇戝悗鐨勭洰鏍囨枃浠讹紙.obj鏂囦欢锛夊拰搴撴枃浠讹紙.lib鏂囦欢锛夊悎骞朵负涓涓彲鎵ц鏂囦欢鐨勮繃绋嬨傝繖涓繃绋嬮氬父...
  • 涓涓杞欢浠庢簮浠g爜鍒板彲鎵ц绋嬪簭,闇瑕佺粡鍘嗗嚑涓楠ょ殑
    绛旓細涓鑸粡杩囩紪璇戠▼搴忕紪璇戝悗灏卞彲浠ョ洿鎺ユ墽琛屼簡銆傜紪璇戠▼搴忎竴鑸湁涓ょ鎵ц鏂瑰紡锛氫竴绉嶆槸杈硅В閲婅竟鎵ц锛屼竴娆″皢涓鏉℃寚浠ら氳繃缂栬瘧绋嬪簭缂栬瘧鎴愭満鍣ㄤ唬鐮佸悗鎵ц锛岀劧鍚庡啀缂栬瘧涓嬩竴鏉℃寚浠わ紝姝ょ鏂瑰紡蹇呴』閫氳繃缂栬瘧绋嬪簭鏉ュ崗鍔╁畬鎴愶紱鍙﹀涓绉嶆槸閫氳繃缂栬瘧绋嬪簭鐩存帴灏绋嬪簭婧愪唬鐮鐩存帴缂栬緫鎴愬彲鎵ц鏂囦欢锛屽彲鎵ц鏂囦欢鍙嫭绔嬫墽琛岋紝鐢ㄤ笉鐫缂栬瘧绋嬪簭...
  • 婧愪唬鐮佸埌鍙鎵ц 鏂囦欢涔嬮棿鐨勮浆鎹㈢敤鍒扮殑 缂栬瘧鍣ㄥgcc銆佹眹缂栧櫒銆佽繛鎺ュ櫒绛...
    绛旓細娉ㄦ剰锛歝pp鏂囦欢蹇呴』鏀惧湪宸ョ▼涓紝g 鐢熸垚鐨勭▼搴忔墠鑳借杩愯锛佺敤MinGW鐨刧 缂栬瘧鍑虹殑绋嬪簭鍙互鍦ㄦ病鏈夊畨瑁匨inGW鐨刉indows绯荤粺涓婅繍琛岋紒浣嗘槸鍦–ygwin/gcc涓嬬紪璇戝嚭鏉ョ殑绋嬪簭锛鍦╳indows鎵ц蹇呴』渚濊禆cygwin1.dll銆傞氳繃VC2005鍒涘缓涓嶅甫棰勭紪璇戝ご鐨刉in32鎺у埗鍙搴旂敤绋嬪簭绌虹幆澧冿紝杩欐牱缂栬瘧鍑烘潵鐨勫彲鎵ц鏂囦欢涔熶笉鏄斁鍦ㄥ摢鍙版満瀛愰兘鑳...
  • 濡備綍灏嗙紪鍐欏ソ鐨凜璇█婧愮▼搴鍙樻垚鍙墽琛屾枃浠禘XE?
    绛旓細1銆佺涓姝ワ紝鎵撳紑C璇█缂栬瘧杞欢锛杈撳叆浣犺鎵ц鐨绋嬪簭婧愪唬鐮侊紝濡備笅鍥炬墍绀恒2銆佺浜屾锛屼唬鐮佺紪鍐欏畬鎴愪箣鍚庯紝渚濇鐐瑰嚮鈥濈紪璇戔溿佲濈粍寤衡溿佲濇墽琛屸滀笁涓夐」锛屼篃鍙互閫氳繃渚濇鍙宠竟鐨勪笁涓揩鎹烽敭瀹屾垚涓婅堪鎿嶄綔锛屽涓嬪浘鎵绀恒3銆佺涓夋锛屼笂杩版搷浣滃畬鎴愪箣鍚庯紝鎸夆濆洖杞﹂敭鈥滃氨鍙互鎵ц褰撳墠绋嬪簭浜嗭紝濡備笅鍥炬墍绀恒4銆...
  • 浠涔堟槸婧愪唬鐮,婧愪唬鐮閫氳繃鎬庢牱鐨勬柟寮忓彲浠ユ垚涓杞欢?
    绛旓細婧愪唬鐮涓嶄粎鐢ㄤ簬鍒涘缓杞欢锛屽畠杩樻槸杞欢寮鍙鍜岀淮鎶ょ殑鍩虹銆傚畠鍏佽寮鍙戣呯悊瑙e拰淇敼绋嬪簭鐨勮涓猴紝娣诲姞鏂扮殑鍔熻兘锛屼慨澶嶉敊璇紝鎴栬呮敼杩涙ц兘銆傛簮浠g爜閫氬父鍖呭惈浜嗘敞閲婏紝杩欎簺娉ㄩ噴鎻愪緵浜嗗浠g爜鍔熻兘鐨勮В閲婏紝鏈夊姪浜庡叾浠栧紑鍙戣呯悊瑙g▼搴忕殑閫昏緫锛屽悓鏃朵篃鏄蒋浠舵枃妗g殑涓閮ㄥ垎銆傚敖绠℃簮浠g爜鍦ㄧ紪璇戝悗涓嶄細鐩存帴鏄剧ず鍦ㄦ渶缁堢殑搴旂敤绋嬪簭涓紝浣...
  • .cs鏄粈涔堟枃浠,鏈変粈涔堜綔鐢
    绛旓細绛旀锛.cs鏂囦欢鏄疌#婧愪唬鐮鏂囦欢锛屼富瑕佺敤浜庡瓨鍌–#缂栫▼璇█缂栧啓鐨绋嬪簭浠g爜銆傚叾浣滅敤涓昏鍖呮嫭浠ヤ笅鍑犵偣锛氳缁嗚В閲婏細1. 瀹氫箟绋嬪簭浠g爜锛.cs鏂囦欢鐨勪富瑕佺敤閫旀槸瀛樺偍C#璇█鐨勬簮浠g爜銆傝繖鎰忓懗鐫寮鍙浜哄憳鍙互鍦ㄨ繖浜涙枃浠朵腑缂栧啓瀹炵幇鐗瑰畾鍔熻兘鎴栨搷浣滅殑浠g爜銆傝繖浜涗唬鐮佸彲浠ュ寘鎷彉閲忓畾涔夈佺被瀹氫箟銆佹柟娉曞疄鐜扮瓑銆2. 缂栬瘧鎴愬彲鎵ц浠g爜锛...
  • 璇烽棶linux涓,gcc缂栬瘧绋嬪簭鐨勮繃绋(浠庤鍙栨簮鏂囦欢鍒板埗浣滃彲鎵ц绋嬪簭涓棿鎵鏈...
    绛旓細澶勭悊. 褰撹繖涓夐」琚娇鐢ㄦ椂, 棰勫鐞嗗櫒鐨勮緭鍑鸿閫佸埌鏍囧噯杈撳嚭鑰屼笉鏄偍瀛樺湪鏂囦欢閲屻備紭鍖栭夐」 褰撲綘鐢 GCC 缂栬瘧 C 浠g爜鏃, 瀹冧細璇曠潃鐢ㄦ渶灏戠殑鏃堕棿瀹屾垚缂栬瘧骞朵笖浣跨紪璇戝悗鐨 浠g爜鏄撲簬璋冭瘯. 鏄撲簬璋冭瘯鎰忓懗鐫缂栬瘧鍚庣殑浠g爜涓婧愪唬鐮鏈夊悓鏍风殑鎵ц娆″簭, 缂栬瘧鍚 鐨勪唬鐮佹病鏈夌粡杩囦紭鍖. 鏈夊緢澶氶夐」鍙敤浜庡憡璇 GCC 鍦ㄨ楄垂鏇村...
  • 姒傝堪鍩轰簬ccs鐨杞欢寮鍙娴佺▼?
    绛旓細3.椤圭洰鍒涘缓:鍦–CS涓垱寤烘柊鐨勯」鐩垨瀵煎叆鐜版湁椤圭洰銆傛寚瀹氶」鐩殑鍚嶇О銆佸瓨鍌ㄤ綅缃拰纭欢閰嶇疆淇℃伅銆 4.浠g爜缂栧啓:浣跨敤CCS鎻愪緵鐨勪唬鐮佺紪杈戝櫒缂栧啓搴旂敤绋嬪簭鐨婧愪唬鐮銆傛牴鎹」鐩渶姹,閫夋嫨鍚堥傜殑缂栫▼璇█(濡侰銆丆++绛)缂栧啓浠g爜,瀹炵幇鎵闇鐨勫姛鑳姐 5.缂栬瘧鍜屾瀯寤:浣跨敤CCS鎻愪緵鐨勭紪璇戝櫒灏嗘簮浠g爜缂栬瘧涓哄彲鎵ц鏂囦欢銆傜‘淇濈紪璇戣繃绋嬫病鏈夐敊璇垨...
  • 婧愭枃浠舵槸浠涔堟剰鎬?
    绛旓細鍦ㄨ绠楁満缂栫▼涓紝婧愭枃浠舵槸涓绉嶆枃鏈枃浠讹紝閫氬父浠ョ壒瀹氱殑缂栫▼璇█鐨勮娉曡鍒欎繚瀛樹簡绋嬪簭鐨婧愪唬鐮銆傝繖浜涗唬鐮佸彲浠ユ槸鏂囨湰缂栬緫鍣ㄦ墜鍔ㄧ紪鍐欑殑锛屾垨鑰呮槸閫氳繃鍏朵粬杞欢宸ュ叿鐢熸垚鐨勩寮鍙鑰呬娇鐢ㄨ繖浜涗唬鐮佹潵鍒涘缓杞欢搴旂敤绋嬪簭銆佺綉绔欐垨鍏朵粬璁$畻鏈虹▼搴忋備簩銆佹簮鏂囦欢鐨勭壒鐐 婧愭枃浠跺寘鍚簡绋嬪簭鐨勬墍鏈夋寚浠ゅ拰閫昏緫锛屽叿鏈変互涓嬬壒鐐癸細1. 鍙鎬...
  • 璁$畻鏈鸿嫳璇枃绔犵炕璇1
    绛旓細鏈夊崟涓懡浠ょ粍鎴愮殑婧愭枃浠惰绉颁负婧愪唬鐮併傝繖鏃讹紝鏈変竴绉嶇壒娈婄殑搴旂敤绋嬪簭浼氭妸婧愪唬鐮佽浆鎹㈡垚璁$畻鏈鸿瑷锛屾垨鑰呮槸鐩爣浠g爜鈥斺旀搷浣滅郴缁熷彲璇嗗埆鎴愬悎閫傜殑绋嬪簭鐒跺悗鎵ц鐨勪竴绉嶆牸寮忋浠庢簮浠g爜杞崲鎴愮洰鏍囩爜涓竴鍏辨湁涓夌涓嶅悓绫诲瀷鐨勫簲鐢ㄧ▼搴忥細缂栬瘧绋嬪簭锛岃В閲婄▼搴忓拰姹囩紪绋嬪簭銆傝繖涓夌绋嬪簭杩愯璧锋潵鍚勬湁涓嶅悓锛岃屼笖鍩轰簬涓嶅悓鐨勭▼搴...
  • 扩展阅读:小程序开发需要多少钱 ... 小程序代码大全 ... 怎么开发小程序 ... 一键生成代码免费 ... ai智能自动写代码 ... 小程序开发平台 ... 免费代码生成器 ... 写代码的软件 ... 源代码开发 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网