linux編譯多文件c
1. 到底怎麼在linux里編寫c程序啊
在linux下通常使用gedit或vim直接編寫.c程序,然後通過gcc指令編譯。以Ubuntu系統為例,詳細過程如下:
1、進入桌面Temp文件夾
2. 求助:在linux下,我有兩個.C源文件,怎麼編譯到一起
編譯沒問題,但不能連接成一個程序,否則就會出現 main() 函數的重復定義錯誤
最簡單的辦法是,寫一個 shell 腳本 c,內容是:
./b
./a
chmod a+x c
3. linux緙栬瘧c璇璦鍛戒護linux緙栬瘧c璇璦
鎬庝箞鍦╨inux涓緙栧啓c璇璦紼嬪簭錛
鍏堝湪緇堢涓杈撳叆vimtest.c鍥炶濺榪涘叆vim緙栬緫鍣錛屽啀鎸変竴涓媋閿錛岃繘鍏ョ紪杈戠姸鎬侊紝鐒跺悗杈撳叆濡備笅C璇璦璇鍙ワ細
#includestdio.h>intmain(){printf(helloworld!n);}鍒版わ紝鎸塭sc閿閫鍑虹紪杈戠姸鎬侊紝鍐嶈緭鍏ヤ竴涓鍐掑彿(shift+鍐掑彿鍒嗗彿閭d釜閿)錛岀揣璺熺潃杈撳叆wq錛屽嵆杈撳叆:wq鎸夊洖杞︼紝鍗蟲帹鍑簐im緙栬緫鍣ㄥ洖鍒扮粓絝鍛戒護紿楀彛錛堢被浼紉p鐨勫懡浠ゆ彁紺虹︼級錛屼箣鍚庤緭鍏gcctest.c錛岃繖姝ユ槸緙栬瘧./a.out錛岃繖鏄鎵ц岋紝灝嗕細杈撳嚭helloworld錛佸埌姝ょ粨鏉燂紝鍓嶆彁鏄浣犲凡緇忓畨瑁単cc
DEVC++鍜孷C++緙栬瘧C璇璦鐨勫尯鍒錛
Devc++鍜孷isualc++鏄涓や釜涓嶅悓鐨勭紪紼嬮泦鎴愮幆澧冭屽凡銆侰++鏄涓縐嶈璦錛屽畠鏄鏈夋爣鍑嗙殑銆俈isualC++鐨勪功璁茬殑涓鑸閮芥槸絎﹀悎鏍囧噯鐨勩備綘璁ょ湡瀛︿笉浼氭湁閿欍
DevC++緙栬瘧鍣ㄦ槸寮婧愮殑錛屽畠浣跨敤MingW32/GCC緙栬瘧鍣錛岄伒寰狢/C++鏍囧噯銆傚疄闄呬笂鐩鍓嶇殑DEVCPP鐨勫簲鐢ㄥ苟闈炲俈C涓鏍峰箍娉涗絾瀹冩槸鐩鍓嶄俊鎮瀛︾珵璧涗嬌鐢ㄧ殑C璇璦緙栬瘧鍣錛坓cc錛夊叧浜庝笓闂ㄥ︿範DEVCPP鐨勪功綾嶅熀鏈娌℃湁澶ч儴鍒嗕俊鎮瀛︾珵璧涗功綾嶉兘鏄銆婃暟鎹緇撴瀯銆嬩笌銆婄畻娉曘嬪苟娌℃湁鏄庣『鎸囧畾浣跨敤鐨勭紪璇戝櫒鑰屽湪絝炶禌涓璂EVCPP琚騫挎硾搴旂敤(鍙浠ュ湪LINUX鐜澧冧笅浣跨敤)
VisualC++鏄寰杞寮鍙戠殑windows涓嬬殑鍙瑙嗗寲C++緙栬瘧鍣ㄣ
DEVC++浣跨敤欏葷煡錛氬傛灉浣犲厛鍓嶇敤榪嘥C榪欎釜緙栬瘧鍣錛屼嬌鐢―EVC++緙栧啓紼嬪簭榪愯屽悗紿楀彛灝變細闂涓涓嬪氨娌℃湁浜嗭紝瑕佹兂鐪嬪埌榪愯屽緱鍒扮殑緇撴灉錛屽氨蹇呴』娉ㄦ剰濡備笅浜嬮」錛
1.鍦ㄧ▼搴忕殑鏈鍚庯紙鍦╮eturn璇鍙ュ墠錛夊姞getch();(鍙閫傜敤浜嶤紼嬪簭)
2.鍦ㄧ▼搴忕殑鏈鍚庯紙鍦╮eturn璇鍙ュ墠錛夊姞getchar();(閫傜敤浜嶤/C++)
3.鍦ㄧ▼搴忕殑鏈鍚庯紙鍦╮eturn璇鍙ュ墠錛夊姞system("pause")璇鍙ワ紝浣跨▼搴忚繍琛屽悗鏆傚仠.(閫傜敤浜嶤/C++)
濡傛灉璋冭瘯涓嶆垚鍔燂紝涓嶆柇鍦板嚭鐜板伐紼嬫湭緙栬瘧錛岃峰湪宸ュ叿-->緙栬瘧閫夐」-->緙栬瘧鏃跺姞鍏ヤ互涓嬪懡浠わ紙鎵撳嬀錛夊姞鍏-g
DEVC++鐨勬墿灞曞悕錛
涓鑸鏈変袱縐嶅艦寮忥細*.c鍜*.cpp
.c鏄疌璇璦鐨勬枃浠舵墿灞曞悕錛.cpp鏄痗++鐨勬枃浠舵墿灞曞悕銆
涓よ呮病鏈夊緢澶у尯鍒錛屽氨鍍忎綘瀛︿範浜嗚嫳璇錛屼絾鏄緹庡浗鍜岃嫳鍥界殑鑻辮鏈夊皬灝忎笉鍚屼竴鏍鳳紝
linux濡備綍緙栬瘧榪愯宼est.c錛
鎴戠殑錛歡cc-ctest.c-oa.out緙栬瘧
./a.out榪愯
cmd鑳借繍琛宑璇璦鍚楋紵
鑳藉熻繍琛岋紝灝辨槸闇瑕佷笅杞戒竴涓狢/C++緙栬瘧鍣錛岀劧鍚庨厤緗涓涓嬬幆澧冨彉閲忥紝涔嬪悗灝辮兘鍦╟md紿楀彛涓緙栬瘧榪愯孋紼嬪簭浜嗭紝鏁翠釜榪囩▼鍏跺疄鍜孡inux鐜澧冧笅緙栬瘧榪愯孋璇璦紼嬪簭宸涓嶅氥傚綋鐒訛紝鍦–MD紿楀彛緙栬瘧銆佽繍琛岀▼搴忔槸涓縐嶆瘮杈冭佺殑鏂規硶浜嗭紝鐜板備粖鏈夊緢澶氱殑IDE鍙浠ヤ緵閫夋嫨銆
鎬庝箞鐢ㄦ爲鑾撴淳緙栬瘧C璇璦紼嬪簭錛
RaspberryPi(涓鏂囧悕涓衡滄爲鑾撴淳鈥,綆鍐欎負RPi錛屾垨鑰匯asPi/RPi)鏄涓哄︾敓璁$畻鏈虹紪紼嬫暀鑲茶岃捐★紝鍙鏈変俊鐢ㄥ崱澶у皬鐨勫崱鐗囧紡鐢佃剳錛屽叾緋葷粺鍩轟簬Linux銆傝嚜闂涓栦互鏉ワ紝鍙椾紬澶氳$畻鏈哄彂鐑у弸鍜屽壋瀹㈢殑榪芥崸錛屾浘緇忎竴鈥滄淳鈥濋毦奼傘傚埆鐪嬪叾澶栬〃鈥滃▏灝忊濓紝鍐呪滃績鈥濆嵈寰堝己澶э紝瑙嗛戙侀煶棰戠瓑鍔熻兘閫氶氱殕鏈夛紝鍙璋撴槸鈥滈夯闆鉶藉皬錛屼簲鑴忎勘鍏ㄢ濄傛爲鑾撴淳瀹氫綅浜庡︿範銆傚彲浠ュ︽搷浣滅郴緇燂紝緙栫▼錛屼篃鍙浠ュ︿範宓屽叆緙栫▼錛屽伐涓氭帶鍒訛紝浜哄伐鏅鴻兘絳夌瓑銆傚畠姣斿叾瀹冪殑鍑犳炬瘮濡俛rio瑕佸叏闈浜涖傚綋鐒跺湪鏌愪簺鏂歸潰涔熷急浜涖傚浗澶栨妸鏍戣帗媧劇殑鍔熻兘鍙戞尌宸涓嶅氬埌鏋佽嚧銆傚嚑涔庢墍鏈夌殑棰嗗煙閮芥湁鏍戣帗媧劇殑韜褰便備粠騫惰岃$畻錛屽埌鏈哄櫒浜猴紝鍒3D鎵撳嵃錛屾帰緔㈠お絀猴紝瀹跺涵闃茬洍錛岃礬鐢卞櫒錛孭AD閮芥湁銆傚浗鍐呬笌鍥藉栫殑鐢ㄦ硶鍩烘湰鐩稿悓銆傚彧鏄鍥戒漢鏇村湪浜庡跺涵鐢ㄩ斻傞兘鏄浜涘姩鎵嬭兘鍔涘己鐨勪漢鐜╃殑灝忕帺鍏楓傗滄爲鑾撴淳鈥濈殑緋葷粺鏄鍩轟簬Linux銆傚洜姝ゆ爲鑾撴淳閲岀殑緙栫▼瀹屽叏鍜孡inux鐩稿悓錛屼嬌鐢↙inux涓嬬殑緙栬瘧鍣ㄧ紪璇戠▼搴忓苟榪愯屻傛爲鑾撴淳涓嶈兘榪涜寃indows涓嬬殑緙栫▼銆備緥紼嬶細//鍦╤ome/pi/鏂囦歡澶逛笅寤虹珛涓涓
hello.c
鏂囦歡錛岃緭鍏ヤ互涓嬪唴瀹#include-ohello瀹炵幇瀵hello.c
鐨勭紪璇戝拰榪炴帴//./hello鎵ц岀敓鎴愮殑鍙鎵ц屾枃浠秇ello4. 怎麼把Linux 多個C文件編譯成一個ko文件
從網上找一個編譯模塊的Makefile,放到你的模塊的文件夾裡面,然後修改裡面的路徑指定編譯的內核,以及目標名稱。make就可以了。