Linux动态连接库示例


//gcc编译C动态库,然后在C中调用
//////////////////////////////////////////////////////
//myso.c
#include
void show()
{
printf("hello c so\n");
}
//gcc -fPIC -shared -o libmyso_c.so myso.c
//main.c
#include
int main()
{
show();
return 0;
}
//gcc -o main_c main.c ./libmyso_c.so
//g++编译C++动态库,然后在C++中调用
//////////////////////////////////////////////////////
//myso.cpp
#include
using namespace std;
void show()
{
cout
}
//g++ -fPIC -shared -o libmyso_cpp.so myso.cpp
#include
using namespace std;
void show();
int main()
{
show();
return 0;
}
//g++ -o main_cpp main.cpp ./libmyso_cpp.so
//gcc编译C动态库,然后在C++中调用,必须使用extern "C"
#include
using namespace std;
extern "C" void show();
int main()
{
show();
return 0;
}
//g++ -o main_cpp_c main.cpp ./libmyso_c.so

相关内容