LinuxÏÂGCC±àÒëµÄËĸö¹ý³Ì
3ks:http://boz8.com/house/article.aspx?aid=112
ÔÚLinuxϽøÐÐCÓïÑÔ±à³Ì£¬±ØÈ»Òª²ÉÓÃGNU GCCÀ´±àÒëCÔ´´úÂëÉú³É¿ÉÖ´ÐгÌÐò¡£
Ò»¡¢GCC¿ìËÙÈëÃÅ
GccÖ¸ÁîµÄÒ»°ã¸ñʽΪ£ºGcc [Ñ¡Ïî] Òª±àÒëµÄÎļþ [Ñ¡Ïî] [Ä¿±êÎļþ]
ÆäÖУ¬Ä¿±êÎļþ¿Éȱʡ£¬GccĬÈÏÉú³É¿ÉÖ´ÐеÄÎļþÃûΪ£º±àÒëÎļþ.out
ÎÒÃÇÀ´¿´Ò»Ï¾µäÈëÃųÌÐò"Hello World£¡"
# vi hello.c
#include <stdlib.h>
#include <stdio.h>
void main(void)
{
printf("hello world!\r\n");
}
ÓÃgcc±àÒë³ÉÖ´ÐгÌÐò¡£
#gcc hello.c
¸ÃÃüÁhello.cÖ±½ÓÉú³É×îÖÕ¶þ½øÖÆ¿ÉÖ´ÐгÌÐòa.out
ÕâÌõÃüÁîÒþº¬Ö´ÐÐÁË£¨1£©Ô¤´¦Àí¡¢£¨2£©»ã±à¡¢(3)±àÒë²¢(4)Á´½ÓÐγÉ×îÖյĶþ½øÖÆ¿ÉÖ´ÐгÌÐò¡£ÕâÀïδָ¶¨Êä³öÎļþ£¬Ä¬ÈÏÊä³öΪa.out¡£
ÈçºÎÒªÖ¸¶¨×îÖÕ¶þ½øÖÆ¿ÉÖ´ÐгÌÐòÃû£¬ÄÇôÓÃ-oÑ¡ÏîÀ´Ö¸¶¨Ãû³Æ¡£±ÈÈçÐèÒªÉú³ÉÖ´ÐгÌÐòhello.exe
ÄÇô
#gcc hello.c -o hello.exe
¶þ¡¢GCCµÄÃüÁîÆÊÎö--ËIJ½×ß
´ÓÉÏÃæÎÒÃÇÖªµÀGCC±àÒëÔ´´úÂëÉú³É×îÖÕ¿ÉÖ´ÐеĶþ½øÖƳÌÐò£¬GCCºǫ́Òþº¬Ö´ÐÐÁËËĸö½×¶Î²½Öè¡£
GCC±àÒëCÔ´ÂëÓÐËĸö²½Ö裺
Ô¤´¦Àí-----> ±àÒë ----> »ã±à ----> Á´½Ó
ÏÖÔÚÎÒÃǾÍÓÃGCCµÄÃüÁîÑ¡ÏîÀ´Öð¸öÆÊÎöGCC¹ý³Ì¡£
1£©Ô¤´¦Àí(Pre-processing)
Ôڸý׶Σ¬±àÒëÆ÷½«CÔ´´úÂëÖеİüº¬µÄÍ·ÎļþÈçstdio.h±àÒë½øÀ´£¬Óû§¿ÉÒÔʹÓÃgccµÄÑ¡Ïî”-E”½øÐв鿴¡£
Ó÷¨£º#gcc -E hello.c -o hello.i
×÷Ó㺽«hello.cÔ¤´¦ÀíÊä³öhello.iÎļþ¡£
[root]# gcc -E hello.c -o hello.i
[root]# ls
hello.c hello.i
[root]# vi hello.i
# 1 "hello.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "hello.c"
# 1 "/usr/include/stdlib.h" 1 3
# 25 "/usr/include/stdlib.h" 3
# 1 "/usr/include/features.h" 1 3
# 291 "/usr/include/features.h" 3
# 1 "/usr/include/sys/cdefs.h" 1 3
# 292 "/usr/include/features.h" 2 3
# 314 "/usr/include/features.h" 3
# 1 "/usr/include/gnu/stubs.h" 1 3
# 315 "/usr/include/features.h" 2 3
# 26 "/usr/include/stdlib.h" 2 3
# 3 "hello.c" 2
void main(void)
{
printf("hello world!\r\n");
}
2)±àÒë½×¶Î(Compiling)
µÚ¶þ²½½øÐеÄÊDZàÒë½×¶Î£¬ÔÚÕâ¸ö½×¶ÎÖУ¬GccÊ×ÏÈÒª¼ì²é´úÂëµÄ¹æ·¶ÐÔ¡¢ÊÇ·ñÓÐÓï·¨´íÎóµÈ£¬ÒÔÈ·¶¨´úÂëµÄʵ¼ÊÒª×öµÄ¹¤×÷£¬ÔÚ¼ì²éÎÞÎóºó£¬Gcc°Ñ´úÂë·Òë³É»ã±àÓïÑÔ¡£Óû§¿ÉÒÔʹÓÔ-S”Ñ
Ïà¹ØÎĵµ£º
STAT(¸ÃÐг̵Ä״̬)
D: ²»¿ÉÓÃÐźÅÖжϵÄ˯Ãß״̬
R: ÕýÔÚÖ´Ðлò´¦ÓÚÖ´ÐжÓÁÐÖÐ
S: ¿ÉÒÔÓÃÐźÅÖжϵÄ˯Ãß״̬
T: ÔÝÍ£Ö´ÐÐ
Z: ½©ËÀ״̬
££££££££££££££££££££££££££££££££££££
W: ûÓÐ×ã¹»µÄ¼ÇÒäÌå·ÖÒ³¿É·ÖÅä
<: ¸ßÓÅÏÈÐòµÄÐгÌ
N: µÍÓÅÏÈÐòµÄÐгÌ&nbs ......
ÔÚÏò´ó¼ÒÏêϸ½éÉÜLinux mysql֮ǰ£¬Ê×ÏÈÈôó¼ÒÁ˽âÏÂLinux mysql£¬È»ºóÈ«Ãæ½éÉÜLinux mysql£¬Ï£Íû¶Ô´ó¼ÒÓÐÓá£
1. Linux mysql°²×°£º
$ yum install mysql-server
2. Linux mysqlÐÞ¸ÄrootÃÜÂ룺
$ mysqladmin -u root password
your_new_passwd
3. Æô¶¯Linux mysql·þÎñ
$ /etc/init.d/mysqld start
4. Ìí¼ÓΪϵͳ· ......
¹þÏ£±í£¨Hashtable£©ÓÖ³ÆÎª“É¢ÖÔ£¬HashtableÊÇ»á¸ù¾ÝË÷Òý¼üµÄ¹þÏ£³ÌÐò´úÂë×éÖ¯³ÉµÄË÷Òý¼ü£¨Key£©ºÍÖµ£¨Value£©Åä¶ÔµÄ¼¯ºÏ¡£Hashtable ¶ÔÏóÊÇÓɰüº¬¼¯ºÏÖÐÔªËØµÄ¹þϣͰ£¨Bucket£©Ëù×é³ÉµÄ¡£¶øBucketÊÇHashtableÄÚÔªËØµÄÐéÄâ×ÓȺ×飬¿ÉÒÔÈô󲿷ּ¯ºÏÖеÄËÑѰºÍ»ñÈ¡¹¤×÷¸üÈÝÒס¢¸ü¿ìËÙ¡£
¹þÏ£º¯ ......
Ŀ ¼
Çý¶¯
I/O¶Ë¿Ú
from smth
»ù±¾½á¹¹
Çý¶¯³ÌÐò
¾ßÌåʵÏÖ
PCI
loopback
Sis 900
ISA×ÜÏßDMAµÄʵÏÖ
Çý¶¯
Linuxϵͳ֧³ÖÈýÖÖÀàÐ͵ÄÓ²¼þÉ豸£º×Ö·ûÉ豸¡¢¿éÉè
< type="text/javascript">< type="text/jav ......
ÓÉÓÚÕâЩÎļþ²»ÊÇÆÕͨµÄÎļþ£¬ËùÒÔÎÒÃDz»ÄÜÓÃ
ANSI C
£¨±ê×¼
C
£©µÄ
fopen
¡¢
fclose
µÈÀ´²Ù×÷Îļþ£¬¶øÓ¦¸ÃʹÓÃϵͳÎļþ
I/O
´¦Àíº¯Êý£¨
open
¡¢
read
¡¢
write
¡¢
lseek
ºÍ
close
£©À´´¦ÀíÕâЩÉ豸Îļþ¡£
ioctl
£¨£©»òÐíÊÇ
Linux
ÏÂ×îÅÓÔӵĺ¯Êý£¬Ëü¿ÉÒÔ¿ØÖƸ÷ÖÖÎļþµÄÊôÐÔ£¬ÔÚ
Linux
ÉùÒôÉ豸± ......