关于linux与Windows动态库的小问题

本文介绍了在Linux和Windows环境下动态库的编译与使用。在Linux中,使用-fPIC选项和-shared来创建动态库,调用时通过-L指定库路径,-l指定库名。而在Windows下,动态库的调用分为静态和动态方式,静态调用需拷贝dll、lib和头文件,动态调用只需dll文件。不同编译器编译的库可能存在调用问题,例如arm-linux-gcc与arm-linux-g++。
摘要由CSDN通过智能技术生成

编译格式
编译器 -fPIC XXX.c -c
编译器 -shared XXX.o -o libxxx.so
或合起来 编译器 -fPIC -shared XXX.c -o libxxx.so

注意用的时候
-L 是库的路径 -l跟库,如果是libxxx.so 就是 -lxxx 如果库名是libxxx.so.x.x 就不可以这样调用了
调用的时候可以直接在后面跟路径,如 ./libxxx.so.x.x
EX:
gcc test.c -o test ./libtest.so.1
gcc test.c -o test -L./ -ltest

尽量直接在后面跟路径,这样出错概率较小。不同编译器编译出来的库可能不能调用,我用arm-linux-gcc编译出来的库,用arm-linux-g++调用就会报找不到库(我加了extern“C”)

DLL的调用。
静态调用:(VS环境下)
将dll与lib文件与头文件都拷贝到当前目录下,在项目属性中,选择连接器,附加库目录中添加库的路径
在主程序前加入代码

#pragma once
#pragma comment(lib,"xxx.lib")
#include</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值