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

[VC]º¯Êýµ÷ÓÃÔ¼¶¨½âÎö(C/C++)

C/C++º¯Êýµ÷ÓÃÔ¼¶¨ºÍº¯ÊýÃû³ÆÐÞÊιæÔò̽ÌÖ
×÷ÕߣºÐǹ죨oRbIt£©
 
ʹÓÃC/C++ÓïÑÔ¿ª·¢Èí¼þµÄ³ÌÐòÔ±¾­³£Åöµ½ÕâÑùµÄÎÊÌ⣺ÓÐʱºòÊdzÌÐò±àÒëûÓÐÎÊÌ⣬µ«ÊÇÁ´½ÓµÄʱºò×ÜÊDZ¨¸æº¯Êý²»´æÔÚ£¨¾­µäµÄLNK
2001´íÎ󣩣¬ÓÐʱºòÊdzÌÐò±àÒëºÍÁ´½Ó¶¼Ã»ÓдíÎ󣬵«ÊÇÖ»Òªµ÷ÓÿâÖеĺ¯Êý¾Í»á³öÏÖ¶ÑÕ»Òì³£¡£ÕâЩÏÖÏóͨ³£ÊdzöÏÖÔÚCºÍC++µÄ´úÂë»ìºÏʹÓõÄÇé¿öÏ»ò
ÔÚC++³ÌÐòÖÐʹÓõÚÈý·½µÄ¿âµÄÇé¿öÏ£¨²»ÊÇÓÃC++ÓïÑÔ¿ª·¢µÄ£©£¬ÆäʵÕâ¶¼ÊǺ¯Êýµ÷ÓÃÔ¼¶¨£¨Calling
Convention£©ºÍº¯ÊýÃûÐÞÊΣ¨Decorated
Name£©¹æÔòÈǵĻö¡£º¯Êýµ÷Ó÷½Ê½¾ö¶¨Á˺¯Êý²ÎÊýÈëÕ»µÄ˳Ðò£¬ÊÇÓɵ÷ÓÃÕߺ¯Êý»¹ÊDZ»µ÷Óú¯Êý¸ºÔðÇå³ýÕ»ÖеIJÎÊýµÈÎÊÌ⣬¶øº¯ÊýÃûÐÞÊιæÔò¾ö¶¨Á˱àÒëÆ÷ʹ
ÓúÎÖÖÃû×ÖÐÞÊη½Ê½À´Çø·Ö²»Í¬µÄº¯Êý£¬Èç¹ûº¯ÊýÖ®¼äµÄµ÷ÓÃÔ¼¶¨²»Æ¥Åä»òÕßÃû×ÖÐÞÊβ»Æ¥Åä¾Í»á²úÉúÒÔÉϵÄÎÊÌâ¡£±¾ÎÄ·Ö±ð¶ÔCºÍC++ÕâÁ½ÖÖ±à³ÌÓïÑԵĺ¯Êýµ÷
ÓÃÔ¼¶¨ºÍº¯ÊýÃûÐÞÊιæÔò½øÐÐÏêϸµÄ½âÊÍ£¬±È½ÏÁËËüÃǵÄÒì֮ͬ´¦£¬²¢¾ÙÀý˵Ã÷ÁËÒÔÉÏÎÊÌâ³öÏÖµÄÔ­Òò¡£
º¯Êýµ÷ÓÃÔ¼¶¨£¨Calling Convention£©
   
º¯Êýµ÷ÓÃÔ¼¶¨²»½ö¾ö¶¨ÁË·¢Éúº¯Êýµ÷ÓÃʱº¯Êý²ÎÊýµÄÈëջ˳Ðò£¬»¹¾ö¶¨ÁËÊÇÓɵ÷ÓÃÕߺ¯Êý»¹ÊDZ»µ÷Óú¯Êý¸ºÔðÇå³ýÕ»ÖеIJÎÊý£¬»¹Ô­¶ÑÕ»¡£º¯Êýµ÷ÓÃÔ¼¶¨Óкܶ෽
ʽ£¬³ýÁ˳£¼ûµÄ__cdecl£¬__fastcallºÍ__stdcallÖ®Í⣬C++µÄ±àÒëÆ÷»¹Ö§³Öthiscall·½Ê½£¬²»ÉÙC/C++±àÒëÆ÷»¹Ö§³Ö
naked
call·½Ê½¡£Õâô¶àº¯Êýµ÷ÓÃÔ¼¶¨³£³£ÁîÐí¶à³ÌÐòÔ±ºÜÃԻ󣬵½µ×ËüÃÇÊÇÔõô»ØÊ£¬¶¼ÊÇÔÚʲôÇé¿öÏÂʹÓÃÄØ£¿ÏÂÃæ¾Í·Ö±ð½éÉÜÕ⼸ÖÖº¯Êýµ÷ÓÃÔ¼¶¨¡£
1.__cdecl
   
±àÒëÆ÷µÄÃüÁîÐвÎÊýÊÇ/Gd¡£__cdecl·½Ê½ÊÇC/C++±àÒëÆ÷ĬÈϵĺ¯Êýµ÷ÓÃÔ¼¶¨£¬ËùÓзÇC++³ÉÔ±º¯ÊýºÍÄÇЩûÓÐÓÃ__stdcall»ò
__fastcallÉùÃ÷µÄº¯Êý¶¼Ä¬ÈÏÊÇ__cdecl·½Ê½£¬ËüʹÓÃCº¯Êýµ÷Ó÷½Ê½£¬º¯Êý²ÎÊý°´ÕÕ´ÓÓÒÏò×óµÄ˳ÐòÈëÕ»£¬º¯Êýµ÷ÓÃÕ߸ºÔðÇå³ýÕ»ÖеIJÎÊý£¬ÓÉ
ÓÚÿ´Îº¯Êýµ÷Óö¼ÒªÓɱàÒëÆ÷²úÉúÇå³ý£¨»¹Ô­£©¶ÑÕ»µÄ´úÂ룬ËùÒÔʹÓÃ__cdecl·½Ê½±àÒëµÄ³ÌÐò±ÈʹÓÃ__stdcall·½Ê½±àÒëµÄ³ÌÐòÒª´óºÜ¶à£¬µ«ÊÇ
__cdeclµ÷Ó÷½Ê½ÊÇÓɺ¯Êýµ÷ÓÃÕ߸ºÔðÇå³ýÕ»Öеĺ¯Êý²ÎÊý£¬ËùÒÔÕâÖÖ·½Ê½Ö§³Ö¿É±ä²ÎÊý£¬±ÈÈçprintfºÍwindowsµÄAPI
wsprintf¾ÍÊÇ__cdeclµ÷Ó÷½Ê½¡£¶ÔÓÚCº¯Êý£¬__cdecl·½Ê½µÄÃû×ÖÐÞÊÎÔ¼¶¨ÊÇÔÚº¯ÊýÃû³ÆÇ°Ìí¼ÓÒ»¸öÏ»®Ïߣ»¶ÔÓÚC++º¯Êý£¬³ý·ÇÌØ±ðʹ
ÓÃextern
"C"£¬C++º¯ÊýʹÓò»Í¬µÄÃû×ÖÐÞÊη½Ê½¡£
2.__fastcall
   
±àÒëÆ÷µÄ


Ïà¹ØÎĵµ£º

GPS³¤Êý¾Ý²¶»ñʱµÄC/AÂëÏàÎ»Æ¯ÒÆ

GPSÐźų¤Êý¾Ý²¶»ñC/AÂëÏàλ²»Ò»ÖµÄÎÊÌâ
¡¡¡¡ÔÚÉú³ÉÁ˹̶¨C/AÂëÏà루¹Ì¶¨ËÙ¶È¡¢¼ÓËÙ¶ÈΪ0m/s2¡¢¼Ó¼ÓËÙ¶ÈΪ0m/s3£©µÄ½Ï³¤Ê±¼äµÄ·ÂÕæÊý¾Ýºó£¬ÓÃÀ´×ö¶à´Î²¶»ñʵÑé¡£´Ëʱ»á·¢ÏÖ£¬µ±²¶»ñµÄ´ÎÊý¶àÁËÖ®ºó»á³öÏÖC/AÂëÏàλµÄµÝÔöÏÖÏó¡£µ±È»³ýÁ˳ÌÐò¿ÉÄܳöÏֵĸ÷ÖÖÔ­ÒòÒÔÍ⣬»¹¿ÉÒÔ×öÈçϽâÊÍ£ºÓÉÓÚ²ÉÑùƵÂʲ»ÄÜΪC/AÂëËÙÂʵÄÕûÊý± ......

S3C2410 Nand Flash¿ØÖÆÆ÷

    ·ÃÎÊNand FlashʱÐèÒªÏÈ·¢³öÃüÁȻºó·¢³öµØÖ·ÐòÁУ¬×îºó¶Á/дÊý¾Ý£»
    ÐèҪʹÓø÷¸öÐźÅÀ´·Ö±æÃüÁî¡¢µØÖ·¡¢Êý¾Ý£»
    S3C2410 µÄNand  Flash¿ØÖÆÆ÷ ÌṩÁËÏà¹Ø¼Ä´æÆ÷À´¼ò»¯ÕâЩ²Ù×÷£º
           & ......

Optimizing Your C/C++ Applications


C/C++ optimizing compilers are great--but there *are* a few techniques for hand-tuning your code to run as efficiently as possible on the AMD Athlon64 and Opteron processors, especially when developing DLLs, device drivers, or other performance-bound pieces of code.
Alan Zeichick  
Share | ......

extern cµÄ×÷ÓÃ


1.ÒýÑÔ
C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better
C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³Ì
ʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++ ......

C Êý¾Ý½á¹¹ÌâÄ¿´ð°¸·ÖÏí

´óѧÒѾ­À´µ½ÁË×îÖØÒªµÄʱÆÚÁË£¬ÎÒ²»ÄÜÔÙÒ»ÊÂÎÞ³ÉÁË¡£¹â˵ûÓã¬ËùÒÔ¾ÍÔÚÕâÀïдÏÂÎÄÕ£¬ÒԼǼÎҵijɳ¤Àú³Ì¡£
ÕâѧÆÚ¸ÕºÃѧµ½Êý¾Ý½á¹¹£¬ÄǾͽ«ÌâÄ¿·ÖÎöµÄ¹ý³Ì¼°´úÂëдÏÂÀ´£¬¹©ÒÔºó×Ô¼ºÈ¡Éá¡£Òò±¾ÈËˮƽһ°ã£¬ËùÒÔ´úÂë²¢²»Ò»¶¨ÊÇ×îÓŵ쬵«ÊÇÎÒ»áŬÁ¦¸Ä½ø£¬×ö×îºÃµÄ×Ô¼º£¡ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ