C++调用外部so文件

利用extern “C” 构建一个外部C库

//testlibc.cpp

#include<iostream>
extern "C" void test()
{
    std::cout << "this is a test log" << std::endl;
}
//编译成动态库
g++ -std=c++11 testlibc.cpp -shared -fPIC -o libtest.so

C 文件调用方式

main.c
int main()
{
    test();
}
//编译
gcc main.c libtest.so -o main

C++ 调用方式

//main.cpp
extern "C" void test();//这里需要注明这个函数是 extern "C"
int main()
{
    test();
}
//编译
g++ main.cpp libtest.so -o main

猜你喜欢

转载自blog.csdn.net/jxhaha/article/details/78498768