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

¹ØÓÚ extern "C"

µ±Õâ¸öÊÀ½ç»¹Ö»ÓÐCµÄʱºò£¬ÊDz»ÐèÒªextern "C"µÄ¡£
µ«ÊÇ£¬µ±C++³öÏÖÖ®ºó£¬ÓÐʱºò£¬ÎÒÃǾÍÐèÒªextern "C"ÁË¡£
ÄǾ¿¾¹ÊÇÔÚʲôÑùµÄÇé¿öÏ£¬ÎÒÃÇÐèÒªÓÃextern "C"ÄØ£¿
ÓÐÈË˵£¬ÊÇΪÁËCÄܹ»µ÷ÓÃC++£¬ÓÐÈË˵ÊÇΪÁËÔÚC++ÖÐÄܵ÷ÓÃCµÄ¿âº¯Êý¡£ÊDz»ÊǰÑÄãŪºýÍ¿ÁË£¿
ÏÈ˵˵extern "C"ÊÇɶ×÷Óðɡ£
extern "C" ÊǸæËßC++±àÒëÆ÷£¬Õâ¸öº¯ÊýÊÇÍêÈ«¼æÈÝCµÄ£¬²»°üº¬C++ÓжøCÖÐûÓеÄÌØÐԵġ£²¢ÇÒ¸æËß±àÒëÆ÷£¬ÔÚÉú³ÉÄ¿±êÎļþµÄʱºò£¬Ê¹ÓÃCµÄ·½Ê½Éú³Éº¯ÊýÃû¡£
ÉÏÃæÕâ¾ä»°ÓÐÁ½¸öÖØµã£¬
µÚÒ»ÊÇ extern "C" Ö»ÓÐ C++±àÒëÆ÷Èϵã¬C±àÒëÆ÷ÊDz»ÈÏʶµÄ¡£
µÚ¶þÊÇ ÓÃCµÄ·½Ê½Éú³Éº¯ÊýÃû¡£Ê²Ã´½Ð "ÓÃCµÄ·½Ê½Éú³Éº¯ÊýÃû"£¿ C++±àÒëÆ÷ºÍC±àÒëÆ÷Éú³Éº¯ÊýÃûµÄ·½Ê½ÊDz»Í¬µÄ¡£ÒòΪC++ÒªÖ§³Öº¯ÊýÖØÔØ£¬ËùÒÔC++±àÒëÆ÷ÔÚÉú³Éº¯ÊýÃûµÄʱºò»á°Ñº¯Êý²ÎÊýµÄÀàÐͼÓÔÚº¯ÊýÃûÖС£¶øC±àÒëÆ÷¾Í±È½Ï¼òµ¥£¬Ö±½ÓÔÚº¯ÊýÃû×Öǰ¼ÓÒ»¸öÏ»®Ï߸㶨¡£
±ÈÈç void foo( int x ); ÕâÑùµÄº¯Êý
C±àÒëÆ÷±àÒë³öÀ´ÔÚ·ûºÅ¿âÖеÄÃû×ÖÊÇ_foo£¬¶øC++±àÒëÆ÷±àÒë³öÀ´ÔÚ·ûºÅ¿âÖеÄÃû×Ö¿ÉÄÜÊÇ _foo_int ÕâÑùµÄ¡£
ÄÇôʹÓà extern "C" ÓÐʲôÒâÒåÄØ£¿
ÎÒ¾õµÃ ”ΪÁËC++ÖÐÄܵ÷ÓÃCµÄ¿âº¯Êý“ ÕâÑùµÄ˵·¨ÊÇÕýÈ·µÄ¡£
Ϊʲô£¿
¿¼ÂÇÏÂÃæµÄÇé¿ö£¬ÄãÓÐÒ»¸öCʵÏֵĿ⣬²¢ÓÃC±àÒëÆ÷±àÒëÉú³É¿âÎļþ¡£
¼ÙÉèÕâ¸ö¿âÀïÓÐÒ»¸öº¯ÊýΪ void foo( int );
ÔÚC++µÄij¸öÀàÖУ¬ÄãÒªÓÃÕâ¸öfooº¯Êý£¬ÄãÔÚC++Ô´ÎļþÖÐÓÃ
extern void foo( int );
ÒýÈë¡£
ÕâÑùÔÚÁ´½ÓµÄʱºò³ö´íÁË¡£
ÒòΪC++±àÒëÆ÷ÔÚ±àÒëC++Ô´ÎļþµÄʱºò£¬ÈÏΪvoid foo( int ); ÔÚ·ûºÅ±íÖÐÓ¦¸ÃÊÇ
_foo_int Õâ¸öÑù×ӵġ£¶øÔÚÁ´½ÓµÄʱºòÕÒ²»µ½_foo_int£¬Ö»ÓÐ_foo¡£ËùÒÔÁ´½Ó³ö´íÁË¡£
Ôõô½â¾öÄØ£¿
extern void foo( int );
¸Ä³É
extern "C" void foo( int );
¾ÍÐÐÀ²¡£
Èç¹ûÊÇÖ±½Óinclude CµÄÍ·ÎļþµÄ£¬ÄÇ¿ÉÒÔÕâÑù
extern "C" {
#include "HeaderOfC.h"
}
ÕâÑùC++±àÒëÆ÷¾ÍÖªµÀ£¬Õâ¸öfooÊÇCµÄº¯Êý£¬Éú³ÉÃû×ÖµÄʱºò²»ÐèÒª´ø²ÎÊý¡£ÕâÑùÁ´½ÓµÄʱºò¾ÍûÎÊÌâÀ²¡£
ÄÇôÔÚ½ñÌ죬ÎÒÃÇдһ¸öCµÄ¿âµÄʱºò£¬µ±È»´æÔÚÎÒÃǵĿⱻC++µÄ³ÌÐòËùʹÓõĿÉÄÜÐÔ¡£
ÎÒÃDz»Ï£ÍûÔÚC++µÄÔ´ÂëÖÐÒýÓÃÎÒÃǵÄÍ·ÎļþµÄʱºò»¹Òª
extern "C" {
#include "yourlib.h"
}
ÕâôÂé·³¡£
ËùÒÔÎÒÃÇÔÚдCµÄ¿âµÄÍ·ÎļþµÄʱºòÖ÷¶¯µÄ¼ÓÉÏÁË extern "C"¡£
µ«ÕâÀïÓÐÒ»¸öÎÊÌ⣬ÒòΪC±àÒëÆ÷²»ÈÏʶextern "C"°¡£¬ËùÒÔ¾ÍÓÐÁË
ºê __cplusplus
¶ÔÓÚC±àÒëÆ÷£¬Ã»Óж¨ÒåÕâ¸öºê£¬¶øC++±àÒëÆ÷¶¨ÒåÁËÕâ¸ö


Ïà¹ØÎĵµ£º

C/C++ ѧϰ±Ê¼Ç[03].È¥µôC·ç¸ñµÄ×¢ÊÍ

ÍøÉÏËÑË÷ÁËÒ»´ó¶ÑÈ¥µô/*ºÍ*/Ö®¼ä×¢Ê͵ĴúÂë,¾ÍÏñ<The C Programming Language>Á·Ï°1-23ÀïÓÐÈË˵µÄÒ»Ñù
´ó²¿·Ö¶¼»á±»ÒÔϵijÌÐòbroken,Õâ¸ö¹¦ÄÜ¿´ÆðÀ´¼òµ¥,ʵ¼ÊÉϺÜÓÐÄѶÈ.ÍøÉÏʵÏֵĴúÂë,³ýÁËÎÒÕÒµ½µÄÒ»¸öÓÃÎļþÖ¸ÕëʵÏÖµÄûÓÐÎÊÌâÍâ,ÆäÓàµÄ¶¼´æÔÚ¸÷ÖÖbug,²»Ðŵϰ¾ÍÓÃÒÔϵijÌÐò²âÊÔÒ»ÏÂ:-),µ±È»Õâ¸ö³ÌÐòÒ²²»¹»ÍêÉÆ ......

C\C++ Notes

CµÄstaticµÄÓ÷¨:
1.¶ÔÓÚº¯ÊýÀïµÄ¾Ö²¿±äÁ¿,¸Ä±äµÄÊÇËüµÄÉú´æÖÜÆÚ,Õâ¸ö±äÁ¿»áÒ»Ö±´æÔÚ,µ½³ÌÐò½áÊø. º¯ÊýÍⲿ·ÃÎʲ»µ½Õâ¸ö±äÁ¿.
2.¶ÔÓÚÈ«¾ÖµÄ±äÁ¿,¸Ä±äµÄÊÇËüµÄ×÷Ó÷¶Î§,Õâ¸ö±äÁ¿Ö»ÔÚ±¾ÎļþÄÚÓÐЧ.ÆäËüµÄ.cÎļþ¿´²»µ½.
   µ±È»ËüµÄÉúÃüÖÜÆÚÊǺͳÌÐòÒ»ÑùµÄ ......

¿ìËÙÇóaµÄb´ÎÃݶÔcÈ¡Óà

¿ìËÙÃÝȡģÀíÂÛ»ù´¡£º  ¼ÆËã a^b mod c ?
  ÓÉ(a x b) mod c=((a mod c) x b) mod c.
 ÎÒÃÇ¿ÉÒÔ½« bÏȱíʾ³É¾Í£º
   b=at2^t+at-1 2^t-1+……a02^0. (ai=[0,1]).
 ÕâÑùÎÒÃÇÓÉ a^b mod c=(a^(at2^t+at-12^t-1+…a02^0)mod c.
 È»¶øÎÒÃÇÇó  a^(2^(i+1)) ......

ÈçºÎд³öרҵµÄCÍ·Îļþ

×öµ½×¨Òµ£¬Ó¦¸ÃÊÇÿ¸öÖ°Òµ³ÌÐòÔ±Ó¦¸ÃÒªÇó×Ô¼º×öµ½µÄ¡£
ÈÃÎÒÃÇ¿´¿´lua
ÊÇ
ÔõôдͷÎļþµÄ¡£
1.License Agreement
License
Agreement
Ó¦¸Ã¼ÓÔÚÿ¸öÍ·ÎļþµÄ¶¥²¿¡£
Lua Sample:
/*
** $Id: lua.h,v 1.175b 2003/03/18 12:31:39 roberto Exp $
** Lua - An ......

×Ô¼ºÊµÏÖ»ù±¾µÄC±ê×¼¿â×Ö·û´®´¦Àíº¯Êý

×Ö·û´®ÊÇCÓïÑԵľ«»ªÖ®Ò»£¬CÓïÑÔÊDZÊÊÔ¿¼ÌâµÄºËÐÄ֪ʶµã£¬²»¹ÜÄãÊÇѧc++£¬Ñ§java»¹ÊÇc#¡¢.net£¬»¹Êǽű¾Ê²Ã´µÄ£¬×îºÃ»¹ÊǶ®µãC°É£¬²»¶®C±ÊÊÔ»òÐí±È½Ï³Ô¿÷¡£ËùÒÔÔÚ±ÊÊÔÃæÊÔÖУ¬×Ö·û´®µÄÎÊÌâÊǾ­³£³öÏֵ쬯äÖÐÓÐÒ»ÀàÎÊÌâ¾ÍÊÇ×Ô¼ºÊµÏÖһЩ»ù±¾µÄC±ê×¼¿âµÄ×Ö·û´®´¦Àíº¯Êý»òÆäËûC±ê×¼¿âº¯Êý¡£
ÎÊÌâÒ»ÃèÊö£º Óñê×¼Cдһ¸öÅжϸ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ