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

C Fork º¯Êý

Fork º¯Êý£º
#include <unistd.h>
pid_t fork(void);
ÓÉfork ´´½¨µÄнø³Ì±»³ÆÎª×Ó½ø³Ì¡£fork º¯Êý±»µ÷ÓÃÁ½´Î£¬µ«ÊÇ·µ»ØÁ½´Î¡£Á½´Î·µ»ØµÄÎ¨Ò»Çø±ðÊÇ×Ó½ø³ÌµÄ·µ»ØÖµÊÇ0£¬¶ø¸¸½ø³ÌµÄ·µ»ØÖµÔòÊÇÐÂ×Ó½ø³ÌµÄID¡£½«×Ó½ø³ÌµÄID ·µ»Ø¸ø¸¸½ø³ÌµÄÀíÓÉÊÇ£ºÒ»¸ö½ø³Ì¿ÉÒÔÓжà¸ö×Ó½ø³Ì£¬²¢ÇÒûÓк¯ÊýÊÇÒ»¸ö½ø³Ì»ñµÃÆä×Ó½ø³ÌµÄ½ø³ÌID¡£fork ÔÚ×Ó½ø³ÌÖзµ»Ø0µÄÀíÓÉÊÇ£ºÒ»¸ö½ø³ÌÖ»ÄÜÓÐÒ»¸ö¸¸½ø³Ì£¬²¢ÇÒ¿ÉÒÔͨ¹ýgetppid º¯Êý»ñµÃÆä¸¸½ø³ÌµÄID¡£
×Ó½ø³ÌºÍ¸¸½ø³Ì¼ÌÐøÖ´ÐÐfork µ÷ÓúóµÄÖ¸Áî¡£×Ó½ø³ÌÊǸ¸½ø³ÌµÄ¸±±¾¡£ÀýÈ磺×Ó½ø³Ì»ñµÃ¸¸½ø³ÌµÄÊý¾Ý¿Õ¼ä¡¢¶ÑºÍÕ»µÄ¸±±¾¡£×¢ÒâÕâÊÇ×Ó½ø³Ì×Ô¼ºµÄ¸±±¾£¬¸¸¡¢×Ó½ø³Ì²¢²»¹²ÏíÕâЩ´æ´¢¿Õ¼ä²¿·Ö¡£¸¸¡¢×Ó½ø³Ì¹²ÏíÕýÎĶΡ£(ÕâÀï¿ÉÒԲμûhttp://blog.csdn.net/lihe2008125/archive/2010/05/11/5580487.aspx)
Àý×Ó³ÌÐò£º(½ö¹©²Î¿¼)
#include "apue.h"
int glob= 6;
char buf[] = "a write to stdout\n";
int main(void){
    int var;
    pid_t pid;
    var = 88;
    if(write(STDOUT_FILENO,buf,sizeof(buf)-1) != sizeof(buf)-1)
         err_sys("fork error");
    printf("before fork\n");
    if((pid = fork()) <0 ){
         err_sys("fork error");
    } else if(pid == 0){
         glob++;
         var++;
    } else {
         sleep(2);
    }
    printf("pid = %d, glob = %d, var = %d\n", getpid(), glob, var);
    exit(0);
}
Ò»°ãÀ´Ëµ£¬ÔÚfork Ö®ºóÊǸ¸½ø³ÌÏÈÖ´Ðл¹ÊÇ×Ó½ø³ÌÏÈÖ´ÐÐÊDz»È·¶¨µÄ¡£ÕâÈ¡¾öÓÚÄں˵ÄËã·¨¡£Èç¹ûÒªÇ󸸡¢×Ó½ø³ÌÖ®¼äÏ໥ͬ²½£¬ÔòÒªÇóijÖÖÐÎʽµÄ½ø³ÌͨÐÅ¡£
À´×Ô£ºUNIX »·¾³¸ß¼¶±à³Ì µÚ2°æ


Ïà¹ØÎĵµ£º

linux+vim+gcc+gdb¿ª·¢C/C++³ÌÐò»·¾³´î½¨

ÎÒÓõÄÊÇubuntu²Ù×÷ϵͳ¡£´ò¿ªÖÕ¶Ë
1.sudo apt-get install vim(vim-full Õâ¸öÈí¼þ×Ô9.10°æ±¾±»·ÏÆúÁË£¬²»ÂÛÔõôÌí¼ÓÈí¼þÔ´¶¼ÕÒ²»µ½µÄ£¬ËùÒÔÖ±½Ó°²×°vim¾Í¿ÉÒÔÁË£¬£¬Ò²¿ÉÒÔ°²×°gvim£¬£¬ÔÚÐÂÁ¢µÃÈí¼þÀïÃæËÑË÷vim¾Í¿ÉÒÔÕÒµ½ÁË)
2.
sudo apt-get install build-essential // build-essentialÊÇcÓïÑԵĿª·¢°ü£¬°üº¬ÁËgcc ma ......

LINUXϽøÐÐCÓïÑÔ±à³Ì

Ô´³ÌÐò±àÒë  

MakefileµÄ±àд  

³ÌÐò¿âµÄÁ´½Ó  

³ÌÐòµÄµ÷ÊÔ  

Í·ÎļþºÍϵͳÇóÖú  


1.Ô´³ÌÐòµÄ±àÒë  

ÔÚLinuxÏÂÃæ,Èç¹ûÒª±àÒëÒ»¸öCÓïÑÔÔ´³ÌÐò,ÎÒÃÇҪʹÓÃGNUµÄgcc±àÒëÆ÷.   ÏÂÃæÎÒÃÇÒÔÒ»¸öʵÀýÀ´ËµÃ÷ÈçºÎʹÓÃgcc±àÒëÆ÷.  
......

c±àÒë¹ý³Ì

±àÒëµÄ¸ÅÄ±àÒë³ÌÐò¶ÁȡԴ³ÌÐò£¨×Ö·ûÁ÷£©£¬¶ÔÖ®½øÐдʷ¨ºÍÓï·¨µÄ·ÖÎö£¬½«¸ß¼¶ÓïÑÔÖ¸Áîת»»Îª¹¦ÄܵÈЧµÄ»ã±à´úÂ룬ÔÙÓÉ»ã±à³ÌÐòת»»Îª»úÆ÷ÓïÑÔ£¬²¢ÇÒ°´ÕÕ²Ù×÷ϵͳ¶Ô¿ÉÖ´ÐÐÎļþ¸ñʽµÄÒªÇóÁ´½ÓÉú³É¿ÉÖ´ÐгÌÐò¡£
    ±àÒëµÄÍêÕû¹ý³Ì£ºCÔ´³ÌÐò£­£­>Ô¤±àÒë´¦Àí(.c)£­£­>±àÒë¡¢ÓÅ»¯³ÌÐò£¨.s¡¢.asm£©£­£­>»ã± ......

±ê×¼ C I/O

   ±ê×¼ C I/O
º¯ÊýÁÐ±í£º
clearerr() Çå³ý´íÎó
fclose() ¹Ø±ÕÒ»¸öÎļþ
feof() Èç¹ûµ½´ïÎļþβ(end-of-file)·µ»Ø"True"(Õæ)
ferror() ¼ì²éÒ»¸öÎļþ´íÎó
fflush() ÊéдÊä³ö»º´æµÄÄÚÈÝ
fgetc() ´ÓÁ÷»ñȡһ¸ö×Ö·û
fgetpos() »ñÈ¡ÎļþλÖÃÖ¸Õë
fgets() ´ÓÒ»¸öÁ÷»ñȡһ´®×Ö·û
fopen() ´ò¿ªÒ»¸öÎļþ ......

CͼÐαà³Ìѧϰ


Ò»¡¢ÆÁÄ»²Ù×÷º¯Êý
1. clrscr()Çå³ý×Ö·û´°¿Úº¯Êý
2. window()×Ö·û´°¿Úº¯Êý
3. gotoxy()¹â±ê¶¨Î»º¯Êý
4. clreol() Çå³ý¹â±êÐÐβ×Ö·ûº¯Êý
5. insline() ²åÈë¿ÕÐк¯Êý
6. delline() ɾ³ýÒ»Ðк¯Êý
7. gettext() ¿½½øÎÄ×Öº¯Êý
8. puttext() ¿½³öÎÄ×Öº¯Êý
9. movetext() ÒÆ¶¯ÎÄ×Öº¯Êý
¶þ¡¢×Ö·ûÊôÐÔº¯Êý
10. textmode( ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ