VC++非MFC动态链接库编程示例:自定义add函数

4星 · 超过85%的资源 需积分: 9 66 下载量 198 浏览量 更新于2024-09-17 2 收藏 78KB DOC 举报
本文档主要介绍了如何使用Microsoft Visual C++ (VC++)进行非MFC DLL(动态链接库)的编程。非MFC DLL是指不依赖于Microsoft Foundation Classes (MFC)的动态链接库,这在创建轻量级、面向服务的程序时非常有用。 第1部分,标题强调了VC++动态链接库编程的非MFC实现,这意味着我们将不会使用MFC框架来构建DLL,而是采用更为通用的编程方法。作者首先提到了通过静态链接库提供add函数接口的方式,这是一种编译时链接技术,但这里将转向动态链接,允许在运行时加载和调用库函数。 第2节,创建了一个名为dllTest的Win32 Dynamic-Link Library工程,特别指出选择的是非MFC AppWizard,以避免创建MFC相关的动态链接库。工程中包含lib.h和lib.cpp两个关键文件。lib.h中声明了C语言兼容的extern "C"导出函数add(int x, int y),使用__declspec(dllexport)来指示该函数将在DLL中对外提供。 lib.cpp文件实现了add函数的具体逻辑,即接收两个整数参数并返回它们的和。 第3部分,应用工程dllCall被用来演示如何调用DLL中的add函数。首先,通过LoadLibrary函数获取dllTest.dll的句柄,然后使用GetProcAddress函数获取add函数的地址,并将其转换为函数指针类型lpAddFun。接着,通过这个函数指针调用add函数并将结果打印出来。最后,通过FreeLibrary函数释放DLL句柄,确保资源管理的正确性。 总结起来,本文介绍了在VC++中创建非MFC动态链接库的基本步骤,包括: 1. 创建一个纯C++的DLL工程,不依赖MFC。 2. 在DLL中声明和实现对外导出的函数(如add函数)。 3. 在主程序中动态加载DLL,通过函数指针调用其中的函数,并处理错误和资源清理。 这些知识对于理解如何在没有MFC的情况下利用动态链接库进行模块化编程以及如何正确地在应用程序之间传递和调用函数至关重要。对于希望扩展或重用代码且避免MFC复杂性的开发者来说,掌握这类技术是十分有用的。