在C++文件中调用C 的函数

C++文件中调用C 的函数

-----赖玉平(Auly)[email protected]

因为有时要在.cpp文件中用到 .c文件的函数,

方法: 1 (.h文件) 声明函数时一头一尾加上

#ifdef   __cplusplus

    extern   "C"

    {

#endif

函数

……

 

#ifdef   __cplusplus

    }

#endif

 

2 C++檔中,包含该头檔

同时,声明 该函数为 extern

例如:在TelePathPlayer.cpp文件中要用到platform.c中的函数pf_attachinterface()。如下

 

platform.h

#ifdef   __cplusplus

    extern   "C"

    {

#endif

 

VOID pf_attachinterface(pf_func_t *pf_func);

 

#ifdef   __cplusplus

    }

#endif

Platform.c文件

#include "platform.h"

 

VOID pf_attachinterface(pf_func_t *pf_func)

{

       g_pf_func.pf_dataread = pf_func->pf_dataread;

       g_pf_func.pf_datawrite = pf_func->pf_datawrite;

       g_pf_func.pf_msleep = pf_func->pf_msleep;

       g_pf_func.pf_reset = pf_func->pf_reset;

       g_pf_func.pf_notify =  pf_func->pf_notify;

       g_pf_func.pf_alloc = pf_func->pf_alloc;

}

……

 

TelePathPlayer.cpp 文件中要用到pf_attachinterface函数

所以要包含它的头檔。

extern "C"

{

     #include " platform.h "

}

然后就可以用了此函数了。

你可能感兴趣的:(在C++文件中调用C 的函数)