DLL对应的导入库一定会生成的
Posted khacker
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DLL对应的导入库一定会生成的相关的知识,希望对你有一定的参考价值。
测试代码:
#pragma once #define TESTDEPEND_EXPORTS #ifdef TESTDEPEND_EXPORTS #define TESTDEPEND_API __declspec(dllexport) #else #define TESTDEPEND_API __declspec(dllimport) #endif #include <string> class A { public: TESTDEPEND_API A(); TESTDEPEND_API void hello(std::string name); private: int c; int b; }; #include "A.h" #include <iostream> A::A() : b(1), c(2) { } void A::hello(std::string name) { std::cout << b - c << "-hello-" << name << std::endl; }
生成的文件:
连接器,高级导入库里面可以进行设置。
隐式链接指将DLL的函数符号输出库LIB链接,在执行文件中IMPORT段加入一系列函数的入口点!程序在加载启动时自动加载这些DLL,并查找函数入口点!像普通的SDK程序要加入KERNEL32。LIB链接就是!这样的方法是当使用DLL多时,程序启动很慢、! 动态链接指显式加载DLL,利用LoadLibrary,GetProcAddress取得函数入口点,执行再释放,这种方法是程序简洁,快速!但是不利于输出太多函数的DLL使用!代码量太大!
以上是关于DLL对应的导入库一定会生成的的主要内容,如果未能解决你的问题,请参考以下文章
生成读取相关连接的物理地址的lib(动态导入库)和dll(动态链接库)