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

ÈçºÎÔÚC++Öе÷ÓÃCµÄ´úÂë

ÒÔÇ°Ôø¾­×ܽá¹ýһƪ(http://www.cppblog.com/franksunny/archive/2007/11/29/37510.html
)£¬¹ØÓÚÔÚ
C
ÖÐÈçºÎµ÷ÓÃ
C++
µÄ´úÂ룬µ±Ê±²¢Î´×öÍêÈ«µÄÕ¹¿ª£¬Ö»ÊǼòµ¥µÄ×öÁËϵ÷ÊÔ£¬×î½ü¿´µ½Ò»¸öÌâĿҪÇóʵÏÖ
C
ºÍ
C++
ÖдúÂëµÄ»¥Ïàµ÷Óã¬Æä½á¹ûËäÈ»¶¼ÊÇͨ¹ý
extern “C”
À´ÊµÏÖ
£¬µ«ÊǾßÌ廹ÊÇÓÐЩ²î±ðµÄ¡£
ÏȶÔ
C
Öе÷ÓÃ
C++
´úÂë×÷¸ö¼òµ¥»Ø¹Ë£º
1¡¢             
¶ÔÓÚ
C++
ÖзÇÀàµÄ³ÉÔ±º¯Êý£¬¿ÉÒÔ¼òµ¥µÄÔÚº¯ÊýÉùÃ÷Ç°Ãæ¼Ó
extern “C”
£¬Í¨³£º¯ÊýÉùÃ÷λÓÚÍ·ÎļþÖУ¬µ±È»Ò²¿ÉÒÔ½«ÉùÃ÷ºÍº¯Êý¶¨ÒåÒ»Æð·ÅÔÚ
cpp
ÖÐ
£¬ÔÚûÓÐÉùÃ÷µÄÇé¿öÏ£¬Ö±½ÓÔÚ¶¨ÒåǰÌí¼Ó
extern “C”
Ò²¿É
2¡¢             
¶ÔÓÚ
C++
ÀàµÄ³ÉÔ±º¯Êý£¬ÔòÐèÒªÁíÍâ×öÒ»¸ö
cpp
Îļþ£¬½«ÐèÒªµ÷Óõĺ¯Êý½øÐаü×°
¡£
ÒÔÉÏÁ½ÏîµÄʵÀý²Î¿´Ç°Ãæ
C
ÖÐÈçºÎµ÷ÓÃ
C++
´úÂëµÄÎÄÕ¡£
ҪʵÏÖ
C++
Öе÷ÓÃ
C
µÄ´úÂ룬¾ßÌå²Ù×÷£º
¶ÔÓÚ
C
Öеĺ¯Êý´úÂ룬Ҫô½«
C
´úÂëµÄÍ·Îļþ½øÐÐÐ޸ģ¬ÔÚÆä±»º¬Èë
C++
´úÂëʱÔÚÉùÃ÷ÖмÓÈë
extern “C”
»òÕßÔÚ
C++
´úÂëÖÐÖØÐÂÉùÃ÷Ò»ÏÂ
C
º¯Êý£¬ÖØÐÂÉùÃ÷ʱÌí¼ÓÉÏ
extern “C”
Í·
¡£
ͨ¹ýÒÔÉϵÄ˵Ã÷£¬ÎÒÃ÷°×Ò»µã£¬ÄǾÍÊǼÓ
extern “C”
Í·Ò»¶¨ÊǼÓÔÚ
C++
µÄ´úÂëÎļþÖвÅÄÜÆð×÷ÓõÄ
¡£
 
ÏÂÃæ·ÖÎöÒ»ÏÂÕâ¸öÏÖÏóµÄʵÖÊÔ­Òò£º
C
±àÒëÆ÷±àÒ뺯Êýʱ²»´øº¯ÊýµÄÀàÐÍÐÅÏ¢£¬Ö»°üº¬º¯Êý·ûºÅÃû×Ö£¬Èç
C
±àÒëÆ÷°Ñº¯Êý
int a(float x)
±àÒë³ÉÀàËÆ
_a
ÕâÑùµÄ·ûºÅ£¬
C
Á¬½ÓÆ÷Ö»ÒªÕÒµ½Á˵÷Óú¯ÊýµÄ·ûºÅ£¬¾Í¿ÉÒÔÁ¬½Ó³É¹¦£¬Ëü¼ÙÉè²ÎÊýÀàÐÍÐÅÏ¢ÊÇÕýÈ·µÄ£¬ÕâÊÇ
C
±àÒëÁ¬½ÓÆ÷µÄȱµã¡£¶ø
C++
±àÒëÆ÷ΪÁËʵÏÖº¯ÊýÖØÔØ£¬±àÒëʱ»á´øÉϺ¯ÊýµÄÀàÐÍÐÅÏ¢£¬ÈçËû°ÑÉÏÃæµÄ
a
º¯Êý¿ÉÄܱàÒë³É
_a_float
ÕâÑùµÄ·ûºÅΪÁËʵÏÖÖØÔØ£¬×¢ÒâËü»¹ÊÇûÓдø·µ»ØÖµµÃÐÅÏ¢£¬ÕâÒ²ÊÇΪʲô
C++
²»Ö§³Ö²ÉÓú¯Êý·µ»ØÖµÀ´Çø±ðº¯ÊýÖØÔØµÄÔ­ÒòÖ®Ò»£¬µ±È»£¬º¯ÊýµÄʹÓÃÕß¶Ôº¯Êý·µ»ØÖµµÄ´¦Àí·½Ê½£¨ÈçºöÂÔ£©Ò²ÊÇÖØÒªÔ­Òò¡£
»ùÓÚÒÔÉÏ£¬
C
µ÷ÓÃ
C++
£¬Ê×ÏÈÐèÒªÓ÷â×°º¯Êý°Ñ¶Ô
C++
µÄÀàµÈµÄµ÷Ó÷â×°³É
C
º¯ÊýÒÔ±ã
C
µ÷Óã¬ÓÚÊÇ
extern "C"
µÄ×÷ÓÃÊÇ£ºÈñàÒëÆ÷ÖªµÀÕâ¼þÊ£¬È»ºóÒÔ
C
ÓïÑԵķ½Ê½±àÒëºÍÁ¬½Ó·â×°º¯


Ïà¹ØÎĵµ£º

´®¿ÚͨÐÅ£¨RS232µÄC³ÌÐò£©

BioscomʹÓÃ×¢Ò⣺´®¿Ú½ÓÏß·½Ê½Îª4£¬6£»7£¬8·Ö±ð¶Ì½Ó¡£½ö´Ëº¯ÊýÒªÇó¡£
·ñÔò»áÔì³ÉÖ»ÄܽÓÊÜÎÞ·¨·¢ËÍÊý¾Ý¡£º¯Êý·µ»ØÖµ´íÎó£¡
º¯ÊýÃû:   bioscom    
  ¹¦     ÄÜ:   ²Ù×÷portÖ¸¶¨µÄRS232Ò첽ͨѶ¿Ú  
  Óà    ......

¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü——ϵÁÐ

ÕâһϵÁÐÎÄÕÂÊÇÎÒ¹¹½¨C/C++²å¼þ¿ª·¢¿ò¼Ü¿ª·Å¿ò¼ÜµÄ¹ý³Ì¡£ºóÃæ»áÒ»Ö±¸üУ¬Ö±ÖÁ¹¹½¨Íê³É¡£
¡¶¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü£¨Ò»£©——³õ²½ÉèÏë¡·
¡¶¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü£¨¶þ£©——×ÜÌ幦ÄÜ¡·
¡¶
¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü£¨Èý£©——×ÜÌå½á¹¹
¡·
¡¶¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼ ......

c ÓïÑÔÖÐfread()º¯ÊýʹÓÃʱӦ¸Ã×¢ÒâµÄµØ·½

ÓÃcÓïÑÔ×öÁ˸öͨѶ¼£¬ÏµÍ³Ò»ÔËÐÐʱ±ã½«Êý¾ÝÎļþ¼ÓÔØ½øÄڴ棬²¢ÓÃÁ´±í´æ´¢¡£Í˳öϵͳʱ£¬×Ô¶¯½«Á´±íÖеÄËùÓнڵãÔÙ´æÈëÎļþ¡£
¿ÉÊÇÏÖÔÚ£¬Ã¿´ÎÍ˳öϵͳ£¬ÎļþÀï¶¼»á±ÈÁ´±í¶à´æ´¢Ò»Ìõ¼Ç¼¡£
È磺ÏÖÔÚÖ»ÓÐÁ½Ìõ¼Ç¼£¬Í˳öºóÔÚÆô¶¯Ê±Ò»²éѯ£¬¾Í»á¶àÒ»ÌõÂҼǼ£¨ÏµÍ³×Ô¼º¼ÓµÄ£©¡£
¼ÓÔØÎļþµÄ²¿·Ö´úÂëÈçÏ£º
/*ÅжÏÎļþÊÇ·ñ ......

CÓïÑÔÖ¸ÕëÓëÊý×é(Cר¼Ò±à³Ì)

1.Çø±ð(Ö÷ÒªµÄ):Ö¸ÕëÐèÒªÔö¼ÓÒ»´Î¶îÍâµÄÌáÈ¡²Ù×÷
     ±àÒëÆ÷Ϊÿ¸ö±äÁ¿·ÖÅäÒ»¸öµØÖ·(×óÖµ)¡£Õâ¸öµØÖ·±àÒëʱ¿ÉÖª£¬¶øÇҸñäÁ¿ÔÚÔËÐÐʱһֱ±£´æÓÚÕâ¸öµØÖ·¡£Ïà·´£¬´æ´¢ÓÚ±äÁ¿ÖеÄÖµ(ËüµÄÓÒÖµ)Ö»ÓÐÔÚÔËÐÐʱ²Å¿ÉÖª¡£Èç¹ûÐèÒªÓõ½±äÁ¿Öд洢µÄÖµ£¬±àÒëÆ÷¾Í·¢³öÖ¸Áî´ÓµØÖ·¶ÁÈë±äÁ¿Öµ²¢½«Ëü´æÓڼĴæÆ÷ÖС£
  ......

C/C++ ×Ö½Ú¶ÔÆëÎÊÌâ

VCÖÐÏÂÃæ¼¸¸ö½á¹¹Ìå´óС·Ö±ðÊǶàÉÙÄØ
struct MyStruct
{
    double m4;
    char m1;
    int m3£»
};
struct MyStruct {
    char m1;
    double m4;
    int m3;
};
#pragma pack(push)   ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ