⑴ 如何将C++应用程序代码添加到动态链接库中
什么意思?动态库本来就可以写成应用程序的。
想编写动态库就建一个动态库项目。把函数一写,再一导出。就OK了。
⑵ linux下C/C++动态库在运行时是怎样加载进来的
linux调用库的方式有三种:1.静态链接库2.动态链接库3.动态加载库其中1,2都是在编程时直接调用,在链接时加参数-l进行链接第三种需要在编程时使用dlopen等函数来获取库里面函数的定义,然后进行调用.不过对于没有提供头文件的动态库,只能dlopen等函数来调用
⑶ unix 下的C++编程在编译时怎么链接动态库第二个问题 在程序中怎么调用
你说的是手动显示调用,不是静态隐式调用。
#include<dlfcn.h>
此头文件在编译时需要加入 -ldl选项
动态链接库 必须加入:-fpic选项。
------
void *dll=NULL;//保存动态链接库的句柄。
int (*dll_fun)(char*)=NULL;//想要调用的函数指针。
dll=dlopen("/lib/XXX.so", RTLD_NOW)//打开so文件。
dll_fun=dlsym(dll,"my_print");//获取指定函数的指针。
dll_fun("Call my_print");
dlclose(dll)
---
编译链接有两种方法,
1. 使用-lXX 选项,gcc会自动在库路径中链接libXX.so的文件 gcc main.c -lstdc++ -omain
2. 在命令行中将库路径作为参数传入。 gcc main.c /lib/libstdc++.so -omain