在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方式下,则无此限制


相关文章
|
1月前
|
Ubuntu JavaScript Java
程序从源代码到可执行程序
这篇文章介绍了从源代码到可执行程序的转换过程,包括预处理、编译、汇编和链接四个主要步骤,并提到了解释性语言、脚本语言和超文本语言的不同处理方式。
23 0
|
5月前
|
机器学习/深度学习 人工智能 算法
程序员必知:VS2017动态链接库(.dll)的生成与使用
程序员必知:VS2017动态链接库(.dll)的生成与使用
64 3
|
6月前
|
Linux 编译器 开发者
C/C++动态库与静态库 的详细解析
C/C++动态库与静态库 的详细解析
627 0
|
存储 Linux 编译器
什么是链接库 | 动态库与静态库
什么是链接库 | 动态库与静态库
156 0
|
Linux API C语言
编译参数中如何包含头文件和动态链接库
GCC编译参数:如何包含头文件和动态链接库
68 0
|
Linux
MSVC编译多个C程序文件
MSVC编译多个C程序文件
157 0
|
Linux
Linux环境封装静态库成动态库
Linux环境封装静态库成动态库
187 0
|
NoSQL Linux C++
Linux环境编译动态库
Linux环境编译动态库
127 0
|
Linux vr&ar C语言
Linux环境编译静态库
Linux环境编译静态库
143 0
|
Linux 开发工具 C++
Linux编译多个不同目录下的文件以及静态库、动态库的使用
先看两篇博文,作为基础知识。如果对C/C++编译链接过程都了解的话,可以跳过不看。 http://www.firedragonpzy.com.cn/index.php/archives/2556 http://www.
1850 0