动态链接库是可重定位的二进制文件,其中包含可由其他程序调用的函数或数据。 在平台上,动态链接库使用.dll后缀,而在Linux平台上,则使用.so后缀。 在这篇文章中,我们将介绍如何使用MFC调用C语言编写的动态链接库。 # 创建动态链接库 在平台上,可以使用创建动态链接库。 这是一个简单的例子: ```c// mydll.h# # #ifdef "C" {#endif () int add(int a, int b); #ifdef }#endif #endif // // mydll .c# "mydll.h" int add(int a, int b){ a + b;}```这个动态链接库包含一个可以对两个整数求和的 add 函数。 # 调用动态链接库。 要在MFC项目中调用动态链接库,需要执行以下步骤: 1、定义一个函数指针类型,指向动态链接库中的函数。
```c++ int (*)(int, int);````2. 加载动态链接库。 ```c++ = (TEXT("mydll.dll"));if (== NULL) {(TEXT("要加载."));;}```3. 获取动态链接库中的函数地址。 ```c++ = ()(, "add");if ( == NULL) {(TEXT(" 获取 ."));();;}```4. 调用动态链接库中的函数。 ```c++int = (1, 2); str;str.(TEXT("1 + 2 = %d"), );(str);```5. 卸载动态链接库。
```c++();```完整的 MFC 代码示例: ```c++ int (*)(int, int);void ::(){ = (TEXT("mydll.dll"));if ( = = NULL) {(TEXT(" 要加载 ."));;} = ()(, "add");if ( == NULL) {(TEXT(" 要获取 ."));();; } int = (1, 2); str;str.(TEXT("1 + 2 = %d"), );(str);();}```