Win32 DLL相关操作

原创 2011年01月16日 01:21:00

定义导出函数

 

//方法1:

_declspec(dllexport) int Add(int a, int b);//此时会发生函数名字改编

//如果不想改编,可以使用extern "C"

extern "C" _declspec(dllexport) int Add(int a, int b);

 

//方法2:

//使用模块定义文件def,“;”为注释行

 

; Win32Dll.def: 导出DLL函数

LIBRARY "Win32Dll"                          ;Dll的名称

;DESRIPTION "实现一个Win32 DLL"   ;Dll的描述

EXPORTS

Add             ;函数名

Sub             ;函数名

 

 

 

DLL的调用

1、动态调用(显式调用)

     相关函数:LoadLibrary、FreeLibrary、GetProcAddress

 

2、静态调用(隐式调用)

     (1)需要在调用程序中加入#pragma comment(lib, "name.dll");或者在“工程”->“设置”->“Link”项,输入name.dll

     (2)在调用程序中声明导入函数:extern "C" _declspec(dllimport) int Add(int a, int b);

 

windows系统搜索DLL的路径顺序:

1、exe文件的目录

2、进程的当前工作目录

3、Windows系统目录System32

4、Windows目录

5、path环境变量

相关文章推荐

Win32路径操作相关API

一.路径截断与合并 PathRemoveArgs   去除路径的参数 PathRemoveBackslash 去除路径最后的反斜杠 "\" PathAddBackslash 在路径最后加上反斜杠...

pro essential dll win32简单演示

接下来介绍如何创建你的第一个VC加proessential的实现。内容包括安装,加入proesstial到工程,编写最初的几行代码,然后结果展示。 为了简化起见,这不是一个mfc的例子。如果感兴趣,...

生成一个Win32非MFC的DLL

使用的是VS2010,“文件”-->"新建"-->“项目”,选择生成一个win32项目的DLL。 之后的弹出属性里,选择工程类型“DLL”,完成创建。 我们的DLL接口文件在PeerS...

Win32 dll 的简单创建与使用

文章利用vc++6.0简单的创建了dll工程,并生成dll文件。同时,在win32 控制台程序中进行了应用。...

WIN32注入(无dll)

.386 .model flat, stdcall ;32 bit memory model option casemap :none ;case sensitive include Inje...

win32 的DLL中创建windows窗口

因工作需要,需要写一个DLL,在DLL中创建windows窗口,网上有很多关于DLL创建窗口的文章,不过是基于MFC的, 却鲜见直接用win32的DLL创建的。研究调试了一下,实现了在win32 DL...

class 'mongoClient' not found php_mongo.dll is not a valid Win32 application for windows

window下安装mongoDb比较简单 从 http://pecl.php.net/package/mongo 这里可以下载到最近的mongo扩展。 但是下载的时候,你要根据自己的php版本及架...
  • cidgur
  • cidgur
  • 2015年12月12日 10:37
  • 220

cygwin编译的win32程序不需要cygwin1.dll库的方法

以下文章翻译自国外网站http://digipen2.xmmg.com/dpweb/docs/mno-cygwin.html 简单的代码 view plain #in...
  • diy534
  • diy534
  • 2011年10月29日 01:26
  • 3203

VS2015--win32工程配置的一些想法之VS2015编译的程序在其他机器上缺少msvcp120.dll

今天分享一个自己在开发过程中遇到的困难。用VS2015开发了一个windows客户端(win32项目),在自己的机器上运行很流畅。当你得意的把releas版本进行打包,并进行发布后,问题来了?很多人反...

cocos2d-x 弹出堆被损坏,这说明 **.win32.exe 中或它所加载的任何 DLL 中有 Bug的解决方法

在cocos2dx中定义数组变量,如 private: cocos2d::CCArray *_Objs; cocos2d::CCArray *_Enemys; cocos2d:...
  • five50
  • five50
  • 2013年04月15日 11:26
  • 1415
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Win32 DLL相关操作
举报原因:
原因补充:

(最多只允许输入30个字)