Ⅰ c璇瑷缂栬疟钖庣殑鏂囦欢钖嶅悗缂鏄浠涔
c璇瑷缂栬疟钖庣殑鏂囦欢钖嶅悗缂鏄.c鍜.h銆
.h涓涓鑸鏀剧殑鏄钖屽悕锛.c鏂囦欢涓瀹氢箟镄勫彉閲忋佹暟缁勚佸嚱鏁扮殑澹版槑锛岄渶瑕佽.c澶栭儴浣跨敤镄勫0鏄庛.c鏂囦欢锛屼互c涓烘墿灞曞悕锛屼竴鑸瀛桦偍鍏蜂綋锷熻兘镄勫疄鐜般.h鏂囦欢锛岀О涓哄ご鏂囦欢锛屼竴鑸瀛桦偍绫诲瀷镄勫畾涔夛纴鍑芥暟镄勫0鏄庣瓑銆傞氩父锛屽ご鏂囦欢琚.c鏂囦欢鍖呭惈锛屼娇鐢#include璇鍙ャ备絾鍊煎缑娉ㄦ剰镄勬槸锛岃繖鍙鏄涓绉岖害瀹氾纴钥岄潪寮哄埗銆
鍦ㄥぇ澶氭暟𨱍呭喌涓嬶纴C璇瑷缁忚繃缂栬疟钖庣敓鎴愮殑鏂囦欢钖庣紑钖嶆槸钬.o钬濓纴涔熷彲浠ユ槸钬.obj钬濇垨鍏朵粬镎崭綔绯荤粺鐗瑰畾镄勬牸寮忋傝繖浜涙枃浠跺寘钖浜嗙紪璇戝櫒镓浜х敓镄勬満鍣ㄤ唬镰侊纴骞朵笖阃氩父闇瑕侀摼鎺ュ埌涓璧锋墠鑳界敓鎴愬彲镓ц屾枃浠躲
缂栬疟钖庢枃浠剁殑浣灭敤
缂栬疟钖庣殑鐩镙囨枃浠跺彲鑳芥棤娉旷洿鎺ヨ繍琛岋纴浣嗗畠鏄鐢熸垚鍙镓ц岀▼搴忔墍蹇呴渶镄勪竴姝ャ傚湪澶у瀷椤圭洰涓瑿璇瑷婧愪唬镰佸皢琚鍒嗘垚澶氢釜鏂囦欢锛屾疮涓鏂囦欢閮介渶瑕佸厛缂栬疟鎴愪竴涓鐩镙囨枃浠讹纴铹跺悗鍐嶅皢瀹冧滑阈炬帴鍒颁竴璧峰舰鎴愪竴涓鍙镓ц岀▼搴忋傞摼鎺ュ櫒鏄璐熻矗灏嗗氢釜鐩镙囨枃浠跺悎骞剁殑绋嫔簭锛屽綋澶氢釜鐩镙囨枃浠惰阈炬帴鍦ㄤ竴璧锋椂锛屾垜浠鍙浠ラ氲繃璁块梾涓涓鍑芥暟鎴栧彉閲忔潵璋幂敤鍏朵粬鏂囦欢涓镄勫嚱鏁版垨鍙橀噺銆
姝ゅ栵纴杩桦瓨鍦ㄤ袱绉嶅父瑙佺殑搴撶被鍨嬶纴鍒嗗埆鏄闱欐佸簱鍜屽叡浜搴撱傞润镐佸簱鏄鍖呭惈澶氢釜鐩镙囨枃浠剁殑褰掓。鏂囦欢锛岃屽叡浜搴揿垯鏄鍙琚澶氢釜绋嫔簭鍏变韩镄勯勭紪璇戜簩杩涘埗鏂囦欢銆傝繖浜涘簱阃氩父鍖呮嫭涓浜涘父鐢ㄧ殑锷熻兘鍜屾暟鎹缁撴瀯锛屽湪C璇瑷搴旂敤绋嫔簭涓链夌潃骞挎硾镄勪娇鐢ㄣ
Ⅱ c++编译后产生的一些文件是什么
c++程序在编译后,在目标路径下高拍李会生成多个文件:
Debug文件夹(*.exe,*.ilk,*.obj,*.pch,*.pdb,*.idb,*,pdb),*.cpp,*.dsp,*.ncb,*.plg。
1、exe:是生成的可执行文件。
2、ilk:当选定渐贺租增型编译连接时,连接器自动生成ILK文件,记录连接信息。
3、obj:是目标文件,源程序编译后的产物。
4、pch:全称是PreCompiled Header,就是预先编译好的头文件。
5、idb:文件保存的信息,使编译器在重新编译的时候只重编译最新改动过的函数和只对最新类定义改动过的源文件进行重编译,以提高编译速度。
6、pdb:全称是Program DataBase,即程序数据库文件,用来记录调试信息。
(2)编译器编译后生成的文件扩展阅读:
工作原理:
C++语言的程序因为要体现高性能,所以都是编译型的。但戚迟其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。
生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。该过程实际上分成两个步骤。
第一步是对程序进行编译,这需要用到编译器(compiler)。编译器将C++语句转换成机器码(也称为目标码);如果这个步骤成功,下一步就是对程序进行链接,这需要用到链接器(linker)。链接器将编译获得机器码与C++库中的代码进行合并。
Ⅲ C语言源程序文件的后缀是什么,经过编译后生成文件的后缀是什么经过连接后生成文件的后缀是什么
C语言源文件后缀名是.c,编译生成的文件后缀名是.obj,连接后可执行文件的后缀名是.exe。
源文件的后缀仅仅是为了表明该文件中保存的是某种语言的代码(例如.c文件中保存的是C语言代码),这样程序员更加容易区分,编译器也更加容易识别,它并不会导致该文件的内部格式发生改变。
(3)编译器编译后生成的文件扩展阅读
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大。
依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。
C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点。
Ⅳ c璇瑷缁忚繃缂栬疟钖庣敓鎴愭枃浠剁殑钖庣紑鏄
C璇瑷缁忚繃缂栬疟钖庣敓鎴愭枃浠剁殑钖庣紑鏄钬.obj钬濄
褰揅璇瑷婧愪唬镰佽缂栬疟钖庯纴阃氩父浼氱敓鎴愪竴涓钬.o钬濓纸object file锛夋枃浠躲傝繖涓鏂囦欢鍖呭惈浜嗙紪璇戝櫒镓浜х敓镄勬満鍣ㄤ唬镰侊纴浣嗘槸瀹冭缮娌℃湁琚杩炴帴鍒板叾浠栨ā鍧楁垨搴扑腑銆傜浉搴斿湴锛屽湪涓嶅悓镄勬搷浣灭郴缁熶笂鍙鑳戒细链変笉钖岀殑钖庣紑钖嶅拰浜岃繘鍒舵牸寮忋备緥濡傦纴Windows涓婄殑Visual C++缂栬疟鍣ㄤ娇鐢ㄢ.obj钬濅綔涓虹洰镙囨枃浠剁殑镓╁𪾢钖嶃
闄や简鐩镙囨枃浠朵箣澶栵纴杩樻湁鍏朵粬绫诲瀷镄勬枃浠朵篃鍙鑳藉湪缂栬疟杩囩▼涓鍑虹幇銆备緥濡傦纴婧愭枃浠跺寘钖浜嗕唬镰佺殑铡熷嬫枃链锛涘ご鏂囦欢鍖呭惈浜嗙▼搴忎腑浣跨敤鍒扮殑鍑芥暟鍜屽彉閲忕殑澹版槑銆傝繖浜涙枃浠舵墿灞曞悕阃氩父涓衡.c钬濆拰钬.h钬濄
C璇瑷镄勪紭镣圭亩杩
C璇瑷镄勮捐$洰镙囨槸鎻愪緵涓绉嶈兘浠ョ亩鏄撶殑鏂瑰纺缂栬疟銆佸勭悊浣庣骇瀛桦偍鍣ㄣ佷粎浜х敓灏戦噺镄勬満鍣ㄧ爜浠ュ强涓嶉渶瑕佷换浣曡繍琛岀幆澧冩敮鎸佷究鑳借繍琛岀殑缂栫▼璇瑷銆侰璇瑷鎻忚堪闂棰樻瘆姹囩紪璇瑷杩呴熴佸伐浣滈噺灏忋佸彲璇绘уソ銆佹槗浜庤皟璇曘佷慨鏀瑰拰绉绘嶏纴钥屼唬镰佽川閲忎笌姹囩紪璇瑷鐩稿綋銆侰璇瑷涓鑸鍙姣旀眹缂栬瑷浠g爜鐢熸垚镄勭洰镙囩▼搴忔晥鐜囦绠10%钬20%銆傚洜姝わ纴C璇瑷鍙浠ョ紪鍐欑郴缁熻蒋浠躲
褰揿墠阒舵碉纴鍦ㄧ紪绋嬮嗗烟涓锛孋璇瑷镄勮繍鐢ㄩ潪甯镐箣澶氾纴瀹冨吋椤句简楂樼骇璇瑷鍜屾眹缂栬瑷镄勪紭镣癸纴鐩歌缉浜庡叾浠栫紪绋嬭瑷鍏锋湁杈冨ぇ浼桦娍銆傝$畻链虹郴缁熻捐′互鍙婂簲鐢ㄧ▼搴忕紪鍐欐槸C璇瑷搴旂敤镄勪袱澶ч嗗烟銆傚悓镞讹纴C璇瑷镄勬櫘阃傝缉寮猴纴鍦ㄨ稿氲$畻链烘搷浣灭郴缁熶腑閮借兘澶熷缑鍒伴傜敤锛屼笖鏁堢巼鏄捐宪銆侰璇瑷𨰾ユ湁缁忚繃浜嗘极闀垮彂灞曞巻鍙茬殑瀹屾暣镄勭悊璁轰綋绯伙纴鍦ㄧ紪绋嬭瑷涓鍏锋湁涓捐冻杞婚吨镄勫湴浣嶃
Ⅳ gcc缂栬疟鍣ㄧ敓鎴愮殑鐩镙囨枃浠舵槸浠涔堬纻
1銆侀勫勭悊
鍦ㄨ繖涓阒舵碉纴婧愮爜涓镄勬墍链夐勫勭悊璇鍙ュ缑鍒板勭悊锛屼緥濡傦细#include璇鍙ユ墍鍖呭惈镄勬枃浠跺唴瀹规浛鎹㈡帀璇鍙ユ湰韬锛屾墍链夊凡瀹氢箟镄勫畯琚灞曞紑銆
镙规嵁#ifdef锛#if绛夎鍙ョ殑𨱒′欢鏄钖︽垚绔嫔彇鑸岖浉搴旂殑閮ㄥ垎锛岄勫勭悊涔嫔悗婧愮爜涓涓嶅啀鍖呭惈浠讳綍棰勫勭悊璇鍙ャ
GCC棰勫勭悊阒舵靛彲浠ョ敓鎴.i镄勬枃浠讹纴阃氲繃阃夐”-E鍙浠ヤ娇缂栬疟鍣ㄥ湪棰勫勭悊缁撴潫镞跺氨锅沧㈢紪璇戙备緥濡傦细gcc -E -o hello.i hello.c
2銆佺紪璇
杩欎竴阒舵碉纴缂栬疟鍣ㄥ规簮镰佽繘琛岃瘝娉曞垎鏋愩佽娉曞垎鏋愩佷紭鍖栫瓑镎崭綔锛屾渶钖庣敓鎴愭眹缂栦唬镰併傝繖鏄鏁翠釜杩囩▼涓链閲嶈佺殑涓姝ワ纴锲犳や篃甯告妸鏁翠釜杩囩▼绉颁负缂栬疟銆
鍙浠ラ氲繃阃夐”-S浣縂CC鍦ㄨ繘琛屽畬缂栬疟钖庡仠姝锛岀敓鎴.s镄勬眹缂栫▼搴忋备緥濡傦细gcc -S -o hello.s hello.c
3銆佹眹缂
杩欎竴阒舵典娇鐢ㄦ眹缂栧櫒瀵规眹缂栦唬镰佽繘琛屽勭悊锛岀敓鎴愭満鍣ㄨ瑷浠g爜锛屼缭瀛桦湪钖庣紑涓.o镄勭洰镙囨枃浠朵腑銆
褰撶▼搴忕敱澶氢釜浠g爜鏂囦欢鏋勬垚镞讹纴姣忎釜鏂囦欢閮借佸厛瀹屾垚姹囩紪宸ヤ綔锛岀敓鎴.o鐩镙囨枃浠跺悗锛屾墠鑳借繘鍏ヤ笅涓姝ョ殑阈炬帴宸ヤ綔銆
鐩镙囨枃浠跺凡缁忔槸链缁堢▼搴忕殑镆愪竴閮ㄥ垎浜嗭纴鍙鏄鍦ㄩ摼鎺ヤ箣鍓嶈缮涓嶈兘镓ц屻傚彲浠ラ氲繃-c阃夐”鐢熸垚鐩镙囨枃浠讹细gcc -c -o hello.o hello.c
4銆侀摼鎺
缁忚繃姹囩紪浠ュ悗镄勬満鍣ㄤ唬镰佽缮涓嶈兘鐩存帴杩愯屻备负浜嗕娇镎崭綔绯荤粺鑳藉熸g‘锷犺浇鍙镓ц屾枃浠讹纴鏂囦欢涓蹇呴’鍖呭惈锲哄畾镙煎纺镄勪俊鎭澶达纴杩桦繀椤讳笌绯荤粺鎻愪緵镄勫惎锷ㄤ唬镰侀摼鎺ヨ捣𨱒ユ墠鑳芥e父杩愯岋纴杩欎簺宸ヤ綔閮芥槸鐢遍摼鎺ュ櫒𨱒ュ畬鎴愮殑銆俫cc -o hello hello.c
5銆佽繍琛岋细镓ц.EXE鏂囦欢锛屽缑鍒拌繍琛岀粨鏋溿