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

Windows C ¶àÏ̱߳à³ÌµÄ¿âÖ§³Ö

Windows C ¶àÏ̱߳à³ÌµÄ¿âÖ§³Ö
Ïß³ÌʵÖÊÉÏÊdzÌÐòÖеÄÖ´Ðз¾¶¡£Ò²ÊÇ Win32 °²ÅŵÄ×îСִÐе¥Ôª¡£Ḭ̈߳üÀ¨¶ÑÕ»¡¢CPU ¼Ä´æÆ÷µÄ״̬ºÍϵͳ¼Æ»®³ÌÐòÖ´ÐÐÁбíÖеÄÏÿ¸öÏ̹߳²ÏíËùÓнø³ÌµÄ×ÊÔ´¡£
½ø³Ì°üÀ¨Ò»¸ö»ò¶à¸öÏ̺߳ʹúÂë¡¢Êý¾ÝºÍÄÚ´æÖÐµÄÆäËû³ÌÐò×ÊÔ´¡£µäÐ͵ijÌÐò×ÊÔ´ÊÇ´ò¿ªµÄÎļþ¡¢ÐźŵƺͶ¯Ì¬·ÖÅäµÄÄÚ´æ¡£µ±ÏµÍ³¼Æ»®³ÌÐò¸øÓèÆäÖеÄÒ»¸öÏß³ÌÖ´ÐпØÖÆÊ±£¬¼´Ö´ÐгÌÐò¡£¼Æ»®³ÌÐòÈ·¶¨Ó¦µ±ÔËÐÐÄÄЩÏß³ÌÒÔ¼°ËüÃÇÓ¦µ±ºÎʱÔËÐС£½ÏµÍÓÅÏȼ¶µÄÏ߳̿ÉÄܱØÐëµÈµ½½Ï¸ßÓÅÏȼ¶µÄÏß³ÌÍê³ÉÈÎÎñºó²ÅÄÜÔËÐС£ÔÚ¶à´¦ÀíÆ÷¼ÆËã»úÉÏ£¬¼Æ»®³ÌÐò¿ÉÒÔ½«µ¥¸öÏß³ÌÒÆµ½²»Í¬µÄ´¦ÀíÆ÷Òԓƽºâ”CPU ¸ººÉ¡£
½ø³ÌÖеÄÿ¸öÏ̶߳¼¶ÀÁ¢ÔËÐС£³ý·ÇʹÕâЩÏß³ÌÏ໥¿É¼û£¬·ñÔòÏ̷ֱ߳ðÖ´ÐУ¬¶Ô½ø³ÌÖÐµÄÆäËûÏß³ÌÒ»ÎÞËùÖª¡£Ï̹߳²Ïí¹«¹²×ÊÔ´£¬µ«ÊÇ£¬±ØÐëʹÓÃÐźŵƻòÆäËû½ø³Ì¼äµÄͨÐÅ·½·¨Ð­µ÷ËüÃǵŤ×÷¡£
1¡¢¶àÏ̱߳à³ÌµÄ¿âÖ§³Ö
Èç¹ûÔÚÖ´ÐÐ printf º¯ÊýʱÓÐÏ̱߳» Win32 ¼Æ»®³ÌÐò¹ÒÆð£¬Ôò³ÌÐòµÄÆäËûÏß³ÌÖеÄijһ¸ö¿ÉÄܻῪʼִÐС£Èç¹ûµÚ¶þ¸öÏß³ÌÒ²µ÷Óà printf£¬Êý¾Ý¿ÉÄÜ»áË𻵡£Îª±ÜÃâÕâÖÖÇé¿ö£¬±ØÐëÏÞÖÆ¶Ôº¯ÊýʹÓõľ²Ì¬Êý¾ÝµÄ·ÃÎÊ£¬Ò»´ÎÖ»ÔÊÐíÒ»¸öÏ̷߳ÃÎÊÊý¾Ý¡£
ÒòΪÿ¸öÏ߳̾ßÓв»Í¬µÄ¶ÑÕ»£¬ËùÒÔ²»ÐèÒªÐòÁл¯¶Ô»ùÓÚ¶ÑÕ»µÄ£¨×Ô¶¯£©±äÁ¿µÄ·ÃÎÊ¡£Òò´Ë£¬Ö»Ê¹ÓÃ×Ô¶¯£¨¶ÑÕ»£©±äÁ¿µÄº¯ÊýÊÇ¿ÉÖØÈëµÄ¡£±ê×¼ C ÔËÐÐʱ¿â£¨Èç LIBC£©µÄ¿ÉÖØÈ뺯ÊýµÄÊýÁ¿ÓÐÏÞ¡£¶ÔÓÚÐèҪʹÓÃͨ³£²»¿ÉÖØÈëµÄ C ÔËÐÐʱ¿âº¯ÊýµÄ¶àÏ̳߳ÌÐò£¬Ó¦¸ÃʹÓöàÏ߳̿â LIBCMT.LIB À´Éú³É¡£
¶àÏß³Ì C ¿â£ºLIBCMT.LIB ºÍ MSVCRT.LIB
Ö§³Ö¿â LIBCMT.LIB ÊÇ¿ÉÖØÈë¿â£¬ÓÃÓÚ´´½¨¶àÏ̳߳ÌÐò¡£µ÷Óù²ÏíµÄ MSVCRT70.DLL ÖдúÂëµÄ MSVCRT.LIB ¿âÒ²ÊÇ¿ÉÖØÈë¿â¡£µ±Ó¦ÓóÌÐòµ÷ÓÃÕâЩ¿âÖеĺ¯Êýʱ£¬¿ÉÒÔÓ¦ÓÃÏÂÁйæÔò£º
ËùÓпâµ÷ÓñØÐëʹÓà C (__cdecl) µ÷ÓÃÔ¼¶¨£»Ê¹ÓÃÆäËûµ÷ÓÃÔ¼¶¨£¨Èç __fastcall »ò __stdcall£©±àÒëµÄ³ÌÐò±ØÐëʹÓÃËüÃǵ÷ÓõÄÔËÐÐʱ¿âº¯ÊýµÄ±ê×¼°üº¬Îļþ¡£
´«µÝµ½¿âº¯ÊýµÄ±äÁ¿±ØÐëÓÉÖµ´«µÝ»òת»»ÎªÖ¸Õë¡£
ʹÓà LIBCMT.LIB Éú³ÉµÄ³ÌÐò²»ÓëËüÃÇËùµ÷ÓõÄÈκζ¯Ì¬Á´½Ó¿â¹²Ïí C ÔËÐÐʱ¿â´úÂë»òÊý¾Ý¡£
LIBCMT.LIB ºÍ MSVCRT.LIB ÒÔÍâµÄÆäËûÑ¡Ôñ
Èç¹û²»Ê¹Óà LIBCMT.LIB À´Éú³É¶àÏ̳߳ÌÐò£¬±ØÐëÖ´ÐÐÏÂÁвÙ×÷£º
ʹÓñê×¼ C ¿â²¢ÇÒÖ»ÔÊÐí¿ÉÖØÈ뺯Êý¼¯½øÐпâµ÷Óá£
ʹÓà Win32 API Ï̹߳ÜÀíº¯Êý£¬Èç CreateThread¡£
ͨ¹ýʹÓà Win32 ·þÎñ£¨ÈçÐÅºÅµÆºÍ EnterCriticalSection ¼° LeaveCriticalSection º¯Êý£


Ïà¹ØÎĵµ£º

C51: MIXING C AND ASSEMBLY

ÒÔÏÂÈ«ÎÄ×ªÔØ×Ôhttp://www.keil.com/support/docs/1671.htm                     Copyright © 2010 Keil™, An ARM® Company.
Information in this article applies to:
C51 Version 6.02
&mi ......

MJÆÀ Ç廪cÓïÑÔÃÅ(һƪC×÷Òµ¿ÉÒÔµöµ½Å®ÓÑ?)

      Ö»ÊÇÓÐÈËÇ£Éæµ½Ð´³ÌÐòµÄ,ÎÒ¾Í˵˵.Å®Ö÷½ÇÈç¹û²»³öÀ´³ÎÇå¾ÍÒ»±²×Ó±»»ÙÁË.У·çÑϽ÷µÄÇ廪ҲÓÐÕâÖÖÀÄSµÄÐÐΪÓе㲻¿É˼Òâ.ÕÒ³ÌÐòԱд×÷ÒµÖ»ÊǸö·ÖÊֵĽè¿Ú°É.Å®Ö÷½Ç»¹Â÷ÇåÐãµÄ.³öÀ´ÌÖÕ®µÄ"Ô©´óÍ·"ÆäʵҲ²»ÀíÖÇ,»ÙÁËǰŮÓѵÄÐÒ¸£ºÜºÃÂð?
      µ«Ô¸CÓïÑÔÃÅÖ»ÊǸöÓéÀÖ ......

C/C++ÓïÑÔ±à³ÌÐÞÑø2

21¡¢gotoÓï¾äµÄʹÓÃ
—————————
 
NÄêǰ£¬Èí¼þ¿ª·¢µÄÒ»´ú×Úʦ——µÏ½ÜË¹ÌØÀ­(Dijkstra)˵¹ý£º“goto statment is
harmful !!”£¬²¢½¨ÒéÈ¡ÏûgotoÓï¾ä¡£ÒòΪgotoÓï¾ä²»ÀûÓÚ³ÌÐò´úÂëµÄά»¤ÐÔ¡£
 
ÕâÀïÎÒҲǿÁÒ½¨Ò鲻ҪʹÓÃgo ......

c/c++ static

C++µÄstaticÓÐÁ½ÖÖÓ÷¨£ºÃæÏò¹ý³Ì³ÌÐòÉè¼ÆÖеÄstaticºÍÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÖеÄstatic¡£Ç°ÕßÓ¦ÓÃÓÚÆÕͨ±äÁ¿ºÍº¯Êý£¬²»Éæ¼°ÀࣻºóÕßÖ÷Ҫ˵Ã÷staticÔÚÀàÖеÄ×÷Óá£
Ò»¡¢ÃæÏò¹ý³ÌÉè¼ÆÖеÄstatic
1¡¢¾²Ì¬È«¾Ö±äÁ¿
ÔÚÈ«¾Ö±äÁ¿Ç°£¬¼ÓÉϹؼü×Östatic£¬¸Ã±äÁ¿¾Í±»¶¨Òå³ÉΪһ¸ö¾²Ì¬È«¾Ö±äÁ¿¡£ÎÒÃÇÏȾÙÒ»¸ö¾²Ì¬È«¾Ö±äÁ¿µÄÀý×Ó£¬ÈçÏ£º ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ