Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : c

¼òÊöCºÍC++³ÌÐòԱѧϰÀú³Ì

Ò»¼ÒÖ®ÑÔ£¬»¶Ó­ÅÄש¹þ¡£
¡¡¡¡1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
¡¡¡¡´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í»§¼ÛÖµÉÏ£¬¶ø²»ÊÇÓïÑÔдµÃºÃ²»ºÃ¿´¡£
¡¡¡¡C++ÊÇCµÄÒ»¸öÃæÏò¶ÔÏóµÄ½âÊÍ£¬C++ΪCÀ©³äÁË´ó¹æÄ£¹¤³ÌÓ¦Ó㬸´ÔÓµÄϵͳ½á¹¹µÄ×éÖ¯ºÍÕÆ¿Ø·½·¨£¬µ«ÊÇ£¬ÎÒÈÏΪ£¬C++¹Ç×ÓÀﻹÊÇCµÄ¡£
¡¡¡¡±Ï¾¹£¬½â¾ö¾ßÌåÎÊÌ⣬ÿ¸öº¯ÊýÄÚ²¿£¬¶¼ÊÇÓÃCµÄ·½Ê½Ð´³ÌÐò£¬»¹ÊÇÃæÏò¹ý³ÌµÄ¡£
¡¡¡¡Òò´Ë£¬ÏëҪѧϰºÃC++£¬ÎҵĽ¨Ò飬ÏÈѧϰC£¬ÏÈѧ½â¾öÎÊÌâµÄÄÜÁ¦£¬ÔÙÌÖÂÛ½â¾ö´óÎÊÌâµÄÄÜÁ¦¡£¾ÍÊÇÏÈѧϰÔõô×ß·£¬ÔÙѧϰÔõôÅܲ½¡£
¡¡¡¡2¡¢Ñ§Ï°CµÄ¹ý³ÌÖУ¬Ò»¶¨ÒªÀí½â½á¹¹»¯±à³Ì˼ά¡£
¡¡¡¡ÎªÊ²Ã´ÄØ£¬ÎÒÇ°ÃæÓÐÎÄÕÂ˵¹ý£¬Èí¼þÓïÑԵķ¢Õ¹¹ý³Ì£¬¾ÍÊÇÒ»¸öÊý¾Ý˽Óл¯µÄ¹ý³Ì£¬´óÐ͹¤³ÌÓ¦Óã¬Ç¿µ÷¸ßÄÚ¾Û£¬µÍñîºÏ£¬Ä£¿é»¯Éè¼Æ£¬±£³Ö´úÂë×î´óµÄÁé»îÐԺͰ²È«ÐÔ¡£
ÕâÊÇÏÖ´ú¹¤³Ì»¯¿ª·¢µÄºËÐĺÍÁé»ê¡£
¡¡¡¡Òò´Ë£¬ÀûÓÃCÕâÃÅÓïÑÔÈëÃÅ£¬½è´ËÀí½â½á¹¹»¯¿ª·¢Ë¼Î¬£¬¿ÉÒÔ˵ÊǸöºÜ·½±ãµÄ·×Ó¡£ÒòΪCµÄº¯Êý£¬±¾À´¾ÍÊÇÎªÖØÓÃ×ö×¼±¸µÄ¡£Í¬Ê±£¬È«¾Ö±äÁ¿ºÍcppÄÚ²¿Ë½ÓбäÁ¿µÄ²î±ð£¬ÆäʹÓÃÔ­Ôò£¬ÕâЩ¶¼ÄÜѧµ½ºÜ¶à ......

¼òÊöCºÍC++³ÌÐòԱѧϰÀú³Ì

Ò»¼ÒÖ®ÑÔ£¬»¶Ó­ÅÄש¹þ¡£
¡¡¡¡1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
¡¡¡¡´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í»§¼ÛÖµÉÏ£¬¶ø²»ÊÇÓïÑÔдµÃºÃ²»ºÃ¿´¡£
¡¡¡¡C++ÊÇCµÄÒ»¸öÃæÏò¶ÔÏóµÄ½âÊÍ£¬C++ΪCÀ©³äÁË´ó¹æÄ£¹¤³ÌÓ¦Ó㬸´ÔÓµÄϵͳ½á¹¹µÄ×éÖ¯ºÍÕÆ¿Ø·½·¨£¬µ«ÊÇ£¬ÎÒÈÏΪ£¬C++¹Ç×ÓÀﻹÊÇCµÄ¡£
¡¡¡¡±Ï¾¹£¬½â¾ö¾ßÌåÎÊÌ⣬ÿ¸öº¯ÊýÄÚ²¿£¬¶¼ÊÇÓÃCµÄ·½Ê½Ð´³ÌÐò£¬»¹ÊÇÃæÏò¹ý³ÌµÄ¡£
¡¡¡¡Òò´Ë£¬ÏëҪѧϰºÃC++£¬ÎҵĽ¨Ò飬ÏÈѧϰC£¬ÏÈѧ½â¾öÎÊÌâµÄÄÜÁ¦£¬ÔÙÌÖÂÛ½â¾ö´óÎÊÌâµÄÄÜÁ¦¡£¾ÍÊÇÏÈѧϰÔõô×ß·£¬ÔÙѧϰÔõôÅܲ½¡£
¡¡¡¡2¡¢Ñ§Ï°CµÄ¹ý³ÌÖУ¬Ò»¶¨ÒªÀí½â½á¹¹»¯±à³Ì˼ά¡£
¡¡¡¡ÎªÊ²Ã´ÄØ£¬ÎÒÇ°ÃæÓÐÎÄÕÂ˵¹ý£¬Èí¼þÓïÑԵķ¢Õ¹¹ý³Ì£¬¾ÍÊÇÒ»¸öÊý¾Ý˽Óл¯µÄ¹ý³Ì£¬´óÐ͹¤³ÌÓ¦Óã¬Ç¿µ÷¸ßÄÚ¾Û£¬µÍñîºÏ£¬Ä£¿é»¯Éè¼Æ£¬±£³Ö´úÂë×î´óµÄÁé»îÐԺͰ²È«ÐÔ¡£
ÕâÊÇÏÖ´ú¹¤³Ì»¯¿ª·¢µÄºËÐĺÍÁé»ê¡£
¡¡¡¡Òò´Ë£¬ÀûÓÃCÕâÃÅÓïÑÔÈëÃÅ£¬½è´ËÀí½â½á¹¹»¯¿ª·¢Ë¼Î¬£¬¿ÉÒÔ˵ÊǸöºÜ·½±ãµÄ·×Ó¡£ÒòΪCµÄº¯Êý£¬±¾À´¾ÍÊÇÎªÖØÓÃ×ö×¼±¸µÄ¡£Í¬Ê±£¬È«¾Ö±äÁ¿ºÍcppÄÚ²¿Ë½ÓбäÁ¿µÄ²î±ð£¬ÆäʹÓÃÔ­Ôò£¬ÕâЩ¶¼ÄÜѧµ½ºÜ¶à ......

C±àÒë»ù´¡

int main(int argc,char *argv[])
argc(argument count):²ÎÊýµÄ¸öÊý£»
argv(argument value):²ÎÊýÖµ
argv[0] :ÎļþÃû
argv[1]£ºµÚÒ»¸ö²ÎÊý£¬argv[2];µÚ¶þ¸ö²ÎÊý£¬ÒÔ´ËÀàÍÆ¡£
±àÒëC
1 µ¥Ô´³ÌÐòµ½¿ÉÖ´ÐгÌÐò
            ±àÒë               Á¬½Ó
Ô´Îļþ(.c)--------->Ä¿±êÎļþ(.o)------->¿ÉÖ´ÐÐÎļþ
 hello.c  -c     howdy        ./howdy
gcc -o:Ö¸¶¨±àÒë³ÌÐòÊä³öµÄ¿ÉÖ´ÐгÌÐòÃû
    -c:ָʾGCCÈ¥±àÒëÔ´´úÂ룬²»ÔÙÓ²ÅÌÉÏÁôÏÂÄ¿±êÎļþ£¬Ìø¹ýµÚ¶þ²½
2 ¶àÔ´Îļþµ½¿ÉÖ´ÐÐÎļþ
gcc -c src1.c src2.c ...
½«n¸öÔ´Îļþ´´½¨¸÷×ÔµÄÄ¿±êÎļþ
gcc scr1.c scr2.c ... -o scr
½«N¸ö³ÌÐò±àÒë³ÉÒ»¸öÄ¿±êÎļþ£¬²¢½«ËûÃÇÁ¬½Óµ½¿ÉÖ´ÐгÌÐòsrc
3 Ô¤´¦Àí
gcc -E:ָʾ±àÒë³ÌÐòÖ»½øÐÐÔ¤´¦Àí²Ù×÷
gcc -E hello.c -o hello.i Ô¤´¦ÀíºóµÄ´úÂë·ÅÔÚ²»ÐèÒªÔ¤´¦ÀíµÄ.i ÎļþÖÐ
4 Éú³É»ã±àÓïÑÔ
gcc -S :ָʵ±àÒëÆ÷Éú³É»ã±à´úÂë
5 ´´½¨¾²Ì¬¿â
¾²Ì¬¿âÊÇһЩ ......

C±¸Íü¼֮Áù——#pragmaÔ¤´¦Àí

#pragma Ö¸Áî¿ÉÄÜÊÇ×ÔÓµÄÁË£¬ËüµÄ×÷ÓÃÊÇÉ趨±àÒëÆ÷µÄ״̬»òÕßÊÇָʾ±àÒëÆ÷Íê³ÉÒ»Ð©ÌØ¶¨µÄ¶¯×÷¡£
#pragma Ö¸Áî¶Ôÿ¸ö±àÒëÆ÷¸ø³öÁËÒ»¸ö·½·¨,ÔÚ±£³ÖÓëC ºÍC ++ÓïÑÔÍêÈ«¼æÈݵÄÇé¿öÏÂ,¸ø³öÖ÷»ú»ò²Ù×÷ϵͳרÓеÄÌØÕ÷¡£
ÒÀ¾Ý¶¨Òå,±àÒëָʾÊÇ»úÆ÷»ò²Ù×÷ϵͳרÓеÄ,ÇÒ¶ÔÓÚÿ¸ö±àÒëÆ÷¶¼ÊDz»Í¬µÄ¡£
Ò»¡¢#pragma message
#pragma message(“ÏûÏ¢Îı¾”)
µ±±àÒëÆ÷Óöµ½ÕâÌõÖ¸Áîʱ¾ÍÔÚ±àÒëÊä³ö´°¿ÚÖн«ÏûÏ¢Îı¾´òÓ¡³öÀ´¡£
#ifdef _X86
#Pragma message(“_X86 macro activated!”)
#endif
¶þ¡¢#pragma code_seg
#pragma code_seg( ["section-name"[,"section-class"] ] )
ËüÄܹ»ÉèÖóÌÐòÖк¯Êý´úÂë´æ·ÅµÄ´úÂë¶Î£¬µ±ÎÒÃÇ¿ª·¢Çý¶¯³ÌÐòµÄʱºò¾Í»áʹÓõ½Ëü¡£
Èý¡¢#pragma once (±È½Ï³£Óã©
Ö»ÒªÔÚÍ·ÎļþµÄ×ʼ¼ÓÈëÕâÌõÖ¸Áî¾ÍÄܹ»±£Ö¤Í·Îļþ±»±àÒëÒ»´Î£¬ÕâÌõÖ¸Áîʵ¼ÊÉÏÔÚ
Visual C++6.0 ÖоÍÒѾ­ÓÐÁË£¬µ«ÊÇ¿¼Âǵ½¼æÈÝÐÔ²¢Ã»ÓÐÌ«¶àµÄʹÓÃËü¡£
ËÄ¡¢#pragma warning
#pragma warning( disable : 4507 34; once : 4385; error : 164 )
µÈ¼ÛÓÚ£º
#pragma warning(disable:4507 34) // ²»ÏÔʾ4507 ºÍ34 ºÅ¾¯¸æÐÅÏ¢
#pragma warning(once:4385) // 4385 ºÅ¾¯ ......

ÓÃVim´î½¨C/C++¿ª·¢»·¾³

ÀîÈôÀÏÊ¦Ôø¾­Ëµ£ºÊÀ½çÉϵijÌÐòÔ±·ÖÈýÖÖ£¬Ò»ÖÖÊÇÓÃEmacs£¬Ò»ÖÖÊÇÓÃVimµÄ£¬ÆäËüµÄ¹éΪµÚÈýÖÖ¡£ÆäÒâÊÇ˵Èç¹ûÒ»¸ö³ÌÐòÔ±Á½Õß¶¼²»Óõϰ£¬ÄÇ´óµÖÊDz»ÄÜ
¹éΪÈëÁ÷ÕßÐÐÁеġ£¶ÔʹÓÃC/C++µÄÈËÀ´Ëµ£¬ºÜ¶àÈËϲ»¶Emacs£¬¾Ý˵Óë¶ÔStallmanµÄ³ç°ÝÓë°®Îݼ°ÎÚÓйØ;-)¡¡µ±È»£¬EmacsÓëVimËä
È»ÔÚÎı¾±à¼­·½ÃæµÄÐÔÄÜÊǵȼ۵쬵«Ê¹ÓÃÆðÀ´Á½Õß»¹ÊÇÓкܴóµÄ²»Í¬£ºVimÊÇΪ³ÌÐòÔ±¶ø¿ª·¢µÄ£¬¹¦ÄÜÇ¿´ó¶øÊµÓã»Emacs³ýÁËÎı¾±à¼­Ö®Í⣬×÷Ϊ
UnixϵēµÚÒ»¸öÈ˹¤ÉúÃü”£¬»¹¿ÉÒÔͨ¹ý²å¼þÍê³É¸÷ÖÖ°üÀ¨Ìýmp3£¬·¢Óʼþ£¬ÉõÖÁÖ󿧷ȵIJÙ×÷£¬ËùÒÔ£¬Emacs¸üÏñÊÇÒ»ÖÖ“Éú»î·½Ê½”¡£ÑÔ¹éÕý´«£¬
ÎÒ¸öÈËÊÇÓÃVimµÄ£¬ÔÚ±àдC/C++µÄ³ÌÐòʱ£¬Ö»ÓÃVim×ÔÉíµÄ¹¦ÄÜ»¹ÊDz»Ì«Ë¬µÄ£¬»¹ÐèÒªÆäËüµÄ²å¼þ£¬½«Æä¹¹Ôì³ÉÒ»¸ö±ÈVCˬµÃ¶àµÄIDE¡£ÓÉÓÚÿ¸ö¹¤
¾ß½éÉÜÇå³þ¶¼²»ÊÇÒ»Á½¾ä»°ËµµÃÍêµÄ£¬ÒÔÏÂÖ»Áгö²å¼þµÄÃû³Æ£¬¾ßÌåµÄÄÚÈÝgoogleÖ®¼´¿É;-)ÆäÖÐvim²å¼þ¿ÉÒÔµ½VIMer×ȥµÄwww.vim.org
ÏÂÔØ
Ctags£¬·Çvim²å¼þ¡£CtagsÊÇVim±Ø²»¿ÉÉٵŤ¾ß£¬Ëü¿ÉÒÔ½«C/C++µÄºê¡¢±äÁ¿¡¢º¯Êý¡¢ÀàµÈһϵÁÐÐÅÏ¢ÌáÈ¡³öÀ´£¬ÒÔ·½±ãÇл»¡£Ctags»¹¿ÉÒÔʹÓøüÇ¿´óµÄcscope´úÌæ¡£
Taglist£¬Vim²å¼þ¡£TaglistÊÇÓëctagsµÄÅäºÏµÄvimµÄÇ¿´ ......

ÓÃVim´î½¨C/C++¿ª·¢»·¾³

ÀîÈôÀÏÊ¦Ôø¾­Ëµ£ºÊÀ½çÉϵijÌÐòÔ±·ÖÈýÖÖ£¬Ò»ÖÖÊÇÓÃEmacs£¬Ò»ÖÖÊÇÓÃVimµÄ£¬ÆäËüµÄ¹éΪµÚÈýÖÖ¡£ÆäÒâÊÇ˵Èç¹ûÒ»¸ö³ÌÐòÔ±Á½Õß¶¼²»Óõϰ£¬ÄÇ´óµÖÊDz»ÄÜ
¹éΪÈëÁ÷ÕßÐÐÁеġ£¶ÔʹÓÃC/C++µÄÈËÀ´Ëµ£¬ºÜ¶àÈËϲ»¶Emacs£¬¾Ý˵Óë¶ÔStallmanµÄ³ç°ÝÓë°®Îݼ°ÎÚÓйØ;-)¡¡µ±È»£¬EmacsÓëVimËä
È»ÔÚÎı¾±à¼­·½ÃæµÄÐÔÄÜÊǵȼ۵쬵«Ê¹ÓÃÆðÀ´Á½Õß»¹ÊÇÓкܴóµÄ²»Í¬£ºVimÊÇΪ³ÌÐòÔ±¶ø¿ª·¢µÄ£¬¹¦ÄÜÇ¿´ó¶øÊµÓã»Emacs³ýÁËÎı¾±à¼­Ö®Í⣬×÷Ϊ
UnixϵēµÚÒ»¸öÈ˹¤ÉúÃü”£¬»¹¿ÉÒÔͨ¹ý²å¼þÍê³É¸÷ÖÖ°üÀ¨Ìýmp3£¬·¢Óʼþ£¬ÉõÖÁÖ󿧷ȵIJÙ×÷£¬ËùÒÔ£¬Emacs¸üÏñÊÇÒ»ÖÖ“Éú»î·½Ê½”¡£ÑÔ¹éÕý´«£¬
ÎÒ¸öÈËÊÇÓÃVimµÄ£¬ÔÚ±àдC/C++µÄ³ÌÐòʱ£¬Ö»ÓÃVim×ÔÉíµÄ¹¦ÄÜ»¹ÊDz»Ì«Ë¬µÄ£¬»¹ÐèÒªÆäËüµÄ²å¼þ£¬½«Æä¹¹Ôì³ÉÒ»¸ö±ÈVCˬµÃ¶àµÄIDE¡£ÓÉÓÚÿ¸ö¹¤
¾ß½éÉÜÇå³þ¶¼²»ÊÇÒ»Á½¾ä»°ËµµÃÍêµÄ£¬ÒÔÏÂÖ»Áгö²å¼þµÄÃû³Æ£¬¾ßÌåµÄÄÚÈÝgoogleÖ®¼´¿É;-)ÆäÖÐvim²å¼þ¿ÉÒÔµ½VIMer×ȥµÄwww.vim.org
ÏÂÔØ
Ctags£¬·Çvim²å¼þ¡£CtagsÊÇVim±Ø²»¿ÉÉٵŤ¾ß£¬Ëü¿ÉÒÔ½«C/C++µÄºê¡¢±äÁ¿¡¢º¯Êý¡¢ÀàµÈһϵÁÐÐÅÏ¢ÌáÈ¡³öÀ´£¬ÒÔ·½±ãÇл»¡£Ctags»¹¿ÉÒÔʹÓøüÇ¿´óµÄcscope´úÌæ¡£
Taglist£¬Vim²å¼þ¡£TaglistÊÇÓëctagsµÄÅäºÏµÄvimµÄÇ¿´ ......

Windows Via C/C++£ºÏß³ÌʵÏÖϸ½Ú

ÎÒÃÇÒѾ­Á˽âÈçºÎ¶¨ÒåÏß³ÌÈë¿Úµãº¯Êý¡¢µ÷ÓÃϵͳAPI´´½¨Ö´ÐÐÖ¸¶¨º¯ÊýµÄÏ̡߳£±¾½Ú½«½ÒʾÕâÒ»ÇÐÔÚϵͳÄÚ²¿ÊÇÈçºÎÍê³ÉµÄ¡£
ͼ6-1ÃèÊöÁËÏ̴߳´½¨²¢Íê³É³õʼ»¯ºóµÄ״̬¡£µ÷ÓÃCreateThread»áʹϵͳ²úÉúÒ»¸öÏß³ÌÄں˶ÔÏ󣬯äÒýÓüÆÊý£¨Usage count£©±»³õʼ»¯Îª2£¨´´½¨Ï̵߳Ľø³ÌºÍÏ̱߳¾Éí¶¼ÒýÓÃÁ˸ÃÄں˶ÔÏ󣩣¬ÆäËüÊôÐÔÒ²Íê³ÉÁ˳õʼ»¯£ºÔÝÍ£±êÖã¨Suspend count£©±»ÉèÖÃΪ1£¬Ïß³ÌÍ˳öÂ루Exit code£©±»ÉèÖÃΪSTILL_ACTIVE£¬Äں˶ÔÏó״̬±»ÖÃΪnonsignaled£¨Signaled£©¡£
Äں˶ÔÏó´´½¨Íê³Éºó£¬ÏµÍ³ÔÚµ±Ç°½ø³ÌÖÐΪÐÂÏ̵߳ÄÏß³ÌÕ»·ÖÅäÄڴ棬²¢ÔÚÏß³ÌÕ»µÄ¸ßλдÈëÁ½¸öÖµ¡£µÚ1¸öÖ¸ÊÇCreateThreadº¯ÊýµÄpvParam²ÎÊý£¬È»ºóÊÇpfnStartAddr²ÎÊý¡£
ÿ¸öÏß³ÌÓÐ×Ô¼ºµÄCPU¼Ä´æÆ÷×飬±»³ÆÎªÏß³ÌÉÏÏÂÎÄ£¨Context£©£¬Ï̵߳ÄÉÏÏÂÎÄ·´Ó³ÁËÏß³Ì×îºóÒ»´ÎÖ´ÐÐʱÆäCPU¼Ä´æÆ÷µÄ״̬¡£WinNT.hÖж¨ÒåÁËCONTEXT½á¹¹¶ÔÓ¦Ï̵߳ÄCPU¼Ä´æÆ÷×飬Ï̵߳ÄCONTEXTʵÀý±£´æÔÚÆäÄں˶ÔÏóÖС£
Ïß³ÌÉÏÏÂÎÄÖÐ×îÖØÒªµÄÁ½¸ö¼Ä´æÆ÷ÊÇÖ¸ÁîÖ¸Õë¼Ä´æÆ÷£¨Instruction pointer£©ºÍÕ»Ö¸Õë¼Ä´æÆ÷£¨Stack pointer£©¡£ÓÉÓÚÏß³ÌÊÇÔËÐÐÔÚ½ø³ÌµØÖ·¿Õ¼äÄڵģ¬Òò´ËÆäÕ»ÖеĵØÖ·¾ÍÊǽø³ÌµØÖ·¿Õ¼äÖеĵØÖ·¡£Ïß³ÌÄں˶ÔÏó³õʼ»¯Ê±£¬ÆäCONT ......

Windows Via C/C++£ºÏß³ÌʵÏÖϸ½Ú

ÎÒÃÇÒѾ­Á˽âÈçºÎ¶¨ÒåÏß³ÌÈë¿Úµãº¯Êý¡¢µ÷ÓÃϵͳAPI´´½¨Ö´ÐÐÖ¸¶¨º¯ÊýµÄÏ̡߳£±¾½Ú½«½ÒʾÕâÒ»ÇÐÔÚϵͳÄÚ²¿ÊÇÈçºÎÍê³ÉµÄ¡£
ͼ6-1ÃèÊöÁËÏ̴߳´½¨²¢Íê³É³õʼ»¯ºóµÄ״̬¡£µ÷ÓÃCreateThread»áʹϵͳ²úÉúÒ»¸öÏß³ÌÄں˶ÔÏ󣬯äÒýÓüÆÊý£¨Usage count£©±»³õʼ»¯Îª2£¨´´½¨Ï̵߳Ľø³ÌºÍÏ̱߳¾Éí¶¼ÒýÓÃÁ˸ÃÄں˶ÔÏ󣩣¬ÆäËüÊôÐÔÒ²Íê³ÉÁ˳õʼ»¯£ºÔÝÍ£±êÖã¨Suspend count£©±»ÉèÖÃΪ1£¬Ïß³ÌÍ˳öÂ루Exit code£©±»ÉèÖÃΪSTILL_ACTIVE£¬Äں˶ÔÏó״̬±»ÖÃΪnonsignaled£¨Signaled£©¡£
Äں˶ÔÏó´´½¨Íê³Éºó£¬ÏµÍ³ÔÚµ±Ç°½ø³ÌÖÐΪÐÂÏ̵߳ÄÏß³ÌÕ»·ÖÅäÄڴ棬²¢ÔÚÏß³ÌÕ»µÄ¸ßλдÈëÁ½¸öÖµ¡£µÚ1¸öÖ¸ÊÇCreateThreadº¯ÊýµÄpvParam²ÎÊý£¬È»ºóÊÇpfnStartAddr²ÎÊý¡£
ÿ¸öÏß³ÌÓÐ×Ô¼ºµÄCPU¼Ä´æÆ÷×飬±»³ÆÎªÏß³ÌÉÏÏÂÎÄ£¨Context£©£¬Ï̵߳ÄÉÏÏÂÎÄ·´Ó³ÁËÏß³Ì×îºóÒ»´ÎÖ´ÐÐʱÆäCPU¼Ä´æÆ÷µÄ״̬¡£WinNT.hÖж¨ÒåÁËCONTEXT½á¹¹¶ÔÓ¦Ï̵߳ÄCPU¼Ä´æÆ÷×飬Ï̵߳ÄCONTEXTʵÀý±£´æÔÚÆäÄں˶ÔÏóÖС£
Ïß³ÌÉÏÏÂÎÄÖÐ×îÖØÒªµÄÁ½¸ö¼Ä´æÆ÷ÊÇÖ¸ÁîÖ¸Õë¼Ä´æÆ÷£¨Instruction pointer£©ºÍÕ»Ö¸Õë¼Ä´æÆ÷£¨Stack pointer£©¡£ÓÉÓÚÏß³ÌÊÇÔËÐÐÔÚ½ø³ÌµØÖ·¿Õ¼äÄڵģ¬Òò´ËÆäÕ»ÖеĵØÖ·¾ÍÊǽø³ÌµØÖ·¿Õ¼äÖеĵØÖ·¡£Ïß³ÌÄں˶ÔÏó³õʼ»¯Ê±£¬ÆäCONT ......

C++ interview C/C++µÄ¶ÑÕ»£¬ÄÚ´æ·ÖÅä

C/C++µÄ¶ÑÕ»£¬ÄÚ´æ·ÖÅä
2008Äê12ÔÂ02ÈÕ ÐÇÆÚ¶þ 11:51
Ò»¡¢Ò»¸ö¾­¹ý±àÒëµÄC/C++µÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·Ö³ÉÒÔϼ¸¸ö²¿·Ö£º
1¡¢Õ»Çø£¨stack£©£ºÓɱàÒëÆ÷×Ô¶¯·ÖÅäºÍÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ¡¢¾Ö²¿±äÁ¿µÄÖµµÈ£¬ÉõÖÁº¯ÊýµÄµ÷Óùý³Ì¶¼ÊÇÓÃÕ»À´Íê³É¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
2¡¢¶ÑÇø£¨heap£© £ºÒ»°ãÓɳÌÐòÔ±ÊÖ¶¯ÉêÇëÒÔ¼°ÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽÀàËÆÓÚÁ´±í¡£
3¡¢È«¾ÖÇø£¨¾²Ì¬Çø£©£¨static£©£ºÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬ δ³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
4¡¢ÎÄ×Ö³£Á¿Çø£º³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ¡£ ³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
5¡¢³ÌÐò´úÂëÇø£º´æ·Åº¯ÊýÌåµÄ¶þ½øÖÆ´úÂë¡£
ÏÂÃæµÄÀý×Ó¿ÉÒÔÍêȫչʾ²»Í¬µÄ±äÁ¿ËùÕ¼µÄÄÚ´æÇøÓò£º
//main.cpp
int a = 0; È«¾Ö³õʼ»¯Çø
char *p1; È«¾Öδ³õʼ»¯Çø
main()
{
int b; //Õ»ÖÐ
char s[] = "abc"; //Õ»ÖÐ
char *p2; //Õ»ÖÐ
char *p3 = "123456"; //123456\0ÔÚ³£Á¿Çø£¬p3ÔÚÕ»ÉÏ
static int c =0£» //È«¾Ö£¨¾²Ì¬£©³õʼ»¯Çø ......

C++ interview C/C++µÄ¶ÑÕ»£¬ÄÚ´æ·ÖÅä

C/C++µÄ¶ÑÕ»£¬ÄÚ´æ·ÖÅä
2008Äê12ÔÂ02ÈÕ ÐÇÆÚ¶þ 11:51
Ò»¡¢Ò»¸ö¾­¹ý±àÒëµÄC/C++µÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·Ö³ÉÒÔϼ¸¸ö²¿·Ö£º
1¡¢Õ»Çø£¨stack£©£ºÓɱàÒëÆ÷×Ô¶¯·ÖÅäºÍÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ¡¢¾Ö²¿±äÁ¿µÄÖµµÈ£¬ÉõÖÁº¯ÊýµÄµ÷Óùý³Ì¶¼ÊÇÓÃÕ»À´Íê³É¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
2¡¢¶ÑÇø£¨heap£© £ºÒ»°ãÓɳÌÐòÔ±ÊÖ¶¯ÉêÇëÒÔ¼°ÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽÀàËÆÓÚÁ´±í¡£
3¡¢È«¾ÖÇø£¨¾²Ì¬Çø£©£¨static£©£ºÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬ δ³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
4¡¢ÎÄ×Ö³£Á¿Çø£º³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ¡£ ³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
5¡¢³ÌÐò´úÂëÇø£º´æ·Åº¯ÊýÌåµÄ¶þ½øÖÆ´úÂë¡£
ÏÂÃæµÄÀý×Ó¿ÉÒÔÍêȫչʾ²»Í¬µÄ±äÁ¿ËùÕ¼µÄÄÚ´æÇøÓò£º
//main.cpp
int a = 0; È«¾Ö³õʼ»¯Çø
char *p1; È«¾Öδ³õʼ»¯Çø
main()
{
int b; //Õ»ÖÐ
char s[] = "abc"; //Õ»ÖÐ
char *p2; //Õ»ÖÐ
char *p3 = "123456"; //123456\0ÔÚ³£Á¿Çø£¬p3ÔÚÕ»ÉÏ
static int c =0£» //È«¾Ö£¨¾²Ì¬£©³õʼ»¯Çø ......
×ܼǼÊý:2015; ×ÜÒ³Êý:336; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [285] [286] [287] [288] 289 [290] [291] [292] [293] [294]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ