VC2010 利用 def 文件生成 dll 文件的方法 转载

最近有个需求,要生成一个dll 文件,文件中的函数都是采用 stdcall 函数调用约定,但是不希望函数名被修饰(add 被修饰成 [email protected])。这时就要用def 文件了。

比如我有下面两个函数:

[cpp] view plain copy

  1. extern "C" int  _stdcall add(int a, int b)
  2. {
  3. return a + b;
  4. }
  5. extern "C" int  _stdcall sub(int a, int b)
  6. {
  7. return a - b;
  8. }

def 文件(我命名为dll.def)可以这样写:

[plain] view plain copy

  1. LIBRARY add_sub
  2. EXPORTS
  3. add
  4. sub

VC6 来编译的话很简单,只要把 dll.def 文件加入到工程里就可以了,可是到了vs2010 ,发现这样做竟然没用,生成的 dll 依然是啥都没导出来。百度了一下,发现需要自己指定

Module Definition file。

时间: 2024-11-05 13:29:33

VC2010 利用 def 文件生成 dll 文件的方法 转载的相关文章

如何利用.snk文件生成DLL文件中的Publickeytoken

1.在该路径下C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin查找是否有sn.exe. 没有的话,从网上下载,注意需要的版本. 2.打开cmd命令板,进入该路径. 3.输入命令sn.exe -k 文件路径\文件名.snk,提示写入成功信息,进入路径确认是否生成指定.snk文件. PS:该文件为私钥文件 4.输入命令sn.exe -p 私钥文件 要生成公钥文件路径 5.输入命令sn.exe -tp 公钥文件路径,查看公钥和Publick

VC2010 利用 def 文件生成 dll 文件的方法

近期有个需求,要生成一个dll 文件.文件里的函数都是採用 stdcall 函数调用约定,可是不希望函数名被修饰(add 被修饰成 [email protected]). 这时就要用def 文件了. 比方我有以下两个函数: extern "C" int _stdcall add(int a, int b) { return a + b; } extern "C" int _stdcall sub(int a, int b) { return a - b; } def

将cs文件生成dll文件 将类编译为程序集

1.csc.exe是.net用来编译.cs文件的.一般来说在C:\Windows\Microsoft.NET\Framework\v2.0.50727 2.首先确认是否配置环境变量(当然,如果不配置也行,只不过要加上路径),如果没有,请按以下步骤配置(Window7) 右键点击"计算机"--"属性"--"高级系统设置"--"环境变量"--"系统变量",找到变量Path      将Path中加上路径:C:/

利用def生成dll文件

DLL中导出函数的声明有两种方式:一种为在函数声明中加上__declspec(dllexport),这里不再举例说明:另外一种方式是采用模块定义(.def) 文件声明,.def文件为链接器提供了有关被链接程序的导出.属性及其他方面的信息.            首先创建 一个DLL程序,.cpp中int __stdcall Add(int numa, int numb){       return (numa + numb);} int __stdcall Sub(int numa, int n

(Unity)Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进展混淆,避免被反编译

Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进行混淆,避免被反编译. 1.打开VS,博主所用版本是Visual Studio 2013. 2.新建一个VC项目,选择类库,取名为JefferyChan,具体步骤如下图: 3.因为要调用Unity中的相关文件,所以这里要引入外部文件.首先在Unity的安装文件夹中找到UnityEngine.dll,我的路径是:D:\Program Files (x86)\Unity\Editor\Data\Managed 如

生成dll文件的示例

看了好多网上写的关于dll文件生成和实用的资料发现多尔不全,都是抄来抄去,有的干脆就是搬用msdn上的原文,实在没有创意和可看的东西.于是本着学和实用的目的自己实践的东西分享给大家. 大前提:使用VS2010作为dll生成工具 概述:主要通过构建一个解决方案中的一个项目来演示如何定义和生成dll文件,在同一个方案中在创建一个项目主要用来进行生成dll的使用. 简易结构图: testdll(解决方案名) |--makedll(生成dll项目名) |--testdll(使用dll项目名) maked

由.def文件生成lib文件[转]

最近在学习curl库时,碰到一个问题,从官网上下载了一个lib版的,却发现只有.dll,没有lib文件,感觉很奇怪,google了之后才知道,原来库作者的用意是让用户自己生成lib文件,下载到的lib文件中含有.def文件.唉,用了vs有几个年头了,却连这么基础的问题都不知道,编译器是变得越来越智能了,只是让我们变得越来越傻了.下边我总结了一下由.def生成lib的方法. 在使用 VC 链接 dll 时,通常需要一个导入库文件(.lib),但有时我们只有一个 dll 文件,怎么办呢? 通常,在链

使用VS2012生成DLL文件 (1)

一:生成DLL 1:创建DLL工程 文件->新建->项目->visual c++->win32->win32控制台应用程序(win32项目也可以) 填写项目名称MyDLL->确定->下一步->DLL(附加选项 对空项目打钩)->完成. 到这里DLL工程就创建完毕了,下面新建两个文件MyDLL.cpp和MyDLL.h. MyDLL.cpp内容如下: 1 #include  2 using namespace std; 3 #include "M

C# 怎么生成DLL文件(转)

有两种方法:    但是一般这个使用 打开VS2008,依次点击:菜单->文件->新建项目->项目类型visual C#(这里假设为该项目所取的名字是DllBuild)->类库(注意必须是类库),即新建一个由纯.cs 类库文件组成的程序集,写好代码之后(例如写了一个名为DllTest.cs的类,该类的namespace取名为DllTestNS),再依次点击:菜单->生成->生成DllBuild,这样你的DllBuild/DllBuild/bin/Debug文件夹或者Dl