在C++文件中调用C 的函数
-----赖玉平(Auly)aulyp@163.com
因为有时要在.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 "
}
然后就可以用了此函数了。