编译时加入命令
① 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镓ц岀敓鎴愮殑鍙镓ц屾枃浠秇ello② gcc编译命令中-lm是什么意思
链接名称为libm.o或者libm.so的库文件。
③ Buildroot常用编译命令
在使用Buildroot进行嵌入式系统开发时,熟练掌握其常用编译命令是十分关键的。以下是Buildroot的常见编译配置命令详解。
首先,图形化配置可以使用图形界面工具来快速设置。通过启动图形配置环境,用户可以直观地调整内核、Busybox、uboot等组件的配置选项。
内核配置时,使用`make menuconfig`命令进入内核配置界面。这里,用户可以详细调整内核模块、启动参数等设置,以适应不同应用需求。
Busybox配置通过`make menuconfig`进入配置界面,用户可以自定义Busybox的组件,如选择是否包含shell、压缩工具、网络支持等功能。
对于uboot配置,同样使用`make menuconfig`命令启动配置界面。这里,用户可以自定义启动引导参数、设备检测、内存映射等关键设置。
单独编译模块时,用户可以使用`make -C moles`命令,指定模块目录进行模块编译。
遇到编译失败时,如遇到GitHub链接无法访问,解决方法是在开发机上设置代理。例如,使用局域网中的Windows电脑运行梯子工具,并在开发机中设置相应的代理配置,如`http_proxy=http://梯子IP:端口号`。
烧录SD卡后,将根分区扩充至最大,通过在烧录工具中设置根分区大小至SD卡的最大容量实现。这在系统运行过程中,能提供更多的存储空间,提高系统性能和稳定性。