
DLL
九万9w
linux;Qt;架构设计;跨平台
展开
-
PE文件格式 - 节的原始数据 1(Sections' raw data)
http://hi.baidu.com/softopen/blog/item/7ef2c2cc60b6fa570fb3452a.html八、节的原始数据(Sections' raw data)--------------------------------------1.概述(general)-------所有的节在载入内存后都按“SectionAlignmen转载 2012-07-09 21:16:59 · 2817 阅读 · 0 评论 -
使用Qt编写模块化插件式应用程序
动态链接库技术使软件工程师们兽血沸腾,它使得应用系统(程序)可以以二进制模块的形式灵活地组建起来。比起源码级别的模块化,二进制级别的模块划分使得各模块更加独立,各模块可以分别编译和链接,模块的升级不会引起其它模块和主程序的重新编译,这点对于大系统的构建来说更加实用。另一方面,对于商业目的明显的企业,各模块可以独立设置访问权限,开发成员只能访问自己负责的模块,其它模块是不能也不给看到的,这样减少了整转载 2012-07-09 21:41:59 · 760 阅读 · 0 评论 -
dll和so文件区别与构成
动态链接,在可执行文件装载时或运行时,由操作系统的装载程序加载库。大多数操作系统将解析外部引用(比如库)作为加载过程的一部分。在这些系统上,可执行文件包含一个叫做import directory的表,该表的每一项包含一个库的名字。根据表中记录的名字,装载程序在硬盘上搜索需要的库,然后将其加载到内存中预先不确定的位置,之后根据加载库后确定的库的地址更新可执行程序。可执行程序根据更新后的库信息调用库中转载 2012-07-09 21:56:06 · 1154 阅读 · 0 评论 -
导出类引起的 DLL Hell
DLL动态链接库是程序复用的重要方式,DLL可以导出函数,使函数被多个程序复用,DLL中的函数实现可以被修改而无需重新编译和连接使用该DLL的应用程序。作为一名面向对象的程序员,希望DLL可以导出类,以便在类的层次上实现复用。所幸的是,DLL确实也可以导出类。然而事实却没这么简单,导出类的DLL在维护和修改时有很多地方必需很小心,增加成员变量、修改导出类的基类等操作都可能导致意想不到的后果,也转载 2012-07-09 21:38:33 · 573 阅读 · 0 评论 -
__declspec关键字详细用法
原文链接:http://hi.baidu.com/baiyw920/blog/item/a06ddb986314fd0f6e068c0c.html __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式。其它的有关存储方式的修饰符如static与extern等是C和C++语言的ANSI规范,而__declspec是一种扩展属性的定义。扩展属性语法简化并转载 2012-07-09 21:18:56 · 600 阅读 · 0 评论 -
没有头文件怎么用别人的dll
最近搞个程序,用到md5加密,结果看了几个md5加密后,相同的数据结果不同,郁闷了!后面找到一个别人的加密程序算的结果一样,还好它里面算法是用dll实现的,呵呵!借来用了! 先用od把它载入,然后查看可执行模块,选择我们的程序,右键查看名称,找到里面MD.dll导入的几个函数的地方,里面支持md2,md4,md5.我只要md5了,右键在每个参考上设置断点,运行,找到计算md5的地方,让转载 2012-07-09 21:01:14 · 10514 阅读 · 0 评论 -
DllMain详解
DllMain详解源码下载: DLL – 动态链接库 DllMainTest – 测试DLL的DllMain1 DLL的进入/退出函数1.1 DllMain简介跟exe有个main或者WinMain入口函数一样,DLL也有一个入口函数,就是DllMain。以“DllMain”为关键字,来看看MSDN帮助文档怎么介绍这个函数的。The DllM转载 2012-07-09 20:03:15 · 915 阅读 · 0 评论 -
DLL 导出类的问题
使用DLL的一个比较严重的问题就是编译器之间的兼容性问题。不同的编译器对c++函数在二进制级别的实现方式是不同的。所以对基于C++的DLL,如果编译器不同就有很麻烦的。如果创建的是MFC扩展DLL,就不会存在问题,因为它只能被动态连接到MFC的客户应用程序。这里不是本文讨论的重点。 一、重新编译问题 我们先来看一个在实际中可能遇到的问题:比如现在建立好了一个DLL导出了CMy转载 2012-07-09 21:40:03 · 666 阅读 · 0 评论 -
dumpbin 用法
今天工作中需要查看dll中的内部结构 所以重点学习了一下dumpbin的用法 dumpbin.exe在/VC/BIN目录下,如果在其他目录下无法使用dumpbin,可以运行该目录下VCVARS32.BAT,这个批处理文件就是用来修复VC环境的。 下面列出了 DUMPBIN 命令行选项。 此外列出每个选项提供的输出的一些了。 / ALL 显示除代码反汇编外的所有可用信息。 使用转载 2012-07-09 21:21:46 · 1154 阅读 · 0 评论 -
使用dumpbin查看函数的__stdcall调用名
如果通过VC++编写的DLL欲被其他语言编写的程序调用,应将函数的调用方式声明为__stdcall方式,WINAPI都采用这种方式,而C/C++缺省的调用方式却为__cdecl。__stdcall方式与__cdecl对函数名最终生成符号的方式不同。若采用C编译方式(在C++中需将函数声明为extern "C"),__stdcall调用约定在输出函数名前面加下划线,后面加“@”符号和参数的字节数,形转载 2012-07-09 21:20:50 · 4955 阅读 · 0 评论 -
dll深入浅出
在查找资料发现的文章http://download.youkuaiyun.com/detail/zhgn2/4419385How to compare binary images of the same project buildshttp://support.microsoft.com/kb/164151/en-usPolicies/Binary转载 2012-07-09 19:51:14 · 532 阅读 · 0 评论