VS制作dll、def文件的使用、dll加入工程使用

1、VS新建工程,在选项的时候,选择dll和空项目,保持干净的dll库:

创建完以后,添加头文件以及源文件。

2、将外部模块使用的接口导出:

(1)函数导出:

__declspec(dllexport) int add(int a, int b)

{

return a+b;

}

(2)类导出:

class __declspec(dllexport) testClass()

{

testClass();

~testClass();

}

3、直接buiild以后,在debug或者release的目录下就可以找到dll的文件:

所有要的内容都有。

检查当前的dll是否导出,vs有个自己工具,使用步骤;

1、在vs的路径下执行VCVARS32.bat,一般路径是 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin

2、然后执行:dumpbin命令

例子如下:

3、去dll的路径下执行:dumpbin -exports XXXXX.dll即可

原文地址:https://www.cnblogs.com/132818Creator/p/11022829.html

时间: 2024-10-10 06:28:33

VS制作dll、def文件的使用、dll加入工程使用的相关文章

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

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

最近有个需求,要生成一个dll 文件,文件中的函数都是采用 stdcall 函数调用约定,但是不希望函数名被修饰(add 被修饰成 [email protected]).这时就要用def 文件了. 比如我有下面两个函数: [cpp] view plain copy extern "C" int  _stdcall add(int a, int b) { return a + b; } extern "C" int  _stdcall sub(int a, int b

extern "C" 和 DEF 文件.

参考: http://www.cnblogs.com/whiteyun/archive/2011/07/22/2113560.html 问题: 如果用了 DEF 文件来导出 DLL 的函数, 还需要在导出的函数声明前面加 extern "C" 吗? DEMO 下载: http://pan.baidu.com/s/1kTTY6rH extern "C" 的目的是告诉 C++ 编译器不要对函数名进行改名处理(以便支持函数重载), 而是按照 C 编译器的方式, 不对函数名

关于DLL的导出.def文件

1.VS2012创建.def文件 右键工程名->add->New Item->Visual C++->Code->Module-Define File(.def) 2.def文件的编写 一个def文件必须有两个部分:LIBRARY和EXPORTS 让我们先看一个基本的.def文件稍后我将解析 LIBRARY dll_tutorial DESCRIPTION "our simple DLL" EXPORTS Add @1 Function @2 第一行,''

利用Costura.Fody制作绿色单文件程序(C#程序(含多个Dll)合并成一个Exe)

原文:利用Costura.Fody制作绿色单文件程序(C#程序(含多个Dll)合并成一个Exe) 开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了.这样交给用户很不方便,希望的效果是直接交付一个exe文件. 这时候就需要借助一款名为Fody.Costura的插件.Fody.Costura是一个Fody框架下的插件,可通过Nuget安装到VS工程中.安装之后,就可以将项目所依赖的DLL(甚至PDB)文件全部打包到EXE文件里. 使用 Costura

C#导入c++ dll报找不到dll文件 masm32调用c++类库

最近需要在C#下调用一个c++ dll库,不管怎样dllimport就是报错找不到该dll文件,路径.函数名称.参数.dllimport参数逐个检查确认无误也无济于事,无奈想用其他语言调用试试,由于是c++的dll照理用c++试最好了,这点事用masm32开发简单快捷就用masm32写了个调用小程序,这其中有个修饰名问题需要注意.使用dumpbin 命令查看c++ dll发现使用的是默认修饰名__cdecl,关于masm32怎样调用c++最简单就是在c++里使用 extern "c",

C# CS格式文件导出为Dll库

[1]使用的工具 VS开发人员命令提示.安装VS后,在开始菜单的VS工具的目录下可以看到该命令工具. [2]准备需要导出的CS文件 导出的Dll需要准备所有相互依赖的CS文件,如果存在多个就需要准备多个. [3]编写命令行导出Dll 模版是: csc /target:library /out: "目的Dll全路径" "源CS路径1" "源CS路径2" ... "源CS路径n" 如: csc /target:library /o

.Net中把图片等文件放入DLL中,并在程序中引用

[摘要] 有时我们需要隐藏程序中的一些资源,比如游戏,过关后才能看到图片,那么图片就必须隐藏起来,否则不用玩这个游戏就可以看到你的图片了,呵呵. 本文就讲述了如何把文件(比如图片,WORD文档等等) 隐藏到DLL中,然后在程序中可以自己根据需要导出图片进行处理. 注:本站原创,转载请注明本站网址:http://www.beinet.cn/blog/ [全文] 第1步:我们要生成一个资源文件,先把要隐藏的文件放入到这个资源文件中 (资源文件大致可以存放三种数据资源:字节数组.各种对象和字符串) 首

转载 .net中的dll.refresh文件和pdb文件

转载原地址: http://blog.csdn.net/lihuang319/article/details/6433727 dll.refresh文件 打开refresh文件,可以看到里面仅仅是个路径. 众所周知,.net的程序生成后会在bin目录下生成.dll文件,而.dll.refresh这个文件从何而来呢?那天无聊地google了下才知,这个东东是在你的项目中引用第三方程序集(是直接的)时自动生成的,这个.refresh文件存储了那个第三方文件的原始文件路径,如果该路径下的这个dll更新