动态链接很简单,直接包含***.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方式下,则无此限制