在Linux环境下,C语言调用C++代码涉及到几个关键概念和技术细节。以下是对这个问题的全面解答:
假设我们有一个C++库文件 mylib.cpp
和一个头文件 mylib.h
:
mylib.h
#ifdef __cplusplus
extern "C" {
#endif
void printHello();
#ifdef __cplusplus
}
#endif
mylib.cpp
#include "mylib.h"
#include <iostream>
void printHello() {
std::cout << "Hello from C++!" << std::endl;
}
在C代码中调用这个C++函数:
main.c
#include "mylib.h"
int main() {
printHello();
return 0;
}
使用以下命令进行编译和链接:
g++ -c mylib.cpp -o mylib.o
gcc -c main.c -o main.o
g++ main.o mylib.o -o myapp
extern "C"
,导致C++编译器对函数名进行了修饰。extern "C"
块。通过以上步骤和注意事项,可以在Linux环境下顺利实现C语言对C++代码的调用。
领取专属 10元无门槛券
手把手带您无忧上云