码迷,mamicode.com
首页 > 编程语言 > 详细

C语言编写dll并调用

时间:2016-10-10 16:15:26      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

dll.h文件

 1 #ifndef _DLL_H_
 2 #define _DLL_H_
 3 
 4 #if BUILDING_DLL
 5 #define DLLIMPORT __declspec(dllexport)
 6 #else
 7 #define DLLIMPORT __declspec(dllimport)
 8 #endif
 9 
10 DLLIMPORT int add(int i,int j);
11 
12 #endif

dll.c文件

 1 /* Replace "dll.h" with the name of your header */
 2 #include "dll.h"
 3 #include <windows.h>
 4 
 5 DLLIMPORT int add(int i, int j)
 6 {
 7     return i+j;
 8 }
 9 
10 BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
11 {
12     switch(fdwReason)
13     {
14         case DLL_PROCESS_ATTACH:
15         {
16             break;
17         }
18         case DLL_PROCESS_DETACH:
19         {
20             break;
21         }
22         case DLL_THREAD_ATTACH:
23         {
24             break;
25         }
26         case DLL_THREAD_DETACH:
27         {
28             break;
29         }
30     }
31     
32     /* Return TRUE on success, FALSE on failure */
33     return TRUE;
34 }

exe.c文件(调用dll的)

 1 #include <windows.h>
 2 #include <stdio.h>
 3  
 4 typedef int (*Fun)(int,int);     //这里声明一个函数指针,typedef 关键字是必须的,好像要显示调用dll中的函数,都需要这样用函数指针给出声明
 5  
 6 int main()
 7 {
 8     HINSTANCE hDll;
 9     Fun Add;
10     hDll=LoadLibrary("myDll.dll");
11     if (hDll==NULL)
12     {
13         printf("%s","failed to load dll!\n");
14     }
15     else
16     {
17         printf("%s","succeeded in loading dll\n");
18         Add=(Fun)GetProcAddress(hDll,"add");
19         if (Add!=NULL)
20         {
21             int i,j;
22             printf("%s","input the first number:");
23             scanf("%d",&i);
24             printf("%s","input the first number:");
25             scanf("%d",&j);
26             printf("sum = %d\n",Add(i,j));
27         }
28     }
29     FreeLibrary(hDll);
30     
31     system("pause");
32     return 0;
33 }

 

C语言编写dll并调用

标签:

原文地址:http://www.cnblogs.com/cnrsgx/p/5946094.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!