首页 > 其他分享 >关于动态库

关于动态库

时间:2024-05-23 23:29:21浏览次数:28  
标签:lib dumpbin 导出 dll 入库 关于 动态 libtest

windows下常用:

1.静态链接lib库

2.导入库.lib和动态链接库dll 配合使用

动态库和静态库内容查看

vs studio提供dumpbin.exe

使用:

1.打开vs命令行工具

 2.输入指令 

程序|指令|输出路径指令+相对路径(或者绝对路径,相对路径“./”表示当前路径,不要忘记写)|要进行导出的文件名同导出文件

dumpbin /EXPORTS /OUT:./exports.txt .\libtest.dll

 3.查看导出文件内容

(1)libtest. dll导出内容

 这里是我写的测试例子,可以看到有2个函数分别为add、del

 (2)libtest.lib导出内容

 dumpbin /EXPORTS /OUT:./exportlib.txt .\libtest.lib

 

 3.使用

(1)建立工程,extern "C"{ XXX.h }是因为我编译的是.c文件,所以需要添加对应声明,不填加声明无法从导入库.lib中获取到函数定义信息

导入库使用:

(1)手动 #pragma comment(lib,"C:\\code\\TrdpTest\\TrdpTest\\lib\\libtest.lib")

(2)项目-》属性-》链接器 -》常规-》添加库目录 ,然后附加依赖项 填写库的全称

 

 

取消extern"C"{ XXX.h }后报错

 

 运行 程序路径下,没有放对应的Dll

添加后正常运行

 

标签:lib,dumpbin,导出,dll,入库,关于,动态,libtest
From: https://www.cnblogs.com/bang20221103/p/18209563

相关文章

  • 算法设计与分析---动态规划(期末)
    1.基本要素 最优子结构-->一个问题的解包含子问题的最优解重叠子问题-->子问题被反复计算2.动态规划和分治区别两者都是把大问题转换成小问题/子问题来解决,并且当最优子问题组合成最优大问题。区别1:解决问题的类型动态规划主要用于解决优化问题,即寻找满足一定条件的最优解......
  • 关于QT的头文件相互包含的问题
    就是我有两个代码,head_test.cpp,head_test.h和head_test2.cpp,head_test2.h。要互相调用对方的类。为了方便看下面我就用A代表head_test,B代表head_test21.head_test.h2.head_test.cpp3.head_test2.h4.head_test2.cpp这两天我在查网上的资料,基本上都是说,需要在头文件中......
  • 10-2-uptime查看系统负载-top动态管理进程
    10.2.1uptime查看CPU负载工具 任务队列的平均长度是什么?案例1:找出当前系统中,cpu负载过高的服务器。服务器1:loadaverage:0.15,0.08,0.011核服务器2:loadaverage:4.15,6.08,6.011核服务器3:loadaverage:10.15,10.08,10.01......
  • 买卖股票相关算法-动态规划-python
    要求1:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不......
  • 关于如何使用JNI将C语言接口打包成可供java环境调用的so库文件
    一、环境检查在linux下打包.so文件,首先需要确认是否有安装java环境,可通过在终端中输入指令java的方式来进行查看。如下图所示,则为已安装java环境。  若当前未安装java环境,则可通过在终端中输入如下指令进行安装,我这里使用的java环境为1.8.0版本。sudoapt-getinstallo......
  • nacos启动异常和动态配置未生效
    最近打算研究一下nacos动态配置的原理,于是开始照着Nacos官网快速入门。但是发现在和SpringBoot以及SpringCloud适配启动的时候,总是报错无法启动,于是深入排查了一下并作以记录。1.nacos和SpringBoot启动报错Invaliddefault:publicabstractcom.alibaba.nacos.api.config.Con......
  • 第一阶段复习——基础动态规划
    背包知识点总结:01背包、完全背包的转移方程滚动数组和倒序初始化问题:完全放满和不一定放满多重背包二进制优化,边界问题。处理完之后跑完全背包。“在这一讲中,我们看到了将一个算法的复杂度由O(VΣMi)改进到O(VΣlogMi)的过程,还知道了存在复杂度为O(VN)的算法。”单......
  • QtCreator 跨平台开发添加动态库教程(以OpenCV库举例)- Windows篇
     Qt具有跨平台的特性,即Qt数据结构与算法库本身跨平台和编译脚本(.pro)跨平台。在同时具有Windows下和Linux开发的需求时,最好的建议是使用QtCreator来开发,虽然也可以使用其他的IDE配合CMake等方式,但使用QtCreator更加方便,并且操作环境完全一致。QtCreator支持Windows、Linux、M......
  • SpringBoot动态定时任务
    其实SchedulingConfigurer实现方法很简单,只需要实现SchedulingConfigurer并重写configureTasks方法,在启动类必须加上@EnableScheduling注解即可。@Configuration@EnableScheduling@Slf4jpublicclassRuleTaskimplementsSchedulingConfigurer{privatevolatileSch......
  • 动态sbm模型dsbm复现
    大家新年好!今天推出的是动态SBM模型,参考文献是:《DynamicDEA:Aslacks-basedmeasureapproach》,文献doi是:10.1016/j.omega.2009.07.003不同于常见的DEA模型只能处理截面数据,动态SBM模型能够处理面板数据,其结构如下:其中的链接变量,carry-over分为以下四种:(1)理想的(好的)链接,这......