GNU/Linuxƽ̨µÄC³ÌÐò¿ª·¢¼°³ÌÐòÔËÐл·¾³
±¾ÎĽéÉÜÔÚGNU/Linux»·¾³ÏÂÒ»¸öC³ÌÐòÓÉÔ´´úÂëµ½³ÌÐò£¬µ½¼ÓÔØÔËÐУ¬×îºóÖÕÖ¹µÄ¹ý³Ì¡£Í¬Ê±ÒԴ˹ý³ÌÎªÔØÌ壬½éÉÜGNU/Linuxƽ̨ÏÂÈí¼þ¿ª·¢¹¤¾ßµÄʹÓá£
±¾ÎÄÒÔÎÒÃÇ×î³£¼ûµÄhello, world!ΪÀý£º
#include <stdio.h>
main ()
{
printf(“hello, world!\n”);
}
C³ÌÐòÉú³É
ÏÂͼÊÇÒ»¸öÓÉCÔ´´úÂëת»¯Îª¿ÉÖ´ÐÐÎļþµÄ¹ý³Ì£º
´úÂë±à¼: ±È½ÏÁ÷ÐÐµÄ±à¼Æ÷ÊÇGNU EmacsºÍvim¡£Emacs¾ßÓзdz£Ç¿´óµÄ¹¦ÄÜ£¬²¢ÇÒ¿ÉÀ©Õ¹¡£
±àÒ룺°üÀ¨±àÒëÔ¤´¦Àí£¬±àÒ룬»ã±à£¬Á¬½Ó¹ý³Ì¡£ËüÃǶ¼¿ÉÒÔͨ¹ýGCCÀ´ÊµÏÖ¡£¹ØÓÚGCC£¬¿ÉÒԲο¼ÎÒ¹ØÓÚGCCµÄ±Ê¼Ç¡£
C±àÒëÆ÷½«Ô´Îļþת»»ÎªÄ¿±êÎļþ£¬Èç¹ûÓжà¸öÄ¿±êÎļþ£¬±àÒëÆ÷»¹½«ËüÃÇÓëËùÐèµÄ¿âÏàÁ¬½Ó£¬Éú³É¿ÉÖ´ÐÐÄ£¿é¡£µ±³ÌÐòÖ´ÐÐʱ£¬²Ù×÷ϵͳ½«¿ÉÖ´ÐÐÄ£¿é¿½±´µ½ÄÚ´æÖеijÌÐòÓ³Ïó¡£
³ÌÐòÓÖÊÇÈçºÎÖ´ÐеÄÄØ£¿Ö´ÐÐÖеijÌÐò³ÆÖ®Îª½ø³Ì¡£³ÌÐòת»¯Îª½ø³ÌµÄ²½ÖèÈçÏÂ:
1£¬ Äں˽«³ÌÐò¶ÁÈëÄڴ棬Ϊ³ÌÐò¾µÏñ·ÖÅäÄÚ´æ¿Õ¼ä¡£
2£¬ ÄÚºËΪ¸Ã½ø³Ì·ÖÅä½ø³Ì±êÖ¾·û£¨PID£©¡£
3£¬ ÄÚºËΪ¸Ã½ø³Ì±£´æPID¼°ÏàÓ¦µÄ½ø³Ì״̬ÐÅÏ¢¡£
¾¹ýÉÏÊö²½Ö裬³ÌÐòת±äΪ½ø³Ì£¬¼´¿ÉÒÔ±»µ÷¶ÈÖ´ÐС£
ÉÏÊöµÄhello, world³ÌÐòʵ¼ÊÊDz»¹æ·¶µÄ£¬POSIX¹æ¶¨mainº¯ÊýµÄÔÐÍΪ£º
int main( int argc, char *argv[])
argcÊÇÃüÁîÐвÎÊýµÄ¸öÊý£¬argvÊÇÒ»¸öÖ¸ÕëÊý×飬ÿ¸öÖ¸ÕëÔªËØÖ¸ÏòÒ»¸öÃüÁîÐвÎÊý¡£
e.g: $ ./a.out arg1 arg2
argc = 4
argv[0] = ./a.out argv[1] = arg1 argv[2] = arg2
C³ÌÐòµÄ¿ªÊ¼¼°ÖÕÖ¹
³ÌÐòµÄÔËÐУº
ΨһÈë¿Ú£ºexecº¯Êý×壨°üÀ¨execl, execv, execle, execve, execlp, execvp£©
³ÌÐò¿ªÊ¼Ö´ÐÐʱ£¬ÔÚµ÷ÓÃmainº¯Êý֮ǰ»áÔËÐÐCÆô¶¯Àý³Ì£¬¸ÃÀý³Ì½«ÃüÁîÐвÎÊýºÍ»·¾³±äÁ¿´ÓÄں˴«µÝµ½mainº¯Êý¡£
³ÌÐòµÄÖÕÖ¹£ºÓÐ8ÖÖ;¾¶£º
Õý³£ÖÕÖ¹£º
1£¬ ´Ómain·µ»Ø¡£
2£¬ µ÷ÓÃexit¡£
3£¬ µ÷ÓÃ_exit»ò_Exit¡£
4£¬ ´Ó×îºóÒ»¸öÏ̵߳ĿªÊ¼Àý³Ì·µ»Ø¡£
Òì³£ÖÕÖ¹£º
5£¬ µ÷ÓÃabort¡£
6£¬ ½ÓÊÕµ½Ò»¸öÖÕÖ¹Ðźš£
7£¬ ¶Ô×îºóÒ»¸öÏ̷߳¢³öµÄÈ¡ÏûÇëÇó×ö³öÏìÓ¦
Ïà¹ØÎĵµ£º
ÔÚ³ÌÐò²»Ñ°³£Í˳öʱ£¬Äں˻áÔÚµ±Ç°¹¤×÷Ŀ¼ÏÂÉú³ÉÒ»¸öcoreÎļþ£¨ÊÇÒ»¸öÄÚ´æÓ³Ïñ£¬Í¬Ê±¼ÓÉϵ÷ÊÔÐÅÏ¢£©¡£Ê¹ÓÃgdbÀ´²é¿´coreÎļþ£¬¿ÉÒÔָʾ³öµ¼Ö³ÌÐò³ö´íµÄ´úÂëËùÔÚÎļþºÍÐÐÊý¡£ 1.coreÎļþµÄÉú³É¿ª¹ØºÍ´óСÏÞÖÆ
1£©Ê¹ÓÃulimit -cÃüÁî¿É²é¿´coreÎļþµÄÉú³É¿ª¹Ø¡£Èô½á¹ûΪ0£¬Ôò±íʾ¹Ø±ÕÁ˴˹¦ÄÜ£¬²»»áÉú³ÉcoreÎļþ¡£ ......
linux unzip ÃüÁîÏê½â
¹¦ÄÜ˵Ã÷£º½âѹËõzipÎļþ
Óï¡¡¡¡·¨£ºunzip [-cflptuvz][-agCjLMnoqsVX][-P <ÃÜÂë>][.zipÎļþ][Îļþ][-d <Ŀ¼>][-x <Îļþ>] »ò unzip [-Z]
²¹³ä˵Ã÷£ºunzipΪ.zipѹËõÎļþµÄ½âѹËõ³ÌÐò¡£
²Î¡¡¡¡Êý£º
-c ½«½âѹËõµÄ½á¹ûÏÔʾµ½ÆÁÄ»ÉÏ£¬²¢¶Ô×Ö·û×öÊʵ±µÄת»»¡£
-f ¸üÐÂÏÖÓеÄÎ ......
tar [-cxtzjvfpPN] ÎļþÓëĿ¼ ....
²ÎÊý£º
-c £º½¨Á¢Ò»¸öѹËõÎļþµÄ²ÎÊýÖ¸Áî(create µÄÒâ˼)£»
-x £º½â¿ªÒ»¸öѹËõÎļþµÄ²ÎÊýÖ¸Á
-t £º²é¿´ tarfile ÀïÃæµÄÎļþ£¡
ÌØ±ð×¢Ò⣬ÔÚ²ÎÊýµÄÏ´ïÖУ¬ c/x/t ½öÄÜ´æÔÚÒ»¸ö£¡²»¿Éͬʱ´æÔÚ£¡
ÒòΪ²»¿ÉÄÜͬʱѹËõÓë½âѹËõ¡£
-z £ºÊÇ·ñͬʱ¾ßÓÐ gzip µÄÊôÐÔ£¿Ò༴ÊÇ·ñÐ ......
ʱ³£ÔÚcppµÄ´úÂëÖ®Öп´µ½ÕâÑùµÄ´úÂë:
#ifdef __cplusplus
extern "C" {
#endif
//Ò»¶Î´úÂë
#ifdef __cplusplus
}
#endif
ÕâÑùµÄ´úÂëµ½µ×ÊÇʲôÒâË¼ÄØ£¿Ê×ÏÈ£¬__cplusplusÊÇcppÖеÄ×Ô¶¨Òåºê£¬ÄÇô¶¨ÒåÁËÕâ¸öºêµÄ»°±íʾÕâÊÇÒ»¶ÎcppµÄ´úÂ룬Ҳ¾ÍÊÇ˵£¬ÉÏÃæµÄ´úÂëµÄº ......
±¾ÎĽéÉÜÔÚGNU/Linux»·¾³ÏÂÒ»¸öC³ÌÐòÓÉÔ´´úÂëµ½³ÌÐò£¬µ½¼ÓÔØÔËÐУ¬×îºóÖÕÖ¹µÄ¹ý³Ì¡£Í¬Ê±ÒԴ˹ý³ÌÎªÔØÌ壬½éÉÜGNU/Linuxƽ̨ÏÂÈí¼þ¿ª·¢¹¤¾ßµÄʹÓá£
±¾ÎÄÒÔÎÒÃÇ×î³£¼ûµÄhello, world!ΪÀý£º
#include <stdio.h>
main ()
{
printf(“hello, world!\n” ......