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”Ñ
Ïà¹ØÎĵµ£º
LinuxÏÂgetch()ºÍgetche()
I would recommend never mixing input techniques in a program. Don't mix fgets() or scanf() with getchar(). Don't mix any standerd C library input function with a non-standard function that bypasses the C stream mechanism, be that getch(), getche(), bioskey(), or anything el ......
¡¾×ª¡¿LinuxÐéÄâ»úÏÂÈçºÎ¹²ÏíADSL²¦ºÅÉÏÍø
2010-01-20 11:55
½ñÌìÔÚvmwareÉÏ×°ÁËÒ»¸öRed Hat Enterprise Linux 5£¬×°ºÃÖ®ºó£¬ÎÒÏëÔÚÐéÄâ»úÉϹ²ÏíÎÒµÄadsl²¦ºÅÉÏÍø£¬ÉèÖùý³ÌÈçÏÂ:
¡¡¡¡1. ÏÈÔÚadslÁ¬½ÓÊôÐÔÉÏÔÊÐí¹²ÏíInternetÁ¬½Ó:
¡¡¡¡2.ÕâÑù×öºó»áµ¯³öÒ»¸ö¶Ô»°¿ò£¬¸æËßÄã»á°Ñ±¾µØÁ¬½ÓµÄipµØ ......
STAT(¸ÃÐг̵Ä״̬)
D: ²»¿ÉÓÃÐźÅÖжϵÄ˯Ãß״̬
R: ÕýÔÚÖ´Ðлò´¦ÓÚÖ´ÐжÓÁÐÖÐ
S: ¿ÉÒÔÓÃÐźÅÖжϵÄ˯Ãß״̬
T: ÔÝÍ£Ö´ÐÐ
Z: ½©ËÀ״̬
££££££££££££££££££££££££££££££££££££
W: ûÓÐ×ã¹»µÄ¼ÇÒäÌå·ÖÒ³¿É·ÖÅä
<: ¸ßÓÅÏÈÐòµÄÐгÌ
N: µÍÓÅÏÈÐòµÄÐгÌ&nbs ......
ÖÆ×÷¿ÉÒÆ¶¯µÄlinuxϵͳ(Ubuntu)
1¡¢¹âÅÌÆô¶¯£¬°²×°¸´ÖƵ½Òƶ¯Ó²ÅÌ£¬½«grub°²×°µ½dev/sda¡£
2¡¢¸´ÖÆÍêºóÖØÆô£¬¹âÅÌÆô¶¯£¬°²×°Æô¶¯½çÃæÊäÈërescue£¬½øÈë¼±¾Èģʽ£¬Ñ¡Ôñ¹ÒÔØ·ÖÇøÊ±£¬Ñ¡ÔñϵͳËùÔÚÓ²Å̺ͷÖÇø¡£
3¡¢ctrl-Alt-F2£¬´ò¿ªÐ´°¿Ú¡£
CODE:mount -tproc proc /target/proc
chroot /target
su
4¡¢nano /etc/mkini ......
ºÍÆäËû²Ù×÷ϵͳһÑù£¬Linux°üº¬½ø³Ìµ÷¶ÈÓë½ø³Ì¼äͨÐÅ(IPC)¡¢ÄÚ´æ¹ÜÀí(MMU)¡¢ÐéÄâÎļþϵͳ(VFS)¡¢ÍøÂç½Ó¿ÚµÈ£¬ÏÂͼ¸ø³öÁËLinuxµÄ×é³É¼°Æä¹ØÏµ£º
LinuxÄÚºËÔ´´úÂë°üÀ¨¶à¸öĿ¼£º
¡¡¡¡£¨1£©arch£º°üÀ¨Ó²¼þÌØ¶¨µÄÄں˴úÂ룬Èçarm¡¢mips¡¢i386µÈ£»
¡¡¡¡£¨2£©drivers£º°üº¬Ó²¼þÇý¶¯´úÂ룬Èçcha ......