码迷,mamicode.com
首页 > 其他好文 > 详细

DLL对应的导入库一定会生成的

时间:2019-09-11 15:58:43      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:lsp   get   ESS   highlight   ifd   执行   address   动态   cad   

 

测试代码:

#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对应的导入库一定会生成的

标签:lsp   get   ESS   highlight   ifd   执行   address   动态   cad   

原文地址:https://www.cnblogs.com/khacker/p/11506319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!