编译dll动态库
2017-09-13 本文已影响6人
一木之夏
1.使用C文件编译动态dll库:
gcc -Wall -shared main.c -o main.dll
或者
gcc --share main.c -o main.dll
2.使用多个o文件编译动态dll库:
gcc main.o staticTest.o -shared -o dllmain.dll
Linux 、C++ :g++ -shared *.o -o userSip.so
![](https://img.haomeiwen.com/i7570320/3ccfd0e7713ee89f.png)
2.生成静态链接库:
//将hello1.c和hello2.c分别编译为hello1.o和hello2.o,其中-c选项意为只编译不链接。
g++ hello1.cpp -c -o hello1.o
g++ hello2.cpp -c -o hello2.o
//将hello1.o和hello2.o组合为libhello.a这个静态链接库
ar rcs libhello.a hello2.o hello1.o //将hello1.o和hello2.o添加到静态链接库
3.通过python的ctypes加载调用
![](https://img.haomeiwen.com/i7570320/9631263d2466af25.png)