extern "C"µ×²ãÔÀí
ͨ³££¬ÔÚCÓïÑÔµÄÍ·ÎļþÖо³£¿ÉÒÔ¿´µ½ÀàËÆÏÂÃæÕâÖÖÐÎʽµÄ´úÂ룺
#ifdef __cplusplus
extern "C" {
#endif
/**** some declaration or so *****/
#ifdef __cplusplus
}
#endif /* end of __cplusplus */
ÄÇô£¬ÕâÖÖд·¨Ê²Ã´ÓÃÄØ£¿Êµ¼ÊÉÏ£¬ÕâÊÇΪÁËÈÃCPPÄܹ»ÓëC½Ó¿Ú¶ø²ÉÓõÄÒ»ÖÖÓï·¨ÐÎʽ¡£Ö®ËùÒÔ²ÉÓÃÕâÖÖ·½Ê½£¬ÊÇÒòΪÁ½ÖÖÓïÑÔÖ®¼äµÄһЩ²îÒìËùµ¼Öµġ£ÓÉÓÚCPPÖ§³Ö¶à̬ÐÔ£¬Ò²¾ÍÊǾßÓÐÏàͬº¯ÊýÃûµÄº¯Êý¿ÉÒÔÍê³É²»Í¬µÄ¹¦ÄÜ£¬CPPͨ³£ÊÇͨ¹ý²ÎÊýÇø·Ö¾ßÌåµ÷ÓõÄÊÇÄÄÒ»¸öº¯Êý¡£ÔÚ±àÒëµÄʱºò£¬CPP±àÒëÆ÷»á½«²ÎÊýÀàÐͺͺ¯ÊýÃûÁ¬½ÓÔÚÒ»Æð£¬ÓÚÊÇÔÚ³ÌÐò±àÒë³ÉΪĿ±êÎļþÒÔºó£¬CPP±àÒëÆ÷¿ÉÒÔÖ±½Ó¸ù¾ÝÄ¿±êÎļþÖеķûºÅÃû½«¶à¸öÄ¿±êÎļþÁ¬½Ó³ÉÒ»¸öÄ¿±êÎļþ»òÕß¿ÉÖ´ÐÐÎļþ¡£µ«ÊÇÔÚCÓïÑÔÖУ¬ÓÉÓÚÍêȫûÓжà̬ÐԵĸÅÄC±àÒëÆ÷ÔÚ±àÒëʱ³ýÁË»áÔÚº¯ÊýÃûÇ°ÃæÌí¼ÓÒ»¸öÏ»®ÏßÖ®Í⣬ʲôҲ²»»á×ö£¨ÖÁÉٺܶà±àÒëÆ÷¶¼ÊÇÕâÑù¸ÉµÄ£©¡£ÓÉÓÚÕâÖÖµÄÔÒò£¬µ±²ÉÓÃCPPÓëC»ìºÏ±à³ÌµÄʱºò£¬¾Í¿ÉÄÜ»á³öÎÊÌâ¡£¼ÙÉèÔÚijһ¸öÍ·ÎļþÖж¨ÒåÁËÕâÑùÒ»¸öº¯Êý£º
int foo(int a, int b);
¶øÕâ¸öº¯ÊýµÄʵÏÖλÓÚÒ»¸ö.cÎļþÖУ¬Í¬Ê±£¬ÔÚ.cppÎļþÖе÷ÓÃÁËÕâ¸öº¯Êý¡£ÄÇô£¬µ±CPP±àÒëÆ÷±àÒëÕâ¸öº¯ÊýµÄʱºò£¬¾ÍÓпÉÄÜ»á°ÑÕâ¸öº¯ÊýÃû¸Ä³É_fooii£¬ÕâÀïµÄii±íʾº¯ÊýµÄµÚÒ»²ÎÊýºÍµÚ¶þ²ÎÊý¶¼ÊÇÕûÐÍ¡£¶øC±àÒëÆ÷È´ÓпÉÄܽ«Õâ¸öº¯ÊýÃû±àÒë³É_foo¡£Ò²¾ÍÊÇ˵£¬ÔÚCPP±àÒëÆ÷µÃµ½µÄÄ¿±êÎļþÖУ¬foo()º¯ÊýÊÇÓÉ_fooii·ûºÅÀ´ÒýÓõ쬶øÔÚC±àÒëÆ÷Éú³ÉµÄÄ¿±êÎļþÖУ¬foo()º¯ÊýÊÇÓÉ_fooÖ¸´úµÄ¡£µ«Á¬½ÓÆ÷¹¤×÷µÄʱºò£¬Ëü¿É²»¹ÜÉϲã²ÉÓõÄÊÇʲôÓïÑÔ£¬ËüÖ»ÈÏÄ¿±êÎļþÖеķûºÅ¡£ÓÚÊÇ£¬Á¬½ÓÆ÷½«»á·¢ÏÖÔÚ.cppÖе÷ÓÃÁËfoo()º¯Êý£¬µ«ÊÇÔÚÆäËüµÄÄ¿±êÎļþÖÐÈ´ÕÒ²»µ½_fooiiÕâ¸ö·ûºÅ£¬ÓÚÊÇÌáʾÁ¬½Ó¹ý³Ì³ö´í¡£extern "C" {}ÕâÖÖÓï·¨ÐÎʽ¾ÍÊÇÓÃÀ´½â¾öÕâ¸öÎÊÌâµÄ¡£±¾ÎĽ«ÒÔʾÀý¶ÔÕâ¸öÎÊÌâ½øÐÐ˵Ã÷¡£
Ê×ÏȼÙÉèÓÐÏÂÃæÕâÑùÈý¸öÎļþ£º
/* file: test_extern_c.h */
#ifndef __TEST_EXTERN_C_H__
#define __TEST_EXTERN_C_H__
#ifdef __cplusplus
extern "C" {
#endif
/*
* this is a test function, which calculate
* the multiply of a and b.
*/
extern int ThisIsTest(int a, int b);
#ifdef __cplusplus
}
#endif /* end of __cplusplus */
#endif
ÔÚÕâ¸öÍ·ÎļþÖÐÖ»¶¨ÒåÁËÒ»¸öº¯Êý£¬ThisIsTest()¡£Õâ¸öº¯Êý±»¶¨ÒåΪһ¸öÍⲿº¯Êý£¬¿ÉÒÔ±»°üÀ¨µ½ÆäËü³ÌÐòÎļþÖС£¼ÙÉèThisIsTest()º¯ÊýµÄʵÏÖ
Ïà¹ØÎĵµ£º
1.½éÉÜÒ»ÏÂSTL£¬Ïêϸ˵Ã÷STLÈçºÎʵÏÖvector.
Answer£º
STL £¨±ê׼ģ°æ¿â£¬Standard Template Library.ËüÓÉÈÝÆ÷Ëã·¨µü´úÆ÷×é³É¡£
STLÓÐÒÔϵÄһЩÓŵ㣺¿ÉÒÔ·½±ãÈÝÒ×µØÊµÏÖËÑË÷Êý¾Ý»ò¶ÔÊý¾ÝÅÅÐòµÈһϵÁеÄËã·¨£»µ÷ÊÔ³ÌÐòʱ¸ü¼Ó°²È« ºÍ·½±ã£»¼´Ê¹ÊÇÈËÃÇÓÃSTLÔÚ ......
¹ØÓÚº¯ÊýÖ¸ÕëÊý×éµÄ¶¨Òå
¹ØÓÚº¯ÊýÖ¸ÕëÊý×éµÄ¶¨Òå·½·¨£¬ÓÐÁ½ÖÖ£ºÒ»ÖÖÊDZê×¼µÄ·½·¨£»Ò»ÖÖÊÇÃÉÆ·¨¡£
µÚÒ»ÖÖ£¬±ê×¼·½·¨£º
{
·ÖÎö£ºº¯ÊýÖ¸ÕëÊý×éÊÇÒ»¸öÆäÔªËØÊǺ¯ÊýÖ¸ÕëµÄÊý×é¡£ÄÇôҲ¾ÍÊÇ˵£¬´ËÊý¾Ý½á¹¹ÊÇÊÇÒ»¸öÊý×飬ÇÒÆäÔªËØÊÇÒ»¸öÖ¸Ïòº¯ÊýÈë¿ÚµØÖ·µÄÖ¸Õë¡£
¸ù¾Ý·ÖÎö£ºÊ×ÏÈ˵Ã÷ÊÇÒ»¸öÊý×飺Êý×éÃû[]
Æä´Î£¬ÒªËµÃ ......
2009-09-13 16:42:43
½ñÌìʵÏÖ¶ÑÕ»½á¹¹²¿·ÖµÄ´úÂ룬²¢ÓÃÒ»¼òµ¥³ÌÐò²âÊԳɹ¦¡£
stack.h:
#ifndef _STACK_H_
#define _STACK_H_
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#define STACK_INIT_SIZE 5
#define STACKINCREMENT 5
t ......
¡¾ÔÐÍ¡¿
type fun( type arg1, type arg2, ...
);
¡¾ÃèÊö¡¿
Ö÷ÒªÓÃÔÚ²ÎÊý¸öÊý²»È·¶¨µÄº¯ÊýÖУ¬ÀýÈ磺printfº¯Êý¡£
¡¾Ê¹Ó÷½·¨¡¿
²Î¿¼£ºglib/manual/Add.c
#include <stdarg.h>
#include <stdio.h>
int add_em_up (int coun ......
http://www.cnblogs.com/hoodlum1980/archive/2007/08/15/857067.html
Ìâ¸É£ºÊäÈëÁ½¸ö½Ï´óµÄÊý£¬Êä³öÏà³ËµÄ½á¹û¡£
Òâ˼Ҳ¾ÍÊÇÁ½¸öÊýºÜ´ó£¬³¬³öÁËintµÄ´æ´¢·¶Î§¡£
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 100
void GetDigits( ......