现在的位置: 首页 > 综合 > 正文

def 文件 PRIVATE 作用

2012年09月25日 ⁄ 综合 ⁄ 共 587字 ⁄ 字号 评论关闭

      对于def 文件PRIVATE 微软大叔已经解释的很清楚了~但是有些人还是不理解~ 网上又没人写的清楚  微软 大叔是这样写的:
      可选的 PRIVATE 关键字禁止将 entryname 放到由 LINK 生成的导入库中。它对同样是由 LINK 生成的图像中的导出无效。(原文地址:http://msdn.microsoft.com/zh-                 cn/library/hyx1zcd3(v=vs.80).aspx)
      字面意思很清楚的写道entryname不会写入到导入库中,什么是导入库捏,就是你链接时生成的 xxx.lib

举个栗子:

// TestDll.def 未加PRIVATE
LIBRARY TestDll
EXPORTS
	add 

//test.cpp
#include "stdafx.h"
#include "Header.h"
#pragma comment(lib,"TestDll.lib")

int _tmain(int argc, _TCHAR* argv[])
{
	int a = add(1,2);

	printf("%d",a);

	getchar();
	return 0;
}

链接无误,运行妥妥;

加了PRVATE关键字呢~

则会出现无法链接到add的错误。

那PRVATE的作用就是无法使用Lib文件来隐式的链接所修饰的add,因为它没有包含在lib文件中,

所以PRVATE所导出的函数只能使用显示的方法使用~


抱歉!评论已关闭.