摘要:
概要P/Invoke的机制让我们能在托管环境下使用原先已实现的Native Code。本文主要讨论的是P/Invoke中的参数传递和.NET CF的一些不同于完整版本的 .NET Fx之处,最后介绍了如何提高P/invoke的效率Keywords.NET Compact Framework, Windows Mobile, P/Invoke ,data marshaling正文好吧,先看个例子。为了获得用户按键的状态,下面的代码段演示了将GetAsyncKeyState函数从Coredll.dll中导出,并在托管代码中重命名为 GetMyKeyState供调用: 1usingSystem.Ru 阅读全文
posted @ 2010-01-28 17:35
张兴业
阅读(329)
评论(0)
推荐(0)
摘要:
http://www.cppblog.com/zerolee/archive/2007/05/20/24430.htmlWindows API中所有的函数都包含在dll中,其中有3个最重要的DLL。 (1) Kernel32.dll 它包含那些用于管理内存、进程和线程的函数,例如CreateThread函数; (2) User32.dll 它包含那些用于执行用户界面任务(如窗口的创建和消息的传送)的函数,例如CreateWindow函数;(3) GDI32.dll 它包含那些用于画图和显示文本的函数。1. 静态库和动态库(1) 静态库函数和数据被编译进一个二进制文件(通常扩展名为.LIB)。在 阅读全文
posted @ 2010-01-28 17:31
张兴业
阅读(212)
评论(0)
推荐(0)
摘要:
http://dev.yesky.com/55/2165555.shtml 从前文可知,DLL在程序编制中可作出巨大贡献,它提供了具共性代码的复用能力。但是,正如一门高深的武学,若被掌握在正义之侠的手上,便可助其仗义江湖;但若被掌握在邪恶之徒的手上,则必然在江湖上掀起腥风血雨。DLL正是一种这样的武学。DLL一旦染上了魔性,就不再是正常的DLL程序,而是DLL木马,一种恶贯满盈的病毒,令特洛伊一夜之间国破家亡。 DLL木马的原理 DLL木马的实现原理是编程者在DLL中包含木马程序代码,随后在目标主机中选择特定目标进程,以某种方式强行指定该进程调用包含木马程序的DLL,最终达到侵袭目标系统... 阅读全文
posted @ 2010-01-28 17:26
张兴业
阅读(187)
评论(0)
推荐(0)
摘要:
http://dev.yesky.com/264/2147264.shtml动态链接库DLL实现了库的共享,体现了代码重用的思想。我们可以把广泛的、具有共性的、能够多次被利用的函数和类定义在库中。这样,在再次使用这些函数和类的时候,就不再需要重新添加与这些函数和类相关的代码。具有共性的问题大致有哪些呢?笔者归纳如下: (1)通用的算法 图像处理、视频音频解码、压缩与解压缩、加密与解密通常采用某些特定的算法,这些算法较固定且在这类程序中往往经常被使用。 (2)纯资源DLL 我们可以从DLL中获取资源,对于一个支持多种语言的应用程序而言,我们可以判断操作系统的语言,并自动为应用程序加载与O... 阅读全文
posted @ 2010-01-28 17:23
张兴业
阅读(296)
评论(0)
推荐(0)
摘要:
http://dev.yesky.com/359/2145859.shtml前文我们对非MFC DLL和MFC规则DLL进行了介绍,现在开始详细分析DLL的最后一种类型――MFC扩展DLL。 6.1概论 MFC扩展DLL与MFC规则DLL的相同点在于在两种DLL的内部都可以使用MFC类库,其不同点在于MFC扩展DLL与应用程序的接口可以是MFC的。MFC扩展DLL的含义在于它是MFC的扩展,其主要功能是实现从现有MFC库类中派生出可重用的类。MFC扩展DLL使用MFC 动态链接库版本,因此只有用共享MFC 版本生成的MFC 可执行文件(应用程序或规则DLL)才能使用MFC扩展DLL。 ... 阅读全文
posted @ 2010-01-28 17:22
张兴业
阅读(303)
评论(0)
推荐(0)
摘要:
http://dev.yesky.com/241/2144741.shtml第4节我们对非MFC DLL进行了介绍,这一节将详细地讲述MFC规则DLL的创建与使用技巧。 另外,自从本文开始连载后,收到了一些读者的e-mail。有的读者提出了一些问题,笔者将在本文的最后一次连载中选取其中的典型问题进行解答。由于时间的关系,对于读者朋友的来信,笔者暂时不能一一回复,还望海涵!由于笔者的水平有限,文中难免有错误和纰漏,也热诚欢迎读者朋友不吝指正! 5. MFC规则DLL 5.1 概述 MFC规则DLL的概念体现在两方面: (1) 它是MFC的 “是MFC的”意味着可以在这种DLL的... 阅读全文
posted @ 2010-01-28 17:19
张兴业
阅读(292)
评论(0)
推荐(0)
摘要:
http://dev.yesky.com/430/2142930.shtml4.1一个简单的DLL 第2节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。 如图6,在VC++中new一个Win32 Dynamic-Link Library工程dllTest(单击此处下载本工程)。注意不要选择MFC AppWizard(dll),因为用MFC AppWizard(dll)建立的将是第5、6节要讲述的MFC 动态链接库。图6 建立一个非MFC DLL 在建立的工程中添加lib.h及lib.cpp文件,源代码如下:/* 文件名:l... 阅读全文
posted @ 2010-01-28 17:17
张兴业
阅读(222)
评论(0)
推荐(0)
摘要:
http://dev.yesky.com/228/2141728.shtml 1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。静态链接库和动态链接库的另外.. 阅读全文
posted @ 2010-01-28 17:14
张兴业
阅读(201)
评论(0)
推荐(0)

浙公网安备 33010602011771号