从 C 调用 C 函数可能会带来挑战,特别是如果“extern "C" void foo()”方法由于失败而失败g 的编译问题。为了解决这个问题,提出了一种不同的策略:
编译:
编译 C 代码:
gcc -c -o somecode.o somecode.c
编译C代码:
g++ -c -o othercode.o othercode.cpp
链接:
使用 C 链接器将编译后的文件链接在一起:
g++ -o yourprogram somecode.o othercode.o
标题包含:
通知包含 C 头文件的 C 编译器,使用以下内容更新 othercode.cpp 文件:
extern "C" { #include "somecode.h" }
somecode.h 头文件:
创建头文件文件(somecode.h)来声明 C函数:
#ifndef SOMECODE_H_ #define SOMECODE_H_ void foo(); #endif
注:
此方法将编译分为 C 和 C 阶段,然后进行链接。编译器(本例中为 gcc)的选择很灵活,但原理是一样的。
以上是如何从 C 代码成功调用 C 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!