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

C/C++º¯Êýµ÷ÓÃÔ¼¶¨Ö®¼äµÄת»»

CÓïÑԵijõѧÕß³£·¸µÄÒ»¸öʧÎóÊǵ÷ÓÃϵͳ»òµÚÈý·½APIʱÍüÁËÔÚº¯ÊýÉùÃ÷Öбê×¢WINAPIµ÷Ó÷½Ê½£¬¶ø²ËÄñC++³ÌÐòԱҲÿÿÀ§»óΪʲô³ÉÔ±º¯Êý±ØÐëָʾΪCALLBACKÔÙÌí¼Óstatic¹Ø¼ü×Ö²ÅÄÜ×÷Ϊ»Øµ÷º¯Êý¡£ÔÚx86ϵͳÖУ¬´æÔÚ¶àÖÖº¯Êýµ÷ÓÃÔ¼¶¨¡£Èç¹ûµ÷ÓÃÕßÓë±»µ÷ÓÃÕß²ÉÓò»Í¬µÄµ÷ÓÃÔ¼¶¨£¬ºÜ¿ÉÄܵ¼Ö¶ÑÕ»ÆÆ»µ¡¢·Ç·¨·ÃÎʵÈÖÂÃü´íÎó¡£
Ò²ÐíÄú»áµÃ³öÒ»¸ö½áÂÛ£¬³ý·Ç½èÖú»ã±àÖ¸Á·ñÔòµ÷ÓÃÔ¼¶¨Ö®¼äµÄת»»ÊDz»¿ÉÄܵġ£²»¹ýºÜ¶àÊÂÇé¶¼²»ÊǾø¶ÔµÄ¡£ÎÒÃÇÏÈ¿´ÏÂÃæµÄÀý×Ó£º
#include
int __cdecl CDeclFunction()
{
printf("from CDecl function\n");
return 1;
}
int main()
{
printf("Begin call STDCall function\n");
typedef int(__stdcall * STDCALLFUNCTION)();
STDCALLFUNCTION pfn =(STDCALLFUNCTION)CDeclFunction;
int i=pfn();
printf("End call STDCall function\n");
return i;
}
ÕâÊÇÒ»¸ö¼òµ¥µÄº¯Êýµ÷ÓõÄÀý×Ó£¬Î¨Ò»ÌرðµÄµØ·½ÊǺ¯Êý¶¨ÒåΪ__cdecl£¬¶øµ÷ÓÃʱ²ÉÓÃ__stdcall·½Ê½¡£ÎÒÃǰÑÕâ¶Î´úÂë±àÒëºóÖ´ÐС£àÀ£¬Ò»ÇÐÕý³£¡£Èç¹ûÄú²»·þÆø£¬ÔÙ¼ÓÒ»¸öforÑ­»·¿´¿´J
ÎÒÃÇÔÙÀ´¿´ÁíÒ»¸ö¸üÌØ±ðµÄÀý×Ó£º
#include
int __stdcall StdCallFunction (int i, char* pszString)
{
printf("from STDCall function\n");
printf(pszString);
return i;
}
int main()
{
printf("Begin call FastCall function\n");
typedef int(__fastcall * FASTCALLFUNCTION)(int, int, int, char*);
FASTCALLFUNCTION pfn =(FASTCALLFUNCTION)StdCallFunction;
int i=pfn(0,0,3,"test\n");
printf("End call FastCall function\n");
return i;
}
Õâ´Î²»¹âµ÷Ó÷½Ê½²»Í¬£¬Á¬²ÎÊýµÄ¸öÊý¶¼²»Ò»Ñù¡£±ðµ£ÐÄ£¬ÎÒÃDZàÒëºóÖ´ÐС£»¹ÊÇÒ»ÇÐÕý³££¡
Èç¹ûÄú¶ÔÉÏÊöÁ½¸öÀý×Ó°Ù˼²»µÃÆä½âµÄ»°£¬ÏÖÔÚ¸ÃÊǽ⿪ÃÕµ×µÄʱºòÁË¡£Õâ¸öÃÕµ×¾ÍÊǺ¯Êýµ÷ÓÃÔ¼¶¨±¾Éí¡£ÍøÉϽéÉܵ÷ÓÃÔ¼¶¨µÄ×ÊÁÏÒѾ­Ï൱¶àÁË£¬²»¹ý¼¸ºõ¶¼²àÖØ±È½Ï¸÷ÖÖµ÷Ó÷½Ê½µÄ²î±ð£¬¶ø±¾ÎĽ«°ÑÖØµã·ÅÔÚÕâЩµ÷Ó÷½Ê½Ö®¼äµÄÁªÏµÉÏÃæ£¨ÕâÀïÒ²ÂÔÈ¥Öî¶àÓëÖ÷ÌâÎ޹صÄϸ½Ú£¬ÒªÏëÁ˽⺯Êýµ÷ÓÃÔ¼¶¨µÄËùÓз½Ê½£¬ÏàÓ¦µÄ»ã±à´úÂ룬ÒÔ¼°ÔÚ²ÎÊý»ò·µ»ØÖµ³¬¹ý32λµÈ¸´ÔÓÇé¿öµÄ´¦Àí·½Ê½£¬Çë²éÔı¾ÎÄÁгöµÄ²Î¿¼ÊéÄ¿£©¡£
µ÷Óú¯Êýʱ£¬ÐèÒª´«µÝ²ÎÊý£¬²¢½ÓÊÕ·µ»ØÖµ¡£¶ÔÓÚC++ ·Ç¾²Ì¬³ÉÔ±º¯Êý£¬»¹Òª¿¼ÂÇÈçºÎ´«µÝthisÖ¸Õë¡£ÕâҪô²ÉÓüĴæÆ÷£¬ÒªÃ´²ÉÓöÑÕ»¡£Èç¹û²ÉÓöÑÕ»£¬»¹Òª¿¼ÂÇÓÉË­¸ºÔð»Ö¸´¶ÑÕ»µÄƽºâ¡£µ÷


Ïà¹ØÎĵµ£º

unix cѧϰָÄÏ (Êé¼®,ѧϰ·½·¨µÈ)

ÒýÑÔ
¾¡¹Ü C ÓïÑÔÎÊÊÀÒѽü 30 Ä꣬µ«ËüµÄ÷ÈÁ¦ÈÔδ¼õÍË¡£C ÓïÑÔ¼ÌÐøÎüÒý×ÅÖÚ¶àµÄ¿ª·¢Õߣ¬ËûÃÇΪÁ˱àд¡¢ÒÆÖ²»òά»¤Ó¦ÓóÌÐò¶ø±ØÐëѧϰм¼ÄÜ¡£
±¾ÎÄÊÇΪÁËÂú×ã¶ÔCÓïÑÔ³õѧÕß»òÏëÌá¸ß×ÔÉíCÓïÑÔÐÞΪµÄ¿ª·¢ÈËÔ±µÄÐèÒª¶øÐ´µÄ¡£Ï£Íû¶ÔÄúµÄѧϰºÍ¹¤×÷ÓÐËù°ïÖú¡£ÄúÒ²Ðí²»ÔÞͬÆäÖеÄijЩ·½·¨£¬µ«ÎÒÃÇÏ£ÍûÄú»áϲ»¶ÆäÖеÄһЩ¡£
±¾Î ......

ÓÃEclipse´î½¨C/C++¿ª·¢Æ½Ì¨

̸µ½EclipseÕâ¸ö¿ªÔ´IDE£¬´ó¼Ò¶¼»áDZÒâʶµØ°ÑËüºÍJAVA¿ª·¢ÁªÏµÆðÀ´¡£Ã»´í£¬EclipseÓÃÓÚJAVA applicationµÄ¿ª·¢ÊÇĿǰµÄÖ÷Á÷£¬¶øÇÒËü±¾ÉíÒ²ÊÇÐèÒªJRE²ÅÄÜÔËÐеģ¬Òò¶øÎÞÂÛÔõô¿´Eclipse¶¼ÓëJAVAÓÐÃܲ»¿É·ÖµÄÁªÏµ¡£ µ«Êµ¼ÊÉÏEclipseÖ»ÊÇÒ»¸ö¿ª·¢»·¾³£¬Ò»¸öΪ³ÌÐòÔ±ÌṩµÄ¿ò¼Ü£¬ÓëÓïÑÔ²¢ÎÞÖ±½ÓÁªÏµ¡£×Ô´Ó2001ÄêIBM½«Eclipse¾èÏ ......

C/C++±ê×¼¿âʹÓÃ

ÊÕ¼¯ÁË¿´Ò»ÏÂC/C++±ê×¼¿âʹÓõÄÏà¹ØÍøÕ¾£º
GNU¹ÙÍø£º
http://www.gnu.org/
¸ÃÍøÕ¾°üº¬C/C++±ê×¼¿âµÄʹÓ÷¶Àý£¬ÖµµÃ²Î¿¼£º
http://www.cplusplus.com/
ÔÚǶÈëʽµÚÈý·½Èí¼þÒÆÖ²Ê±£¬»áʹÓÃSTLÄ£°å¿â×÷ÏàÓ¦ÒÆÖ²£¬ÈçAndroidƽ̨JNI·â×°¼°ÒÆÖ²µÈ¡£
¸ÃÍøÕ¾½éÉÜstlportµÄʹÓã¬stlportÒѿɳɹ¦ÒÆÖ²ÖÁAndroidµÈǶÈëʽƽ̨£¬²¢Ç ......

Õë¶ÔǶÈëʽSoCÓ¦ÓÃC±à³ÌÓÅ»¯¼°±àÒëÆ÷Ô­Àí

       ¿ª·¢ÔËÐÐÔÚSoCÄÚµÄǶÈëʽ´¦ÀíÆ÷Äں˵ijÌÐòʱ£¬¹¤³ÌʦÓÐÁ½¸öÖ÷ҪĿµÄ£ºÔËÐеÃ×ã¹»¿ì£¬Ê¹´¦ÀíÆ÷ÔËÐÐµÄÆµÂʽµµ½×îµÍ£»ÏûºÄ¾¡Á¿ÉÙµÄÄڴ棬ʹÄڴ濪Ïú½µµ½×îС¡£ 
      
         ¶ÔÓÚ²»Í¬µÄÏ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ