14

问答题 14 /19

C语言编写的动态库中的函数,如何才能被C++调用?

参考答案

C++ 编译器需要支持函数重载,会改变函数的名称,因此dll的导出函数通常是标准C定义的。这就使C和 C++互相调用变得很常见。但是有可能又会直接用C来调用,不想重新写代码,让标准C编写的dll函数定义在C和 C++编译器下都能编译通过,通常会使用以下格式:(这个格式在很多重复的代码中很常见)
#if defined(_cplusplus)
extern"C"{
#endif
//在这里写标准C程序,例如dll导出函数的定义
#ifdef__cplusplus
}
#endif
牛客网,程序员必备求职神器
QQ群:169195721
微 信:www_nowcoder_com 关注
微 博:牛客网 关注

扫一扫,把题目装进口袋