dll文件

qt 项目的目录配置

匆匆过客 提交于 2020-03-30 15:05:26
使用Qt的工程中,会经常在.pro文件中配置目录。初学者有时候比较困惑,比如我。我这里通过一个dll项目的调用来说明一下。 代码参考资源: testMysqlDB 从名字可以看出,这是一个关于调用mysql的例子。 简单说明一下:两个工程,一个dll,一个调用dll;dll是一个库,封装mysql功能;这里使用的是msvc2015_64编译器 一、关于dll 图中数字: 1、表示这个要生成动态库。 2、这个我个人觉得类似于vs中的预定义,这里用来标志是导出还是导入。 3、说明:后来发现这个路径用不到,也不想修改了。 4、(⊙o⊙)…这个我也不懂什么意思。 5、dll存放目录。 二、关于调用程序 1、头文件所在目录。 2、生成exe的目录;导入库的目录。 以上可对照下载的 示例程序 。 来源: https://www.cnblogs.com/warmlight/p/12598099.html

一般使用动态链接库DLL中类的方法

蓝咒 提交于 2020-03-29 12:55:50
现在假设你的建立的DLL 名是win32dll 1.新建一个工程。将上述的三个文件:win32dll.lib,win32dll.dll,win32dll.h,拷贝到当前工程目录中。 在工程的头文件中,引入上述头文件和lib库。 #include "win32dll.h" #pragma comment(lib,"win32dll.lib") 2.其实还可以在设定路径的方法上进行设置,这样的话就不用copy到现在的工程了。如果需要用到头文件,就具体的做法是 project--> (现在工程名)project properties-->c/c++ --> general --> additional including libraries里加上你的路径就行了。 可执行文件仅在运行时加载动态链接库。必须告诉系统在哪里查找“win32d.dll”。您可以通过使用 PATH 环境变量做到这一点。为此,请在 “ 属性页” 对话框中展开 “ 配置属性” 节点,并选择 “ 调试” 。在 “ 环境” 旁边键入以下内容:PATH=< win32dll.dll 文件的路径>,其中 < win32dll.dll 文件的路径> 应替换为win32dll.dll的实际位置。单击 “ 确定” 保存所有更改。 然后再加上: #include "win32dll.h" 以上两种方法都是可以的,各有优缺点

Windows Embedded CE 6.0 Internals (3) Memory Continued

﹥>﹥吖頭↗ 提交于 2020-03-29 03:43:04
对我来说写一篇博客真的不容易,我是个十足的完美主义者,但是水平很一般,所以我会花上很多时间去修补文章。也许文章并不能让你满意,如果你有任何的建议,任何的,我都非常期待你能告诉我。这篇文章仍然是继续 Windows Embedded CE Internals (2) 内存部分。 从硬件视角看内存 从硬件上看,可作为内存的大体分为RAM、ROM、Nand/Nor Flash(兼具RAM和ROM特性的混合体)。 RAM 內存 可以进一步分为静态随机存取存储器( SRAM )和动态随机存取存储器( DRAM )两大类。 SRAM 具有快速访问的优点,但生产成本较为昂贵,一个典型的应用是 高速缓存 。而 DRAM 由于具有较低的单位容量价格,所以被大量的采用作为系统的 主存储器 。 以下简单列举一些RAM: DRAM SRAM VRAM(Video RAM) DDR SDRAM(Double Data Rate SDRAM) DDRII(Double Data Rate Synchronous DRAM) 那么RAM、ROM、Flash有哪些区别?我在这里简单的总结一下: 1.RAM需要供电才能保存数据,而ROM、Flash都不需要。 2.内存中的代码能够直接被执行的前提是CPU能够随机读取这个内存里面的数据,RAM满足这个条件的,还满足这个条件的是ROM和Nor Flash(也就是XIP)

CLR查找和加载程序集 z

余生颓废 提交于 2020-03-27 21:44:05
C#开发者在开发WinForm程序、Asp.Net Web(MVC)程序等,不可避免的在项目中引用许多第三方的DLL程序集, 编译后引用的dll都放在根目录下。以我个人作品 AutoProject Studio 自动化项目生成器 为例,由于需要支持SQL Server、 Oracle、MySQL、PostgreSQL、DB2、Sybase、Infomix、SQLite、Access等多种数据库, 所以引用了DmProvider.dll、 IBM.Data.DB2.dll、IBM.Data.Informix.dll、MySql.Data.dll、Npgsql.dll、SQLite.Interop.dll、 System.Data.dll、 System.Data.OracleClient.dll、Sybase.AdoNet4.AseClient.dll 等DLL,参考下图: 随着项目的日益增大,根目录下充满了各种各样的dll,非常的不美观。 如果能够把dll按照想要的目录来存放,那么系统就美观多了。 此问题就涉及到 CLR查找和加载程序集的方式 。    系统搜索dll的目录以及顺序   CLR解析一个程序集会在一个根目录内进行搜索,整个探索过程又称Probing,这个根目录很显然就是当前包含当前程序集的目录。   AppDomainSetup这个类存储着探索目录的信息,其成员包括:

Dependency Walker使用说明

假装没事ソ 提交于 2020-03-27 21:40:57
Dependency Walker使用说明 标签: dll exe windows vb qq 工具 2010-03-29 11:10 25175人阅读 评论 (22) 收藏 举报 分类: 基本常识(45) 在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧!   初窥门径:Windows的基石   随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写。从Microsoft公司推出首个版本的Windows以来,动态链接库就一直是这个操作系统的基础。   1.看看DLL里有什么   与其用晦涩的专业术语来解决DLL是什么,不如先来看看DLL里有什么。DLL和EXE文件一样,其中包含的也是程序的二进制执行代码和程序所需的资源(比如图标、对话框、字符串等),可是为什么要把代码放在DLL里面,而不是做成EXE呢?其实DLL中的代码是以API函数形式出现的,通俗地说,DLL中包含的程序代码都被做成了一个个小模块,应用程序通过按下所需DLL中特定的按钮,来调用DLL中这个按钮所代表的功能。在使用“记事本”等程序时,如果要保存文件或打开文件,就会弹出通用文件对话框,让我们选择文件位置

Dependency Walker使用说明

大兔子大兔子 提交于 2020-03-27 21:40:37
在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字—— 动态链接库 。现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石   随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写。从Microsoft公司推出首个版本的Windows以来,动态链接库就一直是这个操作系统的基础。 1.看看DLL里有什么   与其用晦涩的专业术语来解决DLL是什么,不如先来看看DLL里有什么。DLL和EXE文件一样,其中包含的也是 程序的二进制执行代码和程序所需的资源 (比如图标、对话框、字符串等),可是为什么要把代码放在DLL里面,而不是做成EXE呢? 其实DLL中的代码是以API函数形式出现的,通俗地说,DLL中包含的程序代码都被做成了一个个小模块,应用程序通过按下所需DLL中特定的按钮,来调用DLL中这个按钮所代表的功能 。在使用“记事本”等程序时,如果要保存文件或打开文件,就会弹出通用文件对话框,让我们选择文件位置。你可知道,这就是调用了系统底层DLL中的通用对话框界面。 2.系统中几个重要的DLL   Windows中有3个非常重要的底层DLL: Kernel32.dll、User32.dll、GDI32.dll

[102] Dependency Walker使用说明

一曲冷凌霜 提交于 2020-03-27 21:40:19
  在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧!        初窥门径:Windows的基石        随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写。从Microsoft公司推出首个版本的Windows以来,动态链接库就一直是这个操作系统的基础。        1.看看DLL里有什么        与其用晦涩的专业术语来解决DLL是什么,不如先来看看DLL里有什么。DLL和EXE文件一样,其中包含的也是程序的二进制执行代码和程序所需的资源(比如图标、对话框、字符串等),可是为什么要把代码放在DLL里面,而不是做成EXE呢?其实DLL中的代码是以API函数形式出现的,通俗地说,DLL中包含的程序代码都被做成了一个个小模块,应用程序通过按下所需DLL中特定的按钮,来调用DLL中这个按钮所代表的功能。在使用“记事本”等程序时,如果要保存文件或打开文件,就会弹出通用文件对话框,让我们选择文件位置。你可知道,这就是调用了系统底层DLL中的通用对话框界面。        2.系统中几个重要的DLL        Windows中有3个非常重要的底层DLL

Win32 的dll导入问题总结-------------

泄露秘密 提交于 2020-03-25 05:59:47
dll 文件可以导入变量,函数,和C++类,但是导入变量会使执行程序与dll紧耦合,而C++类导入则需要两个文件的开发商所用的编译器相兼容,所以做好只导入函数; 创建dll : 头文件: #ifdef MYLIBAPI //在dll源文件中必须定义这个宏为导出宏 #else //因为执行文件中必然没有定义这个宏所以 #define MYLIBAPI __declspec(dllimport) //在执行文件中必定为导入宏 #endif MYLIBAPI int g_nResult; //导入变量 MYLIBAPI int Add(int nLeft, int nRight); //导入函数 源文件: #include <windows.h> #define MYLIBAPI __declspec(dllexport) //屏蔽掉头文件的导入宏为导出宏 #include "MyLib.h" int g_nResult; int Add(int nLeft, int nRight) {g_nResult = nLeft + nRight; return(g_nResult); } 隐式链接: 在mfc中调用win32 dll 的步骤: (导出函数 /一般不导出c++类:可以只导出部分public函数) 1: 不要用extern "C",单独用_declspec (dllexport)

modelsim与debussy联合的问题

↘锁芯ラ 提交于 2020-03-21 21:48:35
最近用modelsim仿真,老出现Warning: (vsim-PLI-3003) F:/project/net_cfg/test_top.v(148):[TOFD] - System task or function '$fsdbDumpSingle' is not defined. 经过几番折腾,我发现是novas.dll文件的问题。在debussy的安装目录下,有几个novas.dll文件,正确的应该是C:\Novas\Debussy\share\PLI\modelsim_pli54\WINNT\novas.dll 而不是\Novas\Debussy\share\PLI\modelsim_pli\WINNT\novas.dll。 只要把C:\Novas\Debussy\share\PLI\modelsim_pli54\WINNT\novas.dll这里的novas.dll拷贝到..\modeltech_6.5\win32下,取消文件..\modeltech_6.5\modelsim.ini的只读属性后,打开。 找到 “; Veriuser = veriuser.sl”替换为“Veriuser = novas.dll”,(这里一定要注意前面的分号也要删除掉,否则无法正确运行,在这里差点吃大亏) 保存;关闭;设为只读。 也不需要在运行仿真脚本中加上vsim -pli novas

Dependency Walker使用说明

杀马特。学长 韩版系。学妹 提交于 2020-03-20 22:04:03
在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石 随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写。从Microsoft公司推出首个版本的Windows以来,动态链接库就一直是这个操作系统的基础。 1.看看DLL里有什么 与其用晦涩的专业术语来解决DLL是什么,不如先来看看DLL里有什么。DLL和EXE文件一样,其中包含的也是程序的二进制执行代码和程序所需的资源(比如图标、对话框、字符串等),可是为什么要把代码放在DLL里面,而不是做成EXE呢?其实DLL中的代码是以API函数形式出现的,通俗地说,DLL中包含的程序代码都被做成了一个个小模块,应用程序通过按下所需DLL中特定的按钮,来调用DLL中这个按钮所代表的功能。在使用“记事本”等程序时,如果要保存文件或打开文件,就会弹出通用文件对话框,让我们选择文件位置。你可知道,这就是调用了系统底层DLL中的通用对话框界面。 2.系统中几个重要的DLL Windows中有3个非常重要的底层DLL:Kernel32.dll、User32.dll、GDI32.dll。其中Kernel32