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

Windows Via C/C++: CreateThreadº¯Êý

CreateThreadº¯Êý
Ç°Ãæ½²¹ý£¬½ø³ÌµÄÖ÷Ï̻߳áÔÚCreateProcessµ÷ÓÃʱ×Ô¶¯´´½¨¡£¼ÙÈçÄãÒªÊÖ¹¤´´½¨Ị̈߳¬Äã¿ÉÒÔµ÷ÓÃCreateThreadº¯Êý£º
HANDLE CreateThread(
PSECURITY_ATTRIBUTES psa,
DWORD cbStackSize,
PTHREAD_START_ROUTINE pfnStartAddr,
PVOID pvParam,
DWORD dwCreateFlags,
PDWORD pdwThreadID);
ϵͳÔÚµ÷ÓÃCreateThreadʱ´´½¨Ò»¸öÏß³ÌÄں˶ÔÏó£¬Ïß³ÌÄں˶ÔÏó²¢·ÇÏ̱߳¾Éí£¬ËüÊDzÙ×÷ϵͳÓÃÀ´¹ÜÀíÏ̵߳ÄÊý¾Ý½á¹¹£¬ÆäÖаüº¬Ï̵߳Äͳ¼ÆÐÅÏ¢¡£ÕâÓë½ø³ÌºÍ½ø³ÌÄں˶ÔÏóµÄ¹ØϵÊÇÀàËƵġ£
ϵͳ´Ó½ø³ÌµÄµØÖ·¿Õ¼äÖÐΪÏß³ÌÕ»·ÖÅä¿Õ¼ä¡£ÐµÄÏ̺߳ʹ´½¨ËüµÄÏß³ÌÔËÐÐÔÚͬÑùµÄ½ø³ÌÉÏÏÂÎÄÖУ¬Òò´ËÐÂÏ߳̿ÉÒÔ·ÃÎʽø³ÌµÄ¾ä±ú±í¡¢µØÖ·¿Õ¼äÒÔ¼°ÆäËü´¦ÔÚͬһ½ø³ÌÉÏÏÂÎÄÖеÄËùÓÐÏ̵߳ĶÑÕ»£¬ÕâʹµÃͬһ½ø³ÌÄڵĶà¸öÏß³ÌÏ໥ͨÐűäµÃ¼«Îª¼òµ¥¡£
×¢Òâ CreateThreadº¯ÊýÊÇÓÃÀ´´´½¨Ï̵߳ÄWindows APIº¯Êý¡£¼ÙÈçÄãʹÓÃC/C++´úÂë´´½¨ÐÂỊ̈߳¬ÄãÓ¦¸Ã±ÜÃâʹÓÃCreateThread£¬¶øÓÃ΢ÈíC++ÔËÐÐʱ¿âº¯Êý_beginthreadex´úÌæ¡£±¾ÕÂÉÔºó»á½²µ½_beginthreadexº¯Êý²¢½âÊÍÓÃËü´úÌæCreateThreadµÄÔ­Òò¡£
ÏÂÃæÎÒÃÇÀ´¿´¿´CreateThreadµÄ²ÎÊý¡£
psa
psaÊÇSECURITY_ATTRIBUTES½á¹¹µÄÖ¸Õ룬ÏòÆä´«µÝNULL±íʾ´´½¨µÄÏß³ÌÄں˶ÔÏóʹÓÃĬÈϵݲȫÊôÐÔ¡£Èç¹ûÏëÈÃÐÂÏß³ÌÄں˶ÔÏóµÄ¾ä±úÄܱ»×Ó½ø³Ì¼Ì³Ð£¬ÄãÓ¦¸ÃΪÆä´«µÝÒ»¸öSECURITY_ATTRIBUTES½á¹¹µÄÖ¸Õ룬²¢½«bInheritHandleÓòÉèÖÃΪTRUE£¬µÚ3Õ¶ԴËÓÐÏêϸµÄ˵Ã÷¡£
cbStackSize
[¹ØÓÚcbStackSizeµÄ½âÊͲο¼ÁËMSDN£¬ÓëÔ­ÎÄÓгöÈ룬²ÎÔÄhttp://msdn.microsoft.com/en-us/library/ms686774%28VS.85%29.aspx
]
ÿ¸öÏ̵߳ĶÑÕ»ÓÉÔ¤Áô£¨reverse£©¿Õ¼äºÍϵͳ×î³õΪÆäÌá½»£¨commiteted£©µÄÒ³Ãæ¿Õ¼ä×é³É¡£Ô¤Áô¿Õ¼äµÄ´óС±íʾϵͳÔÚ½ø³ÌµÄÐéÄâµØÖ·¿Õ¼äÖÐΪÏß³ÌÕ»·ÖÅäµÄ×Ü´óС£¬Òò´ËÔ¤Áô¿Õ¼äµÄ´óСÊܽø³ÌµØÖ·¿Õ¼ä´óСµÄÖÆÔ¼¡£³õʼÌá½»µÄÒ³Ãæ¿Õ¼äʹÓÃʱ²Å»áÔØÈëÄڴ棬Èç¹ûÏß³ÌÔËÐÐʱËùÐèµÄ¿Õ¼ä³¬¹ý³õʼÌá½»µÄÒ³Ãæ¿Õ¼ä´óС£¬ÏµÍ³»á´ÓÏ̱߳£Áô¿Õ¼äÖÐΪÆä¼ÌÐøÌá½»Ò³ÃæÎļþ£¬Ö±µ½Ï̵߳ÄÔ¤Áô¿Õ¼ä½öÊ£ÏÂÒ»Ò³´óС£¬ÕâÒ»Ò³×÷Ϊ“ÉÚ±ø”ÓÃÀ´·ÀÖ¹Ïß³ÌÕ»µÄÒç³ö£¬²»ÄÜÔÚ³ÌÐòÖÐʹÓá£
µ±Ï̺߳¯ÊýÍ˳ö»òµ÷ÓÃExitProcessʱ£¬ÏàÓ¦µÄÏß³ÌÕ»»á±»Ïú»Ù£¬Èç¹ûÏß³ÌÊÇÓÉÆäËüÏß³ÌÖÕÖ¹µÄ£¬ÆäÏß³ÌÕ»»áÒ»Ö±´æÔÚÖ±ÖÁ½ø³ÌÖÕÖ¹¡£
Ïß³ÌÔ¤Áô¿Õ¼äºÍ³õʼÌá½»Ò³ÃæµÄ´óСÊÇÔÚ¿ÉÖ´ÐÐÎļþµÄÍ·²¿¶¨ÒåµÄ¡£Ä¬ÈϵÄÔ¤Áô¿Õ¼ä´óСÊÇ1MB£¬³õʼÌá½»Ò³Ãæ´óСΪ8K¡£ÊÖ¶¯


Ïà¹ØÎĵµ£º

JavaºÍC++λÔËËã¶Ô±È

ΪÁËʵÏÖÁ½¸öÊý×Ö½øÐн»»»£¬ÎÒÃÇͨ³£¿ÉÒÔÀûÓÃλÔËËãÀ´ÊµÏÖ
C++³ÌÐò     swap(int a  ,int b){a^=b^=a^=b;}
JAVA³ÌÐò    swap(int a, int b){  a^=b;b^=a;a^=b; }»òÕß{ b^=(a^=b) ; a^=b;}
Èç¹ûJAVAÓÃC++µÄʵÏÖ·½Ê½Ôò»áµÃµ½ bµÃµ½ÁËaµÄÖµ£¬µ«ÊÇaÏÖÔÚµÄֵȴ² ......

SQLite C/C++½Ó¿Ú½éÉÜ

ÕâƪÎÄÕÂÊÇʹÓÃSQLite C/C++½Ó¿ÚµÄÒ»¸ö¸ÅÒª½éÉܺÍÈëÃÅÖ¸ÄÏ¡£
ÓÉÓÚÔçÆÚµÄSQLiteÖ»Ö§³Ö5¸öC/C++½Ó¿Ú£¬Òò¶ø·Ç³£ÈÝÒ×ѧϰºÍʹÓ㬵«ÊÇËæ×ÅSQLite¹¦ÄܵÄÔöÇ¿£¬ÐµÄC/C++½Ó¿Ú²»¶ÏµÄÔö¼Ó½øÀ´£¬µ½ÏÖÔÚÓг¬¹ý150¸ö²»Í¬µÄAPI½Ó¿Ú¡£ÕâÍùÍùʹ³õѧÕßÍû¶øÈ´²½¡£ÐÒÔ˵ÄÊÇ£¬´ó¶àÊýSQLiteÖеÄC/C++½Ó¿ÚÊÇרÓõģ¬Òò¶øºÜÉÙ±»Ê¹Óõ½¡£¾¡¹ÜÓÐÕâ ......

³£ÓõÄC/C++¹¤³ÌMakefileÄ£°å

תÌû£ºÒ»»ÔµÄÎÄÕÂ
ÔÚLinuxÏÂ×ö¿ª·¢ÄÑÃâÒª½Ó´¥makefile£¬Õû¸öÏîÄ¿µÄ¹¹½¨¶¼ÒÀÀµÓÚËü¡£100¸ödeveloperÓÐ100ÖÖmakefileµÄд·¨£¬ÔÚÒ»¸ö½Ï´óµÄÏîÄ¿ÖУ¬¸÷ÖÖ¸÷ÑùµÄmakefileÎÞÂÛÔÚ¿ª·¢¡¢ºóÆÚά»¤»¹ÊÇÕû¸öϵͳµÄ³ÖÐø¼¯³É¶¼ÊÇÒ»¸ö¸ºµ£¡£
ÓÐÐÒ²ÎÓëÖع¹Ò»¸öÒÅÁôϵͳµÄmakefile£¬ÒÔÏÂÊÇһЩÐĵúÍÒ»¸ömakefileÄ£°å¡£
Öع¹Ä¿µÄ£º
1.Çå ......

¡¾ÍƼö¡¿CºÍC++ÓïÑÔѧϰ×ܽá(¿ÉÒÔÓ¦¶ÔÃæÊÔµÄÌâÄ¿)

CºÍC++ÓïÑÔѧϰ×ܽá(×ÊÁÏÀ´×Ô <¸ßÖÊÁ¿C++/C ±à³ÌÖ¸ÄÏ> ÁÖÈñ²©Ê¿ 2001 Äê7 ÔÂ24)
֪ʶ½á¹¹:
1¡¢if,for,switch,goto
2¡¢#define,const
3¡¢Îļþ¿½±´µÄ´úÂë,¶¯Ì¬Éú³ÉÄÚ´æ,¸´ºÏ±í´ïʽ,strcpy,memcpy,sizeof
4¡¢º¯Êý²ÎÊý´«µÝ,ÄÚ´æ·ÖÅ䷽ʽ,ÄÚ´æ´íÎó±íÏÖ,mallocÓënewÇø±ð
5¡¢ÀàÖØÔØ¡¢Òþ²ØÓ븲¸ÇÇø±ð,externÎÊÌâ, ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ