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

ÈçºÎÔÚunixµÄc³ÌÐòÖеõ½system()µ÷Óõķµ»ØÖµ

½áÂÛ£º
char cmd[128];
...
int  status = system(cmd);
printf("%d == system(\"%s\");\n", WEXITSTATUS(status), cmd);  //´òÓ¡·µ»ØÖµ
 
ÍøÉÏËѵ½µÄ´ð°¸Óë½âÊÍ(1)£º
http://www.lslnet.com/linux/dosc1/38/linux-280268.htm
ÈçºÎÔÚunix c³ÌÐòÖеõ½systemµ÷Óõķµ»ØÖµ,ÇëÖ¸½Ì
¶Ô system µÄ·µ»ØÖµÊ©¼Ó WEXITSTATUS ºê¡£½á¹û¾ÍÊÇ¡£
ÈçºÎÔÚunix c³ÌÐòÖеõ½systemµ÷Óõķµ»ØÖµ,ÇëÖ¸½Ì
¿´¿´ÕâÌõFAQ:
1.10  systemº¯Êý£¬pcloseº¯Êý£¬waitpidº¯Êý µÄ·µ»ØÖµÊÇʲô£¿
==========================================================
     ‘system()’£¬‘pclose()’»òÕß‘waitpid()’µÄ·µ»ØÖµ²»ÏóÊÇÎÒ½ø³ÌµÄÍ˳öÖµ(exit
        value)(ÒëÕß×¢£ºÍ˳öÖµÖ¸µ÷ÓÃexit() »ò_exit()ʱ¸øµÄ²ÎÊý)... »òÕßÍ˳öÖµ×óÒÆÁË8
       λ...ÕâÊÇÔõô¸ãµÄ£¿
ÊÖ²áÒ³ÊǶԵģ¬ÄãÒ²ÊǶԵÄ! Èç¹û²éÔÄÊÖ²áÒ³µÄ‘waitpid()’Äã»á·¢ÏÖ½ø³ÌµÄ·µ»Ø
Öµ±»±àÂëÁË¡£Õý³£Çé¿öÏ£¬½ø³ÌµÄ·µ»ØÖµÔÚ¸ß16룬¶øÓàϵÄλÓÃÀ´×÷ÆäËüÊ¡£
Èç¹ûÄãÏ£Íû¿ÉÒÆÖ²£¬Äã¾Í²»ÄÜÆ¾½èÕâ¸ö£¬¶ø½¨ÒéÊÇÄã¸ÃʹÓÃÌṩµÄºê¡£ÕâЩºê×Ü
ÊÇÔÚ‘wait()’»ò‘wstat’µÄÎĵµÖÐ˵Ã÷ÁË¡£
ΪÁ˲»Í¬Ä¿µÄ¶¨ÒåµÄºê(ÔÚ‘<sys/wait.h>;’)°üÀ¨(statÊÇ‘waitpid()’·µ»ØµÄÖµ)£º
`WIFEXITED(stat)'
     Èç¹û×Ó½ø³ÌÕý³£Í˳öÔò·µ»Ø·Ç0
`WEXITSTATUS(stat)'
     ×Ó½ø³Ì·µ»ØµÄÍ˳öÂë
`WIFSIGNALED(stat)'
     Èç¹û×Ó½ø³ÌÓÉÓëÐźŶø ÖÕÖ¹Ôò·µ»Ø·Ç0
`WTERMSIG(stat)'
     ÖÕÖ¹×Ó½ø³ÌµÄÐźŴúÂë
`WIFSTOPPED(stat)'
     Èç¹û×Ó½ø³ÌÔÝÍ£(stopped)Ôò·µ»Ø·Ç0
`WSTOPSIG(stat)'
     Ê¹×Ó½ø³ÌÔÝÍ£µÄÐźŴúÂë
`WIFCONTINUED(stat)'
     Èç¹û״̬ÊDZíʾ×Ó½ø³Ì¼ÌÐøÖ´ÐÐÔò·µ»Ø·Ç0
`WCOREDUMP(stat)'
     Èç¹û‘WIFSIGNALED(stat)’Ϊ·Ç0£¬¶øÈç¹ûÕâ¸ö½ø³Ì²úÉúÒ»¸öÄÚ´æÓ³ÉäÎļþ
     (core dump)Ôò·µ»Ø·Ç0
ÍøÉÏËѵ½µÄ´ð°¸Óë½âÊÍ(2)£º
£¨1£©¸ÕÓõ½systemº¯Êý£¬Òª¸ù¾ÝÆä·µ»ØÖµÀ´×ö½øÒ»²½²Ù×÷£¬¿ÉÊÇsystemµÄ·µ»


Ïà¹ØÎĵµ£º

C ÖÐ extern ºÍ static

CÓïÑÔÖУº
extern £ºextern£¨ÍⲿÒýÓã©¿ÉÒÔÖÃÓÚ±äÁ¿»òÕߺ¯Êýǰ£¬ÒÔ±êʾ±äÁ¿»òº¯ÊýµÄ¶¨ÒåÔÚ±ðµÄÎļþÖУ¬ÔÚÒ»¸öÎļþÖÐÓõ½µÄexternÕâЩ±äÁ¿»òº¯ÊýÊÇÍâÀ´µÄ£¬²»ÊDZ¾Îļþ¶¨ÒåµÄ£¬Ìáʾ±àÒëÆ÷Óöµ½´Ë±äÁ¿ºÍº¯ÊýʱÔÚÆäËûÄ£¿éÖÐѰÕÒÆä¶¨Òå¡£×¢Ò⣬ֻÓÐÆäËûÎļþÖеÄÈ«¾Ö±äÁ¿²ÅÄܱ»ÆäËûÎļþËùextern¡£
extern int val;
×¢£º
  ......

ÉîÈëÀí½âextern "C"

Ò»¡¢´ÓCÓëC++±àÒëÁ¬½Ó·½Ê½ÉîÈëÀí½âextern "C"
<1>.CºÍC++¶Ôº¯ÊýµÄ´¦Àí·½Ê½ÊDz»Í¬µÄ.±»extern "C"ÐÞÊεıäÁ¿ºÍº¯ÊýÊǰ´ÕÕCÓïÑÔ·½Ê½±àÒëºÍÁ¬½ÓµÄ.extern "C"ÓÃÓÚʵÏÖC++ÓëC¼°ÆäËüÓïÑԵĻìºÏ±à³Ì¡£
<2>.δ¼Óextern “C”ÉùÃ÷ʱµÄ±àÒ뷽ʽ
Ê×ÏÈ¿´¿´C++ÖжÔÀàËÆCµÄº¯ÊýÊÇÔõÑù±àÒëµÄ¡£
×÷ΪһÖÖÃæÏò ......

GCC ÐÂÊÖ c/c++

±¾ÎÄÊÇд¸ø gcc ÐÂÊÖµÄÈëÃÅÎÄÕ£¬ËùÒÔÄÚÈݱȽϼòµ¥¡£Èç¹ûÄãÖªµÀÏÂÃæ3ÌõÃüÁî¶¼¿ÉÒÔ±àÒëc++µÄ»°£¬¾Í²»ÓÃÔÚ±¾ÎÄÀË·Ñʱ¼äÁË
´úÂë:
g++ -Wall hellocpp.cpp
gcc -Wall hellocpp.cpp -lstdc++
gfortran -Wall hellocpp.cpp -lstdc++
×¢£º±¾ÎÄ×îаæÔÚwikiÖÐ http://wiki.ubuntu.org.cn/Gcchowto
£¨½¨Òé´ó¼ÒÖ±½Ó·ÃÎÊwikiÖ ......

Objective —C µÄµ¥Àýģʽ SingletonʵÏÖ


static
 DataManager 
*
sharedDataManager 
=
 nil;
+
 (DataManager 
*
) sharedManager
{
    @synchronized(self)
 {
        
if
 (sharedDataManager 
==
 nil)
 &nb ......

c ÓïÑÔÖеÄ×Ö·û´®²Ù×÷

http://blog.chinaunix.net/u1/41817/showart_342390.html
6£®5       
ÔõÑù½«×Ö·û´®´òÓ¡³ÉÖ¸¶¨³¤¶È
?   
 
   
Èç¹ûÒª°´±í¸ñÐÎʽ´òÓ¡Ò»×é×Ö·û´®£¬Äã¾ÍÐèÒª½«×Ö·û´®´òÓ¡³ÉÖ¸¶¨³¤¶È¡£ÀûÓÃ
printf()º¯Êý¿ÉÒԺܷ½±ãµØÊµÏÖÕâÒ»µã£¬Çë¿´ÏÂÀý
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ