- 博客(0)
- 资源 (38)
- 收藏
- 关注
把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资源中释放出来,通过静态加载延迟实现DLL函数的动态加载
介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资源中释放出来,通过静态加载延迟实现DLL函数的动态加载,程序退出后实现临时文件的自动删除,从而为解决“DLL Hell”提供了一种解决方案。这是一个很好的设计思想,而且该作者也用C++实现了,在Internet上也有相似的VB程序,但在某一技术论坛上提起这种设计方法时,有网友提出:“这种方法好是好,但就是启动速度太慢”。这是因为程序启动时实现DLL释放,然后再加载释放出来的DLL,这个过程会耗费一定的时间。鉴于此问题,经过思索,提出另一个设计方案:DLL作为资源文件嵌入程序,但不需进行DLL释放及其重新加载。本文就是对该设计方案的原理分析及使用C#编程来实现该设计方案。
2010-09-16
C#中我们也能使用Assembly.LoadFile实现动态加载DLL
在C++中加载和卸载DLL是一件很容易的事,LoadLibrary和FreeLibrary让你能够轻易的在程序中加载DLL,然后在任何地方卸载。在C#中我们也能使用Assembly.LoadFile实现动态加载DLL,但是当你试图卸载时,你会很惊讶的发现Assembly没有提供任何卸载的方法。这是由于托管代码的自动垃圾回收机制会做这件事情,所以C#不提供释放资源的函数,一切由垃圾回收来做。
2010-09-16
反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。System.Reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码。 和反射相关的命名空间(就是通过这几个命名空间访问反射信息):
反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。System.Reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码。
和反射相关的命名空间(就是通过这几个命名空间访问反射信息):
2010-09-16
利用反射动态创建对象在VS.Net中,有很多种方法动态调用对象的构造函数
在VS.Net中,有很多种方法动态调用对象的构造函数。一是通过Activator类的CreateInstance()方法。这个方法我们在Remoting中也用过。它实际上是在本地或从远程创建对象类型,或获取对现有远程对象的引用。它的方法签名是:public static object CreateInstance(Type);(还有其他重载方法)注意它的返回值为object,MSDN对返回值的描述是:对新创建对象的引用
2010-09-16
C#动态加载DLL主要说明如何通过反射实现动态加载DLL
/*主要说明如何通过反射实现动态加载DLL,
* 因为.Net底层有自动回收机制,所以不需要考虑这个问题
* ADD by Brian 2008/01/21 参考MSDN
*/
2010-09-16
Visual.C.NET编程实例 Visual.C.NET编程实例
Visual.C.NET编程实例.pdf
Visual.C.NET编程实例.pdf
Visual.C.NET编程实例.pdf
Visual.C.NET编程实例.pdfVisual.C.NET编程实例.pdf
Visual.C.NET编程实例.pdf
2010-09-06
C++从零开始 面向对象编程思想的C+ +程序
C++从零开始(一)——何谓编程(说明编程的真正含义及两个重要却容易被忽略的
基础概念)
C++从零开始(二)——何谓表达式(说明各操作符的用处,但不是全部,剩余的会
在其它文章提到)
C++从零开始(三)——何谓变量(说明电脑的工作方式,阐述内存、地址等极其重
要的概念)
C++从零开始(四)——赋值操作符(《C++从零开始(二)》的延续,并为指针的
解释打一点基础)
C++从零开始(五)——何谓指针(阐述指针、数组等重要的概念)
C++从零开始(六)——何谓语句(讲解C++提供的各个语句,说明各自存在的理
由)
C++从零开始(七)——何谓函数(说明函数及其存在的理由)
C++从零开始(八)——C++样例一(给出一两个简单算法,一步步说明如何从算法
编写出C++代码)
C++从零开始(九)——何谓结构(简要说明结构、枚举等及其存在的理由)
C++从零开始(十)——何谓类(说明类及其存在的理由,以及声明、定义、头文件
等概念)
C++从零开始(十一)——类的相关知识(说明派生、继承、名字空间、操作符重载
等)
C++从零开始(十二)——何谓面向对象编程思想(阐述何谓编程思想,重点讲述面
向对象编程思想)
C++从零开始(十三)——C++样例二(说明如何设计基于面向对象编程思想的C+
+程序)
C++从零开始(十四)——何谓模板(说明模板技术及其存在的理由)
2010-09-06
一款较专业的硬盘坏道维修软件,它可以清除硬盘表面的物理坏道,而不是隐藏,特别是对于大多数硬盘表面磁化错误造成的硬盘坏道有比较好的修复效果(通过将磁性逆转来使坏道再生),其坏道修复功能要强于DM等软件。HDDREG可以直接在Windows 95/98/Me环境下进行修复工作,但在Windows NT/2000/XP操作系统下,你还是需要用它建立一张可引导的修复软盘,然后再在DOS下使用(选择Regeneration菜单下的Create Diskette项,软盘建立后用这张软盘重新启动电脑,HDDR
一款较专业的硬盘坏道维修软件,它可以清除硬盘表面的物理坏道,而不是隐藏,特别是对于大多数硬盘表面磁化错误造成的硬盘坏道有比较好的修复效果(通过将磁性逆转来使坏道再生),其坏道修复功能要强于DM等软件。HDDREG可以直接在Windows 95/98/Me环境下进行修复工作,但在Windows NT/2000/XP操作系统下,你还是需要用它建立一张可引导的修复软盘,然后再在DOS下使用(选择Regeneration菜单下的Create Diskette项,软盘建立后用这张软盘重新启动电脑,HDDREG的控制台会自动装入)。
2010-06-18
硬盘版修复工具,强大的硬盘坏道修复工具
以Pctools9.0为例来作说明。一块40G硬盘出现上述故障,用盘启动电脑后,运行Pctools9.0目录下的DE.EXE文件。接着选主菜单Select中的Drive,进去后在Drivetype项选Physi
2010-06-18
硬盘坏道修复工具 损坏后一点也不能用,一般人往往将出现这样故障的硬盘作报废处理
如系统显示“TRACK 0 BAD,DISKUNUSABLE”,意思为“零磁道损坏,硬盘无法使用”或用磁盘扫描程序扫描其它硬盘时其0扇区出现红色“B”。大家都知道硬盘扇区是最重要的地方,损坏后一点也不能用,一般人往往将出现这样故障的硬盘作报废处理。其实合理运用一些磁盘软件,把报废的0扇区屏蔽掉,而用1扇区取而代之就能起到起死回生的效果,这样的软件如Pctools9.0和NU8等。
本篇文章来源于 百科全书 转载请以链接形式注明出处 网址:http://www.siaaa.com/pc/yingjian/yingpan/200910/84944_2.html
2010-06-18
FreeTextBox-4-0-beta.zip
FreeTextBox-4-0-beta.zip
FreeTextBox-4-0-beta.zipFreeTextBox-4-0-beta.zip
FreeTextBox-4-0-beta.zip
FreeTextBox-4-0-beta.zip
2009-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人