extern "C"Ïê½â
ʱ³£ÔÚcppµÄ´úÂëÖ®Öп´µ½ÕâÑùµÄ´úÂë:
#ifdef __cplusplus
extern "C" {
#endif
//Ò»¶Î´úÂë
#ifdef __cplusplus
}
#endif
¡¡¡¡ÕâÑùµÄ´úÂëµ½µ×ÊÇʲôÒâË¼ÄØ£¿Ê×ÏÈ£¬__cplusplusÊÇcppÖеÄ×Ô¶¨Òåºê£¬ÄÇô¶¨ÒåÁËÕâ¸öºêµÄ»°±íʾÕâÊÇÒ»¶ÎcppµÄ´úÂ룬Ҳ¾ÍÊÇ˵£¬ÉÏÃæµÄ´úÂëµÄº¬ÒåÊÇ:Èç¹ûÕâÊÇÒ»¶ÎcppµÄ´úÂ룬ÄÇô¼ÓÈëextern "C"{ºÍ}´¦ÀíÆäÖеĴúÂë¡£
¡¡¡¡ÒªÃ÷°×ΪºÎʹÓÃextern "C"£¬»¹µÃ´ÓcppÖжԺ¯ÊýµÄÖØÔØ´¦Àí¿ªÊ¼ËµÆð¡£ÔÚc++ÖУ¬ÎªÁËÖ§³ÖÖØÔØ»úÖÆ£¬ÔÚ±àÒëÉú³ÉµÄ»ã±àÂëÖУ¬Òª¶Ôº¯ÊýµÄÃû×Ö½øÐÐһЩ´¦Àí£¬¼ÓÈë±ÈÈ纯ÊýµÄ·µ»ØÀàÐ͵ȵÈ.¶øÔÚCÖУ¬Ö»ÊǼòµ¥µÄº¯ÊýÃû×Ö¶øÒÑ£¬²»»á¼ÓÈëÆäËûµÄÐÅÏ¢.Ò²¾ÍÊÇ˵:C++ºÍC¶Ô²úÉúµÄº¯ÊýÃû×ֵĴ¦ÀíÊDz»Ò»ÑùµÄ.
¡¡¡¡±ÈÈçÏÂÃæµÄÒ»¶Î¼òµ¥µÄº¯Êý£¬ÎÒÃÇ¿´¿´¼ÓÈëºÍ²»¼ÓÈëextern "C"²úÉúµÄ»ã±à´úÂë¶¼ÓÐÄÄЩ±ä»¯:
int f(void)
{
return 1;
}
¡¡¡¡ÔÚ¼ÓÈëextern "C"µÄʱºò²úÉúµÄ»ã±à´úÂëÊÇ:
.file "test.cxx"
.text
.align 2
.globl _f
.def _f; .scl 2; .type 32; .endef
_f:
pushl %ebp
movl %esp£¬ %ebp
movl $1£¬ %eax
popl %ebp
ret
¡¡¡¡µ«ÊDz»¼ÓÈëÁËextern "C"Ö®ºó
.file "test.cxx"
.text
.align 2
.globl __Z1fv
.def __Z1fv; .scl 2; .type 32; .endef
__Z1fv:
pushl %ebp
movl %esp£¬ %ebp
movl $1£¬ %eax
popl %ebp
ret
¡¡¡¡Á½¶Î»ã±à´úÂëͬÑù¶¼ÊÇʹÓÃgcc -SÃüÁî²úÉúµÄ£¬ËùÓеĵط½¶¼ÊÇÒ»ÑùµÄ£¬Î¨¶ÀÊDzúÉúµÄº¯ÊýÃû£¬Ò»¸öÊÇ_f£¬Ò»¸öÊÇ__Z1fv¡£
Ã÷°×Á˼ÓÈëÓë²»¼ÓÈëextern "C"Ö®ºó¶Ôº¯ÊýÃû³Æ²úÉúµÄÓ°Ï죬ÎÒÃǼÌÐøÎÒÃǵÄÌÖÂÛ:ΪʲôÐèҪʹÓÃextern "C"ÄØ£¿C++Ö®¸¸ÔÚÉè¼ÆC++֮ʱ£¬¿¼Âǵ½µ±Ê±ÒѾ´æÔÚÁË´óÁ¿µÄC´úÂ룬ΪÁËÖ§³ÖÔÀ´µÄC´úÂëºÍÒѾдºÃC¿â£¬ÐèÒªÔÚC++Öо¡¿ÉÄܵÄÖ§³ÖC£¬¶øextern "C"¾ÍÊÇÆäÖеÄÒ»¸ö²ßÂÔ¡£
¡¡¡¡ÊÔÏëÕâÑùµÄÇé¿ö:Ò»¸ö
Ïà¹ØÎĵµ£º
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)
int main()
{
char a = 'a';
......
Ô¤´¦ÀíÆ÷£¨Preprocessor£©
1. ÓÃÔ¤´¦ÀíÖ¸Áî#define ÉùÃ÷Ò»¸ö³£Êý£¬ÓÃÒÔ±íÃ÷1ÄêÖÐÓжàÉÙÃ루ºöÂÔÈòÄêÎÊÌ⣩
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
ÎÒÔÚÕâÏë¿´µ½¼¸¼þÊÂÇ飺
1). #define Óï·¨µÄ»ù±¾ÖªÊ¶£¨ÀýÈ磺²»ÄÜÒԷֺŽáÊø£¬À¨ºÅµÄʹÓ㬵ȵȣ©
2). ¶®µÃÔ¤´¦ÀíÆ÷½«ÎªÄã¼ÆËã³£Êý±í´ïʽµÄÖµ£¬Òò´Ë£¬Ö±½Ó ......
1. ÓÃÔ¤´¦ÀíÖ¸Áî#define ÉùÃ÷Ò»¸ö³£Êý£¬ÓÃÒÔ±íÃ÷1ÄêÖÐÓжàÉÙÃ루ºöÂÔÈòÄêÎÊÌ⣩
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
ÎÒÔÚÕâÏë¿´µ½¼¸¼þÊÂÇ飺
1). #define Óï·¨µÄ»ù±¾ÖªÊ¶£¨ÀýÈ磺²»ÄÜÒԷֺŽáÊø£¬À¨ºÅµÄʹÓ㬵ȵȣ©
2). ¶®µÃÔ¤´¦ÀíÆ÷½«Î ......
C/C++/VC++ ±äÁ¿ÃüÃû¹æÔò
ÊÇVC++µÄô£¿
4.±äÁ¿·ç¸ñ
±äÁ¿¾¡Á¿²ÉÓÃÐÙÑÀÀûÃüÃû·¨£¬Í¬Ê±½áºÏVCµÄÔÔò£»Ò»°ãÇé¿öÏ£¬±äÁ¿µÄÈ¡Ãû·½Ê½Îª£º
<scope><prefix><qualifier>
ÓйØÏîÄ¿µÄÈ«¾Ö±äÁ¿±ØÐëÓÃg_¿ªÊ¼£¬Àà³ÉÔ±±äÁ¿ÓÃm_£¬¾Ö²¿±äÁ¿Èôº¯Êý½Ï´óÔò¿É¿¼ÂÇÓÃl_ÓÃÒÔÏÔʾ˵Ã÷ÆäÊǾֲ¿±äÁ¿¡£
ǰ׺
ÀàÐÍ
ʾÀý
g_
......
//linuxϱàÒëg++ $(mysql_config --cflags) ***.cpp $(mysql_config --libs)
/*mysqlÊý¾Ý¿âÖбíµÄÄÚÈÝ
mysql> select * from maindb;
+------------------+---------+-------------+---------+----------+---------------------+---------------------+---------------------+------------------- ......