#ifdef __cplusplus extern "C"
ÃæÊÔʱ±»Îʵ½¹ý£¬²»ÉõÃ÷ÁË£¬ÍøÉϰٶÈһϣ¬ÕûºÏÁËÁ½¸öÈÊÐÖµÄÎÄÕ£¬ÈçÏ¡£:-)
ʱ³£ÔÚcppµÄ´úÂëÖ®Öп´µ½ÕâÑùµÄ´úÂë:
#ifdef __cplusplus //c++±àÒë»·¾³ÖвŻᶨÒå__cplusplus (plus¾ÍÊÇ"+"µÄÒâ˼)
extern "C" { //¸æËß±àÒëÆ÷ÏÂÃæµÄº¯ÊýÊÇcÓïÑÔº¯Êý£¨ÒòΪc++ºÍcÓïÑÔ¶Ôº¯ÊýµÄ±àÒëת»»²»Ò»Ñù£¬Ö÷ÒªÊÇc++ÖдæÔÚÖØÔØ£©
#endif
//Ò»¶Î´úÂë
#ifdef __cplusplus
}
#endif
¡¡¡¡
ÕâÑùµÄ´úÂëµ½µ×ÊÇʲôÒâË¼ÄØ£¿Ê×ÏÈ£¬__cplusplusÊÇcppÖеÄ×Ô¶¨Òåºê£¬ÄÇô¶¨ÒåÁËÕâ¸öºêµÄ»°±íʾÕâÊÇÒ»¶ÎcppµÄ´úÂ룬Ҳ¾ÍÊÇ˵£¬ÉÏÃæµÄ´úÂëµÄº¬ÒåÊÇ:Èç¹ûÕâÊÇÒ»¶ÎcppµÄ´úÂ룬ÄÇô¼ÓÈëextern "C"{ºÍ}´¦ÀíÆäÖеĴúÂë¡£
¡¡¡¡ÒªÃ÷°×ΪºÎʹÓÃextern "C"£¬»¹µÃ´ÓcppÖжԺ¯ÊýµÄÖØÔØ´¦Àí¿ªÊ¼ËµÆð¡£ÔÚc++ÖУ¬ÎªÁËÖ§³ÖÖØÔØ»úÖÆ£¬ÔÚ±àÒëÉú³ÉµÄ»ã±àÂëÖУ¬Òª¶Ôº¯ÊýµÄÃû×Ö½øÐÐһЩ´¦Àí£¬¼ÓÈë±ÈÈ纯ÊýµÄ·µ»ØÀàÐ͵ȵÈ.¶øÔÚCÖУ¬Ö»ÊǼòµ¥µÄº¯ÊýÃû×Ö¶øÒÑ£¬²»»á¼ÓÈëÆäËûµÄÐÅÏ¢.Ò²¾ÍÊÇ˵:C++ºÍC¶Ô²úÉúµÄº¯ÊýÃû×ֵĴ¦ÀíÊDz»Ò»ÑùµÄ. Ä¿µÄ¾ÍÊÇÖ÷ҪʵÏÖCÓëC++µÄÏ໥µ÷ÓÃÎÊÌâ¡£
c.hµÄʵÏÖ
#ifndef _c_h_
#define _c_h_
#ifdef __cplusplus
extern "C" {
#endif
void C_fun();
#ifdef __cplusplus
}
#endif
#endif
-----------------------------------
c.cµÄʵÏÖ
#include "c.h"
void C_fun()
{
}
------------------------------------
ÔÚcpp.cppÖе÷ÓÃc.cÖеÄC_fun()
cpp.cppµÄʵÏÖ
#include "c.h"
int main()
{
C_fun()
}
ÆäÖÐ__cplusplusÊÇC++±àÒëÆ÷µÄ±£Áôºê¶¨Ò壮¾ÍÊÇ˵C++±àÒëÆ÷ÈÏΪÕâ¸öºêÒѾ¶¨ÒåÁË£®
ËùÒԹؼüÊÇextern "C" {}
extern "C"ÊǸæËߣã«£«±àÒëÆ÷¼þÀ¨ºÅÀïµÄ¶«¶«Êǰ´ÕÕCµÄobjÎļþ¸ñʽ±àÒëµÄ£¬ÒªÁ¬½ÓµÄ»°°´ÕÕCµÄÃüÃû¹æÔòÈ¥ÕÒ£®
£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½
ÄÇôCÖÐÊÇÈçºÎµ÷ÓÃC++Öеĺ¯Êýcpp_fun()ÄØ£¿
ÒòΪÏÈÓÐCºóÓÐC++, ËùÒÔÖ»ÄÜ´ÓC++µÄ´úÂëÖп¼ÂÇÁË£®
¼ÓÈëC++Öеĺ¯Êý»ò±äÁ¿ÓпÉÄܱ»£ÃÖеÄÎļþµôÓã¬ÔòÓ¦¸ÃÕâÑùд£¬Ò²ÊÇÓÃextern "C"{}
²»¹ýÊÇ´úÂëÖÐÒª¼Ó£¬Í·ÎļþÒ²Òª¼Ó£¬ÒòΪ¿ÉÄÜÊÇC++ÖÐÒ²µ÷ÓÃ
--------------------------------------
cpp.hµÄʵÏÖ
#ifndef _c_h_
#define _c_h_
#ifdef __cplusplus
extern "C" {
#endif
void CPP_fun();
#ifdef __cplusplus
}
#endif
#endif
.---------------
Ïà¹ØÎĵµ£º
¶ÔÓÚxenµÄÐéÄ⻯¹ÜÀí£¬´ó¼Ò¶¼ÔÚÓÃÊ²Ã´ÄØ£¿ÎÒÕæµÄÏëÖªµÀÊDz»ÊÇ´ó¼Ò¶¼ÓÃxmÀ´½øÐйÜÀíÄØ£¿ÖÁÉÙÎÒÏë´ó¶àÊý½ö½öÏëÁ˽âһϵÄÅóÓÑ¿ÉÄÜÓÃÏÂxmÒ²¾ÍËãÊÇÁ˽âÁË¡£¶øÇÒÔÚxenµÄÓû§ÊÖ²áÀïÃæÒ²½ö½ö½éÉÜÁËÒ»ÏÂxmµÄʹÓ÷½·¨£¬¹ØÓÚÔõôʹÓÃËüµÄc½Ó¿ÚÀ´¹ÜÀíÐéÄ⻯·½ÃæµÄ½éÉÜÖ»×ÖδÌá¡£
ÎÒ²»½ö½öÏëÓÃxmÕâ¸ö¹¤¾ßÀ´´ ......
const£¬c\c++Öзdz£³£ÓõĹؼü×Ö¡£
Ê×ÏÈÎÒÃÇ¿´¿´constÓÐÄÇЩÐÞÊη½·¨¡£
×îÇ°ÃæÎÒÃÇÀ´¿´Ò»¸öÎÊÌâ¡£
char *p = "123";
¿ÉÄÜÓеÄÈ˲»ÖªµÀ£¬ÕâÀïµÄÕâ¸ö"123"ÊÇ´æ´¢ÔÚ³£Á¿ÇøµÄ£¬²»ÈÝÐíÐ޸ĵġ£
Ò²¾ÍÊÇ˵ËüÊǸöconstÀàÐ͵ġ£
±ê×¼µÄд·¨Ó¦¸ÃÊÇ
char const *p = "123";
ÖÁÓÚΪʲô±àÒëÆ÷ÈÝÐíÉÏÃæµÄÄǸö²»±ê×¼µÄд·¨£¬¿ÉÄ ......
1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
&n ......
¾³£ÐèÒªÔÚ³ÌÐòÖн«Ô¶³Ì´«À´µÄ×Ö½ÚÁ÷½øÐнṹ»¯£¬»òÕß½«½á¹¹»¯µÄÊý¾Ý±ä³É×Ö½ÚÁ÷´«¸øÔ¶³ÌÖ÷»ú¡£ÔÚC/C++³ÌÐòÖУ¬½á¹¹»¯Êý¾Ýͨ³£ÓýṹÌåÀ´×éÖ¯£¬½á¹¹ÌåÒ²Äܹ»·½±ãµÄת»»Îª×Ö½ÚÁ÷£¬Òò´Ë½á¹¹»¯µÄÊý¾Ý´«Êä±¾²»¸Ã³ÉΪÎÊÌ⣬µ«ÔÚVC»òGCCµÄĬÈÏÉèÖÃϱàÒë³öµÄ³ÌÐò£¬È´ÓÐÒ»¸öÖµµÃ×¢ÒâµÄÎÊÌâ——½á¹¹ÌåµÄ¶ÔÆë¡£ ......