最近,一直在编写跨平台的接口库,库都编写成了linux下的so库文件,涉及到了对so的调用问题,在windows下,有对动态链接库的两种方式加载,一是显示加载,即:手动load库,二是隐式加载库,即:只需要头文件和lib文件,头文件在编译过程需要,lib文件在链接过程需要,即可在程序中直接调用库,而不需要手动加载了,而在linux下,显示加载的方式和window是一样的,而linux下隐式加载需要注意几点,第一,头文件还是需要指定的,第二,在宿主程序中通过链接选项-l指定so库文件,在linux并不需要lib文件来支持链接过程,那么我猜想so文件中已经有了链接过程需要的东西,最后,在链接选项的名称上需要注意,比如:我的库文件名称为libmy.so,那么链接选项应该是-lmy即可,也就是说不要加签名的lib和后面的so,这算是linux的特殊方式吧,所以生成的so库文件,名称上一定要为libname.so格式,中间的name为你的库文件名字,前面为lib和后面为so。
linxu下隐式调用so库
最新推荐文章于 2020-11-26 13:33:35 发布