linux gcc ÃüÁî
1£¬-c ±àÒëÄ¿±ê´úÂë
gcc -o hello.o -c hello.c //-o Ö»ÊÇÖ¸¶¨Éú³ÉÄ¿±êÎļþÃû
»ò
gcc -c hello.c
¶¼Éú³Éhello.oÎļþ£¬²»¿ÉÒÔÖ´ÐС£
gcc -o hello hello.o
ÓÃÄ¿±êÎļþÉú³Éhello¿ÉÖ´ÐÐÎļþ¡£
gcc -o hello hello.c
ÓÃÔ´ÎļþÖ±½ÓÉú³Éhello¿ÉÖ´ÐгÌÐò¡£
2£¬
-fpic»ò-fPIC ²úÉúλÖÃÎ޹صÄÄ¿±ê´úÂ룬¿ÉÓÃÓÚ¹¹Ôì¹²Ïíº¯Êý¿â¡£
¡¡¡¡# gcc -fPIC -c message.c
¡¡¡¡“PIC”ÃüÁîÐбê¼Ç¸æËß GCC
²úÉúµÄ´úÂë²»Òª°üº¬¶Ôº¯ÊýºÍ±äÁ¿¾ßÌåÄÚ´æÎ»ÖõÄÒýÓã¬ÕâÊÇÒòΪÏÖÔÚ»¹ÎÞ·¨ÖªµÀ
ʹÓøÃÏûÏ¢´úÂëµÄÓ¦ÓóÌÐò»á½«ËüÁ¬½Óµ½ÄÄÒ»¶ÎÄÚ´æµØÖ·¿Õ¼ä¡£ÕâÑù±àÒëÊä³öµÄÎÄ
¼þ message.o ¿ÉÒÔ±»ÓÃÓÚ½¨Á¢
¹²Ïíº¯Êý¿â¡£
¡¡¡¡# gcc -shared -o libmessage.so message.o
¡¡¡¡½«ÉÏÃæµÄmian.cʹÓù²Ïí¿âº¯Êýligmessage.so±àÒ룺
¡¡¡¡# gcc -o goodbye -lmessage -L. message.o
3£¬gccµÄ³£ÓÃÁ¬½ÓÑ¡ÏîÓÐÏÂÁм¸¸ö£º
¡¡¡¡-Ldir ½«dirĿ¼¼Óµ½ËÑѰ-lÑ¡ÏîÖ¸¶¨µÄº¯Êý¿âÎļþµÄĿ¼ÁбíÖÐÈ¥£¬²¢ÓÅÏÈÓÚgccȱʡµÄËÑË÷Ŀ¼¡£ÔÚÓжà¸ö-L
Ñ¡ÏîµÄÇé¿öÏ£¬°´ÃüÁîÐÐÉÏ-LÑ¡ÏîµÄǰºó˳ÐòËÑË÷¡£dir¿ÉʹÓÃÏà¶Ô·¾¶¡£Èç-L../libµÈ¡£
¡¡¡¡-lname ÔÚÁ¬½ÓʱʹÓú¯Êý¿âlibname.a£¬Á¬½Ó³ÌÐòÔÚ-LdirÑ¡ÏîÖ¸¶¨µÄĿ¼ÏºÍ/lib£¬/usr/libĿ¼ÏÂѰÕҸÿâÎļþ¡£ÔÚûÓÐʹÓÃ-staticÑ¡Ïîʱ£¬Èç¹û·¢ÏÖ¹²Ïíº¯Êý¿âlibname.so£¬ÔòʹÓÃlibname.so½øÐж¯Ì¬Á¬½Ó¡£
¡¡¡¡-static ½ûÖ¹Óë¹²Ïíº¯Êý¿âÁ¬½Ó¡£
¡¡¡¡-shared ¾¡Á¿Óë¹²Ïíº¯Êý¿âÁ¬½Ó¡£
4£¬±àÒëÑ¡Ïî˳Ðò
$ gcc test.o -L. -lhello -o test
×¢Òâ: $gcc -L. -lhello test.o -o test »á³ö´í£¡¡£
ÔÒòÊÇ: -lÊÇÁ´½ÓÆ÷Ñ¡Ï±ØÐëÒª·Åµ½±»±àÒëÎļþµÄºóÃæ¡£ ËùÒÔÉÏÃæµÄÃüÁîÖÐ-lhelloÒ»¶¨Òª·Åµ½ test.oµÄºóÃæ¡£
Ïà¹ØÎĵµ£º
ÓÐʱsystem.mapÎļþ¿ÉÒÔ°ïÖúÎÒÃÇÀí½âÄں˱àÒ룬Ëü¼Ç¼ÁËËùÓдúÂëµÄÔËÐеØÖ·¡£
system.mapÄÚÈݸñʽΪ£ºÏßÐÔµØÖ· ÀàÐÍ ·ûºÅ
¾ßÌåÄÚÈÝÈçÏ£º
00100000 A phys_startup_32
c0100000 T startup_32
c0100000 A _text &nbs ......
1 ǰÑÔ
Ðí¶àÈËÔÚ·ÖÎölinux´úÂëʱ¶ÔÍøÂ粿·Ö£¨Ö÷ÒªÊÇsrc/linux/net£¬src/linux/include/net¼°src/linux/include/linuxĿ¼ÏµÄÎļþ£©±È½Ï¸ÐÐËȤ£¬È·Êµ£¬¾¡¹ÜÒѾ´ÓÊé±¾ÉÏѧµ½ÁË´óÁ¿µÄTCP/IPÔÀí£¬²»¶ÁÔ´ÂëµÄ»°£¬Í·ÄÔÖл¹Êǽ¨Á¢²»Æð¾ßÌåµÄÓ¡Ïó¡£¶ø·ÖÎöÕⲿ·Ö´úÂëµÄÒ»¸öÎÊÌâ±ãÊÇ´úÂëÖÚ¶à¶ø×ÊÁϺÜÉÙ¡£ÕâÆªÎÄÕµÄÄ¿µÄ¾ÍÊǹ´ÀÕ³ö ......
ת×Ô£ºhttp://blog.csdn.net/rstevens/archive/2007/04/10/1559289.aspx
1.
ÍøÂç×Óϵͳ
1.1.
ÍøÂç×Óϵͳ¸ÅÊö
Linux
ÄÚºËÖУ¬ÓëÍøÂçÏà¹ØµÄ´úÂëÊÇÒ»¸öÏà¶Ô¶ÀÁ¢µÄ×Óϵͳ£ ......
¿âÓж¯Ì¬Ó뾲̬Á½ÖÖ£¬¶¯Ì¬Í¨³£ÓÃ.soΪºó׺£¬¾²Ì¬ÓÃ.aΪºó׺¡£ÀýÈ磺libhello.so libhello.a
1£¬Éú³É¿â
µÚÒ»²½Òª°ÑÔ´´úÂë±àÒï³ÉÄ¿±ê´úÂë¡£ÒÔÏÂÃæµÄ´úÂëΪÀý£¬Éú³ÉÉÏÃæÓõ½µÄhello¿â£º
/* hello.c * ......
ÏȽéÉÜÒ»ÏÂÇé¿ö£¬·þÎñÆ÷AºÍ·þÎñÆ÷B¶¼ÊÇCentOS 4.6µÄϵͳ£¬ÏÖÔÚÒª×öHA
Cluster£¬ÎªÁ˱ÜÃâÁÑÄԵķ¢Éú£¬ÒªÌá¸ßÐÄÌøÁ´Â·µÄ¿É¿¿ÐÔ£¬ÏÂͼÊÇÏÖʱµÄÁ¬½ÓÇé¿ö£¬·þÎñÆ÷AµÄeth2¡¢eth3·Ö±ðºÍ·þÎñÆ÷BµÄeth2¡¢eth3
ÏàÁ¬£¨Ã»ÓÐ˳Ðò¹ØÏµ£©£¬ËùÓÐÍø¿¨¶¼ÊÇǧÕ×Íø¿¨£¬ÍØÆËͼÈçÏÂËùʾ£º
ÔÚ½éÉÜÒ»ÆðÓ²¼þÇé¿ö£¬·þÎñÆ÷AÊÇһ̨HP DL380
G5£¬ ......