一般说来,如果同一段代码,一个写成DLL,一个作为函数直接定义,则DLL调用肯定要慢一些。原因如下: 一个程序如果要使用DLL中的函数,则必须经过,如下步骤: 1、将DLL文件装入内存,win32的方法是 :LoadLibrary(...); 2、取得指定的函数的入口地址,方法好像是: GetProcessAddr(.....) 3、通过函数指针,调用函数。 而直接在程序中定义函数,则没有前两步,函数的入口地址在程序装入时就确定了。
采用静态连接方式使用动态库,也就是在项目中添加了XXX.DLL的LIB文件,并没有使用动态连接方式,中的函数与调用自己写的函数,在调用过程上基本没有差异,故所花时间应该相近。