在Masm32中如何静态链接自己编写的库文件

简介: 在Masm32中如何静态链接自己编写的库文件

动态链接很简单,直接包含***.inc,***.lib,则程序运行时,会自动加载***.dll;或者LoadLibrary

但是,如何静态链接自己编写的库文件呢?

因为,特别是对于小程序,编写时,把部分相对独立的功能用lib或者dll来完成,有些模块化的方式,但是最后链接为exe时,希望仅仅一个单独的exe,而不是还得带几个dll。

参考masm32.inc和masm32.lib呀;它的连接就是静态的

实现方法很简单,方式如下:

 链接库文件时,不要用link  /dll /def:***.def  ***.obj,而是用link -lib***.obj,这样,产生的***.lib文件就包括了库文件的代码。在exe工程中,就直接include ***.inc,includelib***.lib,编译链接时,就自动把指定***.lib的代码链接到exe文件中了。

 注意:这种方式下,库文件的函数名不能和exe工程文件中的函数名重复,因为其实相当于一个工程内,而dll方式下,则无此限制


相关文章
|
3月前
|
机器学习/深度学习 人工智能 算法
程序员必知:VS2017动态链接库(.dll)的生成与使用
程序员必知:VS2017动态链接库(.dll)的生成与使用
28 3
|
10月前
|
存储 Cloud Native Linux
C++ 动态库与静态库的区别?
C++ 动态库与静态库的区别?
|
11月前
|
IDE 编译器 开发工具
[笔记]vs2015 编写汇编masm32之使用MASM32库
[笔记]vs2015 编写汇编masm32之使用MASM32库
|
Linux
Linux环境封装静态库成动态库
Linux环境封装静态库成动态库
180 0
|
Ubuntu 编译器 Linux
Linux环境编译多个C程序文件
Linux环境编译多个C程序文件
490 0
|
Linux C语言 C++
Linux环境编译单个C程序文件
Linux环境编译单个C程序文件
245 0
|
Linux
MSVC编译多个C程序文件
MSVC编译多个C程序文件
152 0
|
Linux vr&ar C语言
Linux环境编译静态库
Linux环境编译静态库
134 0
|
NoSQL Linux C++
Linux环境编译动态库
Linux环境编译动态库
122 0