DLL
文章平均质量分 55
布衣僧
助人如助己,还人心愿,如还自己心愿。
展开
-
动态链接库(DLL)总结---DLL注入(9)
/************************************************************************//* 方法名称: dllInto/* 方法全称: dllInto/* 参数: DWORD dwProcId 进程号/* 返回值: int/* 说明: DLL注入/****************************原创 2016-01-17 10:22:12 · 786 阅读 · 0 评论 -
动态链接库(DLL)总结---编译选项中使用名称粉碎机制(7)
-----------------------解决名称粉碎例子:#ifdef DLL1_API_IMP #else#define DLL1_API_IMP extend "C" __declspec(dllimport) #endif 如果后面需要使用名称粉碎的话,使用__stdcall即可,如下DLL1_API_IMP int __stdcall add(int a, i原创 2015-12-01 08:51:07 · 692 阅读 · 0 评论 -
动态链接库(DLL)总结---从DLL中导出类(6)
我们创建一个工程动态链接库,名称为DLL1,然后在DLL1.h中添加代码如下:#ifdef DLL1_API_IMP #else#define DLL1_API_IMP __declspec(dllimport) #endif//导出类class DLL1_API_IMP Test{public: void output(int x, int y);}; 在D原创 2015-12-01 08:50:10 · 3373 阅读 · 0 评论 -
动态链接库(DLL)总结---动态链接库的创建与使用(5)
我们将 动态链接库(DLL)总结---静态链接库的创建与使用(4)中的工程修改下属性即可,如下图: 编写代码。 编辑Lib1.h文件 **extern "C" __declspec(dllexport) void Msg();** Lib1.cpp文件内容不变,然后重新生成即可。调用Dll1)隐式链接将生成的lib文件和dll文件拷贝到要测试项目目录下。测试代码如下:原创 2015-11-30 19:40:05 · 569 阅读 · 0 评论 -
动态链接库(DLL)总结---简单使用(1)
DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。我们在使用Window API开的时候, 其中有3个最重要的DLL。Kernel32.dll 用于管理内存、进程和线程函数。例如:CreateThread函数User32.dll 用于执行用户界面任务的函数。例如:CreateWindow函数GDI原创 2015-10-31 15:23:45 · 934 阅读 · 0 评论 -
动态链接库(DLL)总结---解决名称粉碎问题(3)
名称粉碎:C++是支持函数重载,对于多个函数来说,其函数的名称是一样的,为了加以区分,在编译链接时,c++会按照自己的规则篡改函数的名称。这一过程成为“名称粉碎”,也有的称为“名称改编”。不同的编辑器会采用不同的编辑器进行改编。我们使用LoadPE工具查看动态链接库(DLL)总结---简单使用(1)中生成的dll,查看下名称粉碎是个什么效果。操作步骤如下:1)加载要查看的dll原创 2015-10-31 16:38:47 · 1383 阅读 · 1 评论 -
动态链接库(DLL)总结---简单使用(2)
接着《动态链接库(DLL)总结---简单使用(1)》我们来完善dll项目。为什么说是要完善DLL项目呢?在实际开发中,一个DLL实现后,通常会交给客户程序,以便后者能够调用。客户程序需要知道DLL导出了那些函数和函数原型,有人说我们在上篇文章是知道的啊,之所以知道是因为程序都是我们自己写的。如果我们自己使用别人编写的dll呢?那么我们可以使用一些工具来知道导出了那些函数和函数的原型,但是这样就不是原创 2015-11-30 19:29:40 · 856 阅读 · 0 评论 -
动态链接库(DLL)总结---静态链接库的创建与使用(4)
静态库(static library)将函数和数据编译进入到一个二进制文件(.lib)中,当链接的时候,会将函数和数据复制到可执行文件中去。发布的时候,不需要该lib文件。1、使用vs2013建立一个静态库的工程,StaticDllDemo新建一个 win32项目,名称定义为 StaticDllDemo,在下一步中选择 “静态库”,然后点击完成即可。我们查看该项目属性,会发现在 “原创 2015-10-31 19:03:50 · 511 阅读 · 0 评论 -
动态链接库(DLL)总结---DLL注出(10)
/************************************************************************//* 方法名称: DllOut/* 方法全称: DllOut/* 返回值: void/* 说明: DLL注出/***********************************************************原创 2016-01-17 10:24:37 · 480 阅读 · 0 评论 -
动态链接库(DLL)总结---DLL三种调试(8)
DLL有三种调试方法: 方法1: 如果动态链接库是自己编写的,并且测试代码也是自己编写的,那么此时我们可以将动态链接库和测试代码的工程建立在一起,在调试测试代码的时候,可以直接调用动态链接库中的代码。 方法2:如果动态链接库是自己编写的,而调用动态链接库的程序不是自己编写的,那么我们需要设置动态链接库中的项目属性,启动调用动态链接库的程原创 2015-12-02 08:39:11 · 18016 阅读 · 2 评论