Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÏÂC¿ª·¢——gcc£¬gdbµÄʹÓÃ

Linux
ÏÂ
C
¿ª·¢——
gcc
£¬
gdb
µÄʹÓÃ
 
×÷Õߣº
zccst
ÎÒÃÇѧϰµÄ¹ý³ÌÓ¦¸ÃÊÇÒ»¸ö»ýÀ۵Ĺý³Ì£¬ÓÐÎÞµ½ÓУ¬ÓÖÉÙµ½¶à£¬¶ø²»ÄÜÏñÏÂɽµÄºï×Ó¡£
9
Ô·ݵÄʱºòÊǵÚÒ»´Îϵͳѧϰ
gcc, gdb, makefile
£¨Ïê¼ûÇ°Ãæ²©¿Í£©¡£Èç½ñ×÷ΪǶÈëʽϵͳµÄÒ»¸ö×é³É²¿·Ö£¬¾ö¶¨ÖØÑ§Ò»´Î£¬¸Ð¾õÀí½â¼ÓÉîÁËһЩ¡£
gcc
±àÒëÆ÷
ǰÌá±à¼­¹¤¾ßµÄʹÓãº
vi 
vim 
Emacs
µÈ¡£
ÀíÂÛÆª
gcc
¿ÉÒÔʹ³ÌÐòÔ±Áé»îµØ¿ØÖƱàÒë¹ý³Ì¡£±àÒë¹ý³ÌÒ»°ã¿ÉÒÔ·ÖΪÏÂÃæËĸö½×¶Î£¬Ã¿¸ö½×¶Î·Ö±ðµ÷Óò»Í¬µÄ¹¤¾ß½øÐд¦Àí£¬Èçͼ
9-18
Ëùʾ¡£



















Linux
ϵͳÖпÉÖ´ÐÐÎļþÓÐÁ½ÖÖ¸ñʽ¡£µÚÒ»ÖÖ¸ñʽÊÇ
a.out
¸ñʽ£¬ÕâÖÖ¸ñʽÓÃÓÚÔçÆÚµÄ
Linux
ϵͳÒÔ¼°
Unix
ϵͳµÄԭʼ¸ñʽ¡£
a.out
À´×ÔÓÚ
Unix C
±àÒë³ÌÐòĬÈϵĿÉÖ´ÐÐÎļþÃû¡£µ±Ê¹Óù²Ïí¿âʱ£¬
a.out
¸ñʽ¾Í»á·¢ÉúÎÊÌâ¡£°Ñ
a.out
¸ñʽµ÷ÕûΪ¹²Ïí¿âÊÇÒ»Öַdz£¸´ÔӵIJÙ×÷£¬ÓÉÓÚÕâ¸öÔ­Òò£¬Ò»ÖÖеÄÎļþ¸ñʽ±»ÒýÈë
Unix
ϵͳ
5
µÄµÚËİ汾ºÍ
Solaris
ϵͳÖС£Ëü±»³ÆÎª¿ÉÖ´ÐкÍÁ¬½ÓµÄ¸ñʽ£¨
ELF
£©¡£ÕâÖÖ¸ñʽºÜÈÝÒ×ʵÏÖ¹²Ïí¿â¡£
 
ELF
¸ñʽÒѾ­±»
Linux
ϵͳ×÷Ϊ±ê×¼µÄ¸ñʽ²ÉÓá£
gcc
±àÒë³ÌÐò²úÉúµÄËùÓеĶþ½øÖÆÎļþ¶¼ÊÇ
ELF
¸ñʽµÄÎļþ£¨¼´Ê¹¿ÉÖ´ÐÐÎļþµÄĬÈÏÃûÈÔÈ»ÊÇ
a.out
£©¡£½Ï¾ÉµÄ
a.out
¸ñʽµÄ³ÌÐòÈÔÈ»¿ÉÒÔÔËÐÐÔÚÖ§³Ö
ELF
¸ñʽµÄϵͳÉÏ¡£
×¢£º
GCC
Ö§³ÖÊýÖÖµ÷ÊÔºÍÆÊÎöÑ¡Ïî¡£ÔÚÕâЩѡÏîÀ×î³£ÓõÄÊÇ
-g
ºÍ
-pg
Ñ¡Ïî¡£
 
 
ʵ¼ùƪ
gcc
µÄʹÓøñʽ£º
gcc
[options][filenames]
ÆäÖÐ
filenames
ΪËùÒª±àÒëµÄ³ÌÐòÔ´Îļþ¡£
options
¼ûÏÂÎÄ
gcc
µÄÖ÷Òª²ÎÊý¡£
 
µ±Ê¹ÓÃ
gcc
ʱ£¬
gcc
»áÍê³ÉÔ¤´¦Àí¡¢±àÒë¡¢»ã±àºÍÁ¬½Ó¡£Ç°Èý²½·Ö±ðÉú³ÉÄ¿±êÎļþ£¬Á¬½Óʱ£¬°ÑÉú³ÉµÄÄ¿±êÎļþÁ´½Ó³É¿ÉÖ´ÐÐÎļþ¡£
gcc
¿ÉÒÔÕë¶ÔÖ§³Ö²»Í¬µÄÔ´³ÌÐòÎļþ½øÐв»Í¬´¦Àí£¬Îļþ¸ñʽÒÔÎļþµÄºó׺À´Ê¶±ð¡£
 
vi hello.c
Ò»¡¢³£¼û²½Ö裺
¶ÔÓÚÖ»ÓÐÒ»¸öÔ´ÎļþµÄ¼òµ¥³ÌÐò£¬³£³£Ö»ÓбàÒ룬ÔËÐÐÁ½²½¡£
1
£¬
gcc hello.c -o hello
2
£¬
./hello
 
¶þ¡¢
gcc
±àÒëÁ÷³Ì
gcc and g++
·Ö±ðÊÇ
gnu
µÄ
c & c++
±àÒëÆ÷
gcc/g++
ÔÚÖ´ÐбàÒ빤×÷µÄʱºò£¬×ܹ²ÐèÒª
4
²½
 
hello.c 
(
Ô´Âë

 
1
£¬
hello.i 
Éú³ÉÔ¤´


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

ÔÚlinuxµÄPCÉϹÒÔØjffs2¸ùÎļþϵͳӳÏñ

ÎÒÃÇÔÚµ÷ÊÔÓ²¼þ°åʱ£¬¾­³£ÐèÒª×ö¶à¸öjffs2µÄ¸ùÎļþϵͳӳÏñ£¬ÓÐʱҲҪ¶Ô±ÈÆäËû;¾¶µÃµ½µÄ¿ÉÓõÄjffs2¸ùÎļþϵͳӳÏñ¡£µ«jffs2µÄÎļþϵͳӳÏñ²»Ïó¹âÅ̵ÄÓ³ÏñÎļþÒ»Ñù¿ÉÒÔͨ¹ýloopÉ豸À´¹ÒÔØ£¬×ܲ»¿ÉÄÜÒ»¸ö¸öÉÕ¼µ½Ó²¼þ°åÈ¥¿´°É¡£ ºóÀ´µ½ÍøÉÏgoogleÁËÒ»°Ñ£¬×ó·­ÓÒ·­Ö®ºó×ÜËãÕÒµ½ÁËÒ»¸ö·½·¨¡£ÒòΪjffs2Êǹ¹½¨ÓÚMTDÉ豸ÉϵÄÎļ ......

ǶÈëʽLinux¿ª·¢¼ò½é£¨Ò»£©

        ÔÚ¹ýÈ¥µÄÊ®ÄêÖУ¬Ç¶ÈëʽϵͳµÄ¿ª·¢·¢ÉúÁ˺ܴóµÄ±ä»¯¡£ÒÔǰǶÈëʽÉ豸ÍùÍùÊÇÒ»¸ö¹ÂÁ¢µÄ¡¢×ÊÔ´ÓÐÏÞµÄϵͳ£¬ËüÃÇ×·ÇóµÄÊÇÔÚÓÐÏ޵ļ۸ñÉÏÂú×ãÒ»¶¨µÄ¹¦ÄÜÐÔÒªÇó¡£Í¨³£ËüÃDzÉÓÃÄÇЩ¹¦Äܲ¢²»Ç¿´óµÄCPU£¬ÕâÒ²ÊÇ¿ª·¢Õß²»µÃ²»¾¡¿ÉÄܵØÑ¹ËõǶÈëʽϵͳÐÔÄܵÄÔ­Òò¡£¶ø½ñÌìÈËÃǶÔǶÈëʽÉ豸ÔÚ ......

ÓÃVmware°²×°linuxÌáʾδÕÒµ½ÈκÎÇý¶¯Æ÷

 
screen.width*0.7)
{this.resized=true; this.width=screen.width*0.7; this.alt='Click here
to open new window\nCTRL Mouse wheel to zoom in/out';}"
onmouseover="if(this.width>screen.width*0.7) {this.resized=true;
this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='C ......

linux»ù±¾Çý¶¯ºÍlinux×Ö·ûÉ豸Çý¶¯

 ÏÈÕ³ÌùÒ»¸ölinux×î¼òµ¥µÄÇý¶¯£¬Æäʵ¶ÔÓÚÒ»¸ö´Ó2.4ÍæÉÏÀ´µÄÈËÀ´Ëµ£¬Çý¶¯²»¸´ÔÓ£¬±È½Ï²»Ï°¹ßµÄÊÇÄǸömakefile
Çý¶¯±¾Éí£º
hello.c:
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(vodi){
 &nbs ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ