ÓÃGCC¿ª·¢linuxÓ¦ÓóÌÐò£¨¾µä£©
ÓÃGCC¿ª·¢linuxÓ¦ÓóÌÐò£¨¾µä£©
2009Äê11ÔÂ01ÈÕ ÐÇÆÚÈÕ 23:58
×÷Ϊ×ÔÓÉÈí¼þµÄÆì½¢ÏîÄ¿£¬Richard Stallman ÔÚÊ®¶àÄêǰ¸Õ¿ªÊ¼Ð´×÷ GCC µÄʱºò£¬»¹Ö»ÊǰÑËüµ±×÷½ö½öÒ»¸ö C³ÌÐòÓïÑԵıàÒëÆ÷£»GCC µÄÒâ˼ҲֻÊÇ GNU C Compiler ¶øÒÑ¡£¾¹ýÁËÕâô¶àÄêµÄ·¢Õ¹£¬GCC ÒѾ²»½ö½öÄÜÖ§³Ö CÓïÑÔ£»ËüÏÖÔÚ»¹Ö§³Ö Ada ÓïÑÔ¡¢C++ ÓïÑÔ¡¢Java ÓïÑÔ¡¢Objective C ÓïÑÔ¡¢PascalÓïÑÔ¡¢COBOLÓïÑÔ£¬ÒÔ¼°Ö§³Öº¯Êýʽ±à³ÌºÍÂß¼±à³ÌµÄ Mercury ÓïÑÔ£¬µÈµÈ¡£¶ø GCC Ò²²»ÔÙµ¥Ö»ÊÇ GNU CÓïÑÔ±àÒëÆ÷µÄÒâ˼ÁË£¬¶øÊDZä³ÉÁË GNU Compiler Collection Ò²¼´ÊÇ GNU ±àÒëÆ÷¼Ò×åµÄÒâ˼ÁË¡£ÁíÒ»·½Ã棬˵µ½ GCC
¶ÔÓÚ²Ù×÷ϵͳƽ̨¼°Ó²¼þƽ̨֧³Ö£¬¸ÅÀ¨ÆðÀ´¾ÍÊÇÒ»¾ä»°£ºÎÞËù²»ÔÚ¡£
1¡¡³ÌÐò±àÒë¹ý³Ì
GCCÊÇCUI(ÃüÁîÐн»»¥½çÃæ)³ÌÐò£¬ÕâÈÃÐí¶à´ÓWindows×ß³öÀ´
GuierÃǸе½¿Ö¾å¡£Êµ¼ÊÉÏËüÒ²ÓÐÐí¶àǰ¶Ë´°¿Ú½çÃæ£¬WindowsÏÂÓÐDev
C++£¬LinuxÏÂÆ©ÈçKDevelopment£¬µ«¼ÈȻѡÔñÁËGCC»¹Êǽ«CUL½øÐе½µ×°É£¬Ã»ÓÐÄÑÓë²»ÄѵÄÎÊÌ⣬ֻÓÐ×öÓë²»×öµÄÎÊÌ⣡
ÏÂÃæ»ùÓÚÒ»¸ö¾ßÌå¶øÎ¢µÄ³ÌÐò£¬ÌÖÂÛGCCµÄʹÓá£Ê¾Àý³ÌÐòÈçÏ£º
//test.c#include int main(void){ printf("Hello World!\n"); return 0;}
Õâ¸ö³ÌÐò£¬Ò»²½µ½Î»µÄ±àÒëÖ¸ÁîÊÇ:
gcc test.c -o test
Êä³öµÄ¿ÉÖ´ÐÐÎļþÃûΪtest£¬WindowsÓû§¿ÉÄÜ»á¸Ðµ½Ææ¹Ö£¬¿ÉÖ´ÐÐÎļþÃ÷ÔõôûÓÐ.exeÀ©Õ¹ÃûÄØ£¿LinuxϵͳÖУ¬ÎļþÀàÐͲ¢·ÇÒÔÀ©Õ¹Ãûʶ±ðµÄ£¡
ʵÖÊÉÏ£¬ÉÏÊö±àÒë¹ý³ÌÊÇ·ÖΪËĸö½×¶Î½øÐе쬼´Ô¤´¦Àí(Ò²³ÆÔ¤±àÒ룬Preprocessing)¡¢±àÒë(Compilation)¡¢»ã±à (Assembly)ºÍÁ¬½Ó(Linking)¡£
1.1¡¡Ô¤´¦Àí¡¡¡¡ÔËÐÐÔ¤´¦ÀíÃüÁ
gcc -E test.c -o test.i¡¡»ò¡¡gcc -E test.c
¿É
ÒÔÊä³ötest.iÎļþÖдæ·Å×Åtest.c¾Ô¤´¦ÀíÖ®ºóµÄ´úÂë¡£´ò¿ªtest.iÎļþ£¬¿´Ò»¿´£¬¾ÍÃ÷°×ÁË¡£ºóÃæÄÇÌõÖ¸ÁÊÇÖ±½ÓÔÚÃüÁîÐд°¿ÚÖÐÊä³öÔ¤´¦
ÀíºóµÄ´úÂ룬¶ø²»ÊÇÒÔÎļþ×÷ΪÊä³öÉ豸¡£gccµÄ-EÑ¡Ï¿ÉÒÔÈñàÒëÆ÷ÔÚÔ¤´¦ÀíºóÍ£Ö¹£¬²¢Êä³öÔ¤´¦Àí½á¹û¡£ÔÚ±¾ÀýÖУ¬Ô¤´¦Àí½á¹û¾ÍÊǽ«stdio.h
ÎļþÖеÄÄÚÈݲåÈëµ½test.cÖÐÁË¡£
gccµÄ-oÑ¡ÏÓÃÓÚÊä³ö´¦Àí½á¹ûµ½ÎļþÖС£
1.2¡¡±àÒëΪ»ã±à´úÂë¡¡¡¡Ô¤´¦ÀíÖ®ºó£¬¿ÉÖ±½Ó¶ÔÉú³ÉµÄtest.iÎļþ±àÒ룬Éú³É»ã±à´úÂ룺
gcc -S test.i -o test.s
gccµÄ-SÑ¡Ï±íʾÔÚ³ÌÐò±àÒëÆÚ¼ä£¬ÔÚÉú³É»ã±à´úÂëºó£¬Í£Ö¹£¬-oÊä³ö»ã±à´úÂëÎļþ¡£
Éú³ÉµÄ»ã±à´úÂëÈçÏ£º
.file "test.c" .section .rodata .align 4.LC0: .string "Hello World,Linu
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
ÔÚ/etc/rc.d/rc.localÎļþÀïÌí¼ÓÒ»ÐÐÃüÁî:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
ÕâÑùÿ´ÎÆô¶¯ÏµÍ³ºó¶¼½«×Ô¶¯ÔËÐУ¬¿ÉÒÔ×èÖ¹ÄãµÄϵͳÏìÓ¦ÈκδÓÍⲿ/ÄÚ²¿À´µÄpingÇëÇó£¬
¾ÍûÓÐÈËÄÜpingͨÄãµÄ»úÆ÷²¢ÊÕµ½ÏìÓ¦£¬¿ÉÒÔ´ó´óÔöǿվµãºÍϵͳµÄ°²È«ÐÔ¡£ ......
route add -net 10.10.101.0 netmask 255.255.255.0 gw 10.10.100.1
cat route-eth0
10.10.101.0/24 via 10.10.100.1 dev eth0
/etc/rc.d/init.d/network restart
netstat -r
[root@1314it network-scripts]# cat /etc/sysconfig/network-scripts/route-eth0
123.123.123.0 via 156.156.156.156 de ......
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......