Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
¡¡¡¡1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
¡¡¡¡´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í»§¼ÛÖµÉÏ£¬¶ø²»ÊÇÓïÑÔдµÃºÃ²»ºÃ¿´¡£
¡¡¡¡C++ÊÇCµÄÒ»¸öÃæÏò¶ÔÏóµÄ½âÊÍ£¬C++ΪCÀ©³äÁË´ó¹æÄ£¹¤³ÌÓ¦Ó㬸´ÔÓµÄϵͳ½á¹¹µÄ×éÖ¯ºÍÕÆ¿Ø·½·¨£¬µ«ÊÇ£¬ÎÒÈÏΪ£¬C++¹Ç×ÓÀﻹÊÇCµÄ¡£
¡¡¡¡±Ï¾¹£¬½â¾ö¾ßÌåÎÊÌ⣬ÿ¸öº¯ÊýÄÚ²¿£¬¶¼ÊÇÓÃCµÄ·½Ê½Ð´³ÌÐò£¬»¹ÊÇÃæÏò¹ý³ÌµÄ¡£
¡¡¡¡Òò´Ë£¬ÏëҪѧϰºÃC++£¬ÎҵĽ¨Ò飬ÏÈѧϰC£¬ÏÈѧ½â¾öÎÊÌâµÄÄÜÁ¦£¬ÔÙÌÖÂÛ½â¾ö´óÎÊÌâµÄÄÜÁ¦¡£¾ÍÊÇÏÈѧϰÔõô×ß·£¬ÔÙѧϰÔõôÅܲ½¡£
¡¡¡¡2¡¢Ñ§Ï°CµÄ¹ý³ÌÖУ¬Ò»¶¨ÒªÀí½â½á¹¹»¯±à³Ì˼ά¡£
¡¡¡¡ÎªÊ²Ã´ÄØ£¬ÎÒÇ°ÃæÓÐÎÄÕÂ˵¹ý£¬Èí¼þÓïÑԵķ¢Õ¹¹ý³Ì£¬¾ÍÊÇÒ»¸öÊý¾Ý˽Óл¯µÄ¹ý³Ì£¬´óÐ͹¤³ÌÓ¦Óã¬Ç¿µ÷¸ßÄÚ¾Û£¬µÍñîºÏ£¬Ä£¿é»¯Éè¼Æ£¬±£³Ö´úÂë×î´óµÄÁé»îÐԺͰ²È«ÐÔ¡£
ÕâÊÇÏÖ´ú¹¤³Ì»¯¿ª·¢µÄºËÐĺÍÁé»ê¡£
¡¡¡¡Òò´Ë£¬ÀûÓÃCÕâÃÅÓïÑÔÈëÃÅ£¬½è´ËÀí½â½á¹¹»¯¿ª·¢Ë¼Î¬£¬¿ÉÒÔ˵ÊǸöºÜ·½±ãµÄ·×Ó¡£ÒòΪCµÄº¯Êý£¬±¾À´¾ÍÊÇÎªÖØÓÃ×ö×¼±¸µÄ¡£Í¬Ê±£¬È«¾Ö±äÁ¿ºÍcppÄÚ²¿Ë½ÓбäÁ¿µÄ²î±ð£¬ÆäʹÓÃÔÔò£¬ÕâЩ¶¼ÄÜѧµ½ºÜ¶à ......
Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
¡¡¡¡1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
¡¡¡¡´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í»§¼ÛÖµÉÏ£¬¶ø²»ÊÇÓïÑÔдµÃºÃ²»ºÃ¿´¡£
¡¡¡¡C++ÊÇCµÄÒ»¸öÃæÏò¶ÔÏóµÄ½âÊÍ£¬C++ΪCÀ©³äÁË´ó¹æÄ£¹¤³ÌÓ¦Ó㬸´ÔÓµÄϵͳ½á¹¹µÄ×éÖ¯ºÍÕÆ¿Ø·½·¨£¬µ«ÊÇ£¬ÎÒÈÏΪ£¬C++¹Ç×ÓÀﻹÊÇCµÄ¡£
¡¡¡¡±Ï¾¹£¬½â¾ö¾ßÌåÎÊÌ⣬ÿ¸öº¯ÊýÄÚ²¿£¬¶¼ÊÇÓÃCµÄ·½Ê½Ð´³ÌÐò£¬»¹ÊÇÃæÏò¹ý³ÌµÄ¡£
¡¡¡¡Òò´Ë£¬ÏëҪѧϰºÃC++£¬ÎҵĽ¨Ò飬ÏÈѧϰC£¬ÏÈѧ½â¾öÎÊÌâµÄÄÜÁ¦£¬ÔÙÌÖÂÛ½â¾ö´óÎÊÌâµÄÄÜÁ¦¡£¾ÍÊÇÏÈѧϰÔõô×ß·£¬ÔÙѧϰÔõôÅܲ½¡£
¡¡¡¡2¡¢Ñ§Ï°CµÄ¹ý³ÌÖУ¬Ò»¶¨ÒªÀí½â½á¹¹»¯±à³Ì˼ά¡£
¡¡¡¡ÎªÊ²Ã´ÄØ£¬ÎÒÇ°ÃæÓÐÎÄÕÂ˵¹ý£¬Èí¼þÓïÑԵķ¢Õ¹¹ý³Ì£¬¾ÍÊÇÒ»¸öÊý¾Ý˽Óл¯µÄ¹ý³Ì£¬´óÐ͹¤³ÌÓ¦Óã¬Ç¿µ÷¸ßÄÚ¾Û£¬µÍñîºÏ£¬Ä£¿é»¯Éè¼Æ£¬±£³Ö´úÂë×î´óµÄÁé»îÐԺͰ²È«ÐÔ¡£
ÕâÊÇÏÖ´ú¹¤³Ì»¯¿ª·¢µÄºËÐĺÍÁé»ê¡£
¡¡¡¡Òò´Ë£¬ÀûÓÃCÕâÃÅÓïÑÔÈëÃÅ£¬½è´ËÀí½â½á¹¹»¯¿ª·¢Ë¼Î¬£¬¿ÉÒÔ˵ÊǸöºÜ·½±ãµÄ·×Ó¡£ÒòΪCµÄº¯Êý£¬±¾À´¾ÍÊÇÎªÖØÓÃ×ö×¼±¸µÄ¡£Í¬Ê±£¬È«¾Ö±äÁ¿ºÍcppÄÚ²¿Ë½ÓбäÁ¿µÄ²î±ð£¬ÆäʹÓÃÔÔò£¬ÕâЩ¶¼ÄÜѧµ½ºÜ¶à ......
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 ´´½¨¾²Ì¬¿â
¾²Ì¬¿âÊÇһЩ ......
#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 ºÅ¾¯ ......
ÀîÈôÀÏÊ¦Ôø¾Ëµ£ºÊÀ½çÉϵ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µÄÇ¿´ ......
ÀîÈôÀÏÊ¦Ôø¾Ëµ£ºÊÀ½çÉϵ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µÄÇ¿´ ......
ÎÒÃÇÒѾÁ˽âÈçºÎ¶¨ÒåÏß³ÌÈë¿Úµãº¯Êý¡¢µ÷ÓÃϵͳ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 ......
ÎÒÃÇÒѾÁ˽âÈçºÎ¶¨ÒåÏß³ÌÈë¿Úµãº¯Êý¡¢µ÷ÓÃϵͳ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 ......
ҪʵÏÖÔÚaspÍøÕ¾ÉÏ·¢ËÍ·ÉÐÅ£¬ÒªÇóÊÇÖйúÒÆ¶¯µÄÊÖ»úÓû§£¬²¢ÇÒ¿ªÍ¨Òƶ¯·ÉÐŹ¦ÄÜ¡£
ʹÓÃÒÔÏÂasp´úÂ룬Ð޸IJÎÊýΪÄãµÄÊÖ»úºÅ¼°·ÉÐÅÃÜÂ룬¾Í¿ÉÒÔʵÏÖÔÚÍøÕ¾·¢Ãâ·Ñ¶ÌÐŹ¦ÄÜ¡£
fsend.aspÎļþÔ´´úÂëÈçÏ£º
<%
Dim fno,fp,tofno,rurl
fno="138xxxxxxxx" 'ÊÖ»úºÅ
fp="xxxxxxxx" '·ÉÐÅÃÜÂë
tofno="137xxxxxxxx" '·¢ËÍÄ¿±êÊÖ»úºÅ(ÒªÇóÊÇ×Ô¼ºµÄºÅÂë»ò·ÉÐźÃÓÑ)
rurl="" 'Ìá½»ºó×ªÒÆµ½µÄÄ¿±êµØÖ·(Áô¿Õ½«²»×ªÒÆ)
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>ÇëÁôÏÂÄãµÄÁªÏµÐÅÏ¢</title>
</head>
<body style="font-size: 10pt; font-family: ËÎÌå">
<%if (Request("msg")="") then%>
<form method="POST" action="fsend.asp">
  ......