Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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¡£ÊÖ¶¯


Ïà¹ØÎĵµ£º

LinuxÉ豸Çý¶¯Ö®I2C¼Ü¹¹·ÖÎö

Ò»:ǰÑÔ
I2cÊÇphilipsÌá³öµÄÍâÉè×ÜÏß.I2CÖ»ÓÐÁ½ÌõÏß,Ò»Ìõ´®ÐÐÊý¾ÝÏß:SDA,Ò»ÌõÊÇʱÖÓÏßSCL.ÕýÒòΪÕâÑù,Ëü·½±ãÁ˹¤³ÌÈËÔ±
µÄ²¼Ïß.ÁíÍâ,I2CÊÇÒ»ÖÖ¶àÖ÷»ú¿ØÖÆ×ÜÏß.ËüºÍUSB×ÜÏß²»Í¬,USBÊÇ»ùÓÚmaster-slave»úÖÆ,ÈκÎÉ豸µÄͨÐűØÐëÓÉÖ÷»ú·¢Æð²Å¿ÉÒÔ.¶ø
I2C ÊÇ»ùÓÚmulti master»úÖÆ.һͬ×ÜÏßÉÏ¿ÉÔÊÐí¶à¸ömaster.¹ØÓÚI2CЭÒéµÄÖª ......

PHPÀ©Õ¹C++


Õâ¸öÎĵµ¼òµ¥½éÉÜÁËÔõôʹÓÃC++ΪPHP±àдһ¸öÀ©Õ¹Ä£¿é¡£ÎÒÒѾ­±»Îʼ°Õâ¸öÎÊÌâÎÞÊý´ÎÁË£¬ËùÒÔÎÒ¾ö¶¨ÎªºóÀ´Õßдһ¸ö¼òµ¥µÄHOWTO¡£ÕâÆªÎÄÕÂÖ»»á˵Ã÷һЩҪµãºÍ¹Ø¼üÖ®´¦£¬Èç¹ûÄãÏ£ÍûѧϰC++»òPHP£¬Çë²éÔÄÆäËüµÄÎĵµ¡£
˳±ã£¬ÔÚ±¾ÎÄÖÐÎÒÃÇÒ²»á¿´Ò»ÏÂÔÚPHP5ÖÐÔõô°ÑC++ÀàÓ°Éäµ½PHPÖС£ÎÄÕÂÖеÄÀý×Ó¿ÉÒÔÔÚPHP4ºÍPHP5µÄ»·¾³ÏÂÊ¹Ó ......

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ÏÖÔÚµÄֵȴ² ......

Delphi Óë C/C++ Êý¾ÝÀàÐͶÔÕÕ±í

Delphi Óë C/C++ Êý¾ÝÀàÐͶÔÕÕ±í
DelphiÊý¾ÝÀàÐÍC/C++
ShorInt
8λÓзûºÅÕûÊý
char
Byte
8λÎÞ·ûºÅÕûÊý
BYTE,unsigned short
SmallInt
16λÓзûºÅÕûÊý
short
Word
16λÎÞ·ûºÅÕûÊý
unsigned short
Integer,LongInt
32λÓзûºÅÕûÊý
int,long
Cardinal,LongWord/DWORD
32λÎÞ·ûºÅÕûÊý
unsigned long
Int6 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ