- 博客(8)
- 资源 (75)
- 收藏
- 关注
转载 .Net平台下CLR程序载入原理分析
Flier Lu 注意:本系列文章在水木清华BBS(smth.org)之.Net版首发,转载请保留以上信息,发表请与作者联系 与传统的Win32可执行程序中的本机代码(Native Code)不同,微软推出的.Net架构中,可执行程序的代码是以类似Java Byte Code的IL (Intermediate Language)伪代码形式存在的。在.Net可执行程序载入后,IL代码由CLR (Common Language Runtime)从可执行文件中取出,交由JIT (Just-In-Time)编译
2011-04-29 15:48:00 720
原创 使用mt.exe查看PE文件的manifest
Visual Studio 从2005开始使用程序集发布所有的托管/非托管程序。保存程序集信息的是一个manifest文件,这个文件可以单独存在,也可以内嵌到PE文件中,默认就是内嵌到PE文件中。当运行程序出现"应用程序配置不正确,程序无法启动"错误时,就要考虑是否是依赖的程序集无法定位。manifest中就保存了程序集所依赖的所有程序集,对于内嵌到PE中的程序集当然就得手动提取出这个manifest文件。可以用VS2008附带的工具mt.exe完成,示例如下:mt -inputresource:Tes
2011-04-25 10:19:00 2227
原创 Winform 窗体隐藏运行
<br />public Form1()<br />{<br /> InitializeComponent();<br /><br /> this.ShowInTaskbar = false;<br /> this.WindowState = FormWindowState.Minimized;<br />}<br /><br />private void Form1_Shown(object sender, EventArgs e)<br />{<br />
2011-04-23 16:59:00 896
转载 Microsoft Visual C++ 2008 发布程序的部署问题
<br /> VC2005和VC2008编译出来的程序放到别人的电脑上为什么有可能无法运行呢?<br /> 这个问题无数人在问,但是很遗憾,没有人给出完整的解释和完美的解决方案。其实我也只有一台电脑,而且装了VC了,这个问题必须要台没有装这类软件的电脑才容易去分析。感谢那些为了测试我小程序的朋友,是你们一次次在如此恶劣的网络速度下收取我一次次修改的dll包和部署文件,才让这个问题的完美解决方案浮出水面。这里就把我的经验给大家分享吧。<br /><br />1:
2011-04-23 15:48:00 569
转载 “应用程序配置不正确,程序无法启动”详细举例(vc2008 sp1)
<br /> http://hi.baidu.com/fairysky/blog/item/130dda13db7b050a5aaf53be.html<br />内容我就不copy了,大家可以自己去看,总来说产生这个问题的原因可以归结如下:<br />vc2005/vc2008采用了新的程序部署技术(manifest清单文件),manifest清单文件实际上类似于我们常用的makefile文件,它定义了程序运行的依赖关系(程序运行所需要的dll库的名称、版本等)。<br />程序运行,首先根据manifes
2011-04-23 15:35:00 794
转载 MFC扩展dll里导出函数时资源切换的问题
<br />在MFC扩展dll里导出函数时应该也进行资源的切换。<br />在共享的(动态链接的)MFC规则dll里,在每一个导出函数前都需进行资源的切换,在扩展dll里同样也需要,因为它们都是动态链接到MFC库的,在调用导出函数时,若要加载对应的资源,MFC会首先从应用程序模块里查找,找不到时才从dll中查找,所以若存在同名的资源,则可能会加载错误。<br />例子:<br />dll:MFCExtDll,它里边存在一个对话框资源IDD_DIALOG2,它对应的编号是2000,在resourc
2011-04-20 14:21:00 1414
原创 C++/CLI 小结
C++/CLI 是Microsoft对C++托管扩展的一次升级。关于.net开发当然首选C#语言,但是对于那些用C/C++开发的native代码如何使用,就需要用到这里的C++/CLI了。managed code和native code交互无外乎三种技术:一种是使用P/Invoke;另一种是使用C++ Interop;第三种是COM。关于P/Invoke这里就不多说了,它为managed code调用native code提供了一种安全可靠的途径。利用它完全可以在托管环境下使用本地代码,这是必然
2011-04-07 16:59:00 1112
转载 程序集使用强名称签名
<br />有了强名称,可以部署到系统共享缓存当中,即C:/WINDOWS/assembly,你仔细看下这里面的文件。<br />在项目中使用强名称的方法:<br />1。在解决方案资源管理器中,选择项目名称右键属性==〉签名==〉为程序集签名选中=〉新建一个,名称好像没特殊要求,随便起,不过没测试过特殊字符,新建时一般不选择加密的。<br />如果想部署到assembly,还必须执行2个步骤。<br />2。选择生成=〉选择为Com Interop注册=〉自动<br />3。还必须将AssemblyInf
2011-04-07 09:13:00 853
mtk依赖库(补丁、Perl、MinGW、MSYS)
2011-11-18
Microsoft Active Accessibility Documentation Version 2.0
2011-03-18
spoonwep-wpa完整安装包-2
2011-02-12
spoonwep-wpa完整安装包-1
2011-02-12
ath9k_htc for ubuntu 10.10驱动
2011-02-12
ath9k_htc的Linux驱动
2011-02-12
Oracle 10.2.0.3 Client for Linux
2013-01-07
Oracle 10g客户端连接文件
2012-02-29
联想手机A66t驱动
2012-01-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人