最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

在VS2008中编写C语言DLL

来源:动视网 责编:小OO 时间:2025-10-01 17:25:08
文档

在VS2008中编写C语言DLL

在VS2008中编写C语言DLL,并在C++和C#项目下调用●文件--打开--新建项目--Win32,右侧Win32项目,填写好项目名称,点击“下一步”,应用程序类型选择:“DLL(D)”,附加选项:空项目(E),然后完成。●编写头文件(edrlib.h):#ifdef__cplusplus#defineEXPORTextern"C"__declspec(dllexport)#else#defineEXPORT__declspec(dllexport)#endifEXPORTvoidEdrCe
推荐度:
导读在VS2008中编写C语言DLL,并在C++和C#项目下调用●文件--打开--新建项目--Win32,右侧Win32项目,填写好项目名称,点击“下一步”,应用程序类型选择:“DLL(D)”,附加选项:空项目(E),然后完成。●编写头文件(edrlib.h):#ifdef__cplusplus#defineEXPORTextern"C"__declspec(dllexport)#else#defineEXPORT__declspec(dllexport)#endifEXPORTvoidEdrCe
在VS2008中编写C语言DLL,并在C++和C#项目下调用

●文件--打开--新建项目--Win32,右侧Win32项目,填写好项目名称,点击“下一步”,应用程序类型选择:“DLL(D)”,附加选项:空项目(E),然后完成。  

●编写头文件(edrlib.h):

#ifdef __cplusplus   

#define EXPORT extern "C" __declspec (dllexport)   

#else   

#define EXPORT __declspec (dllexport)   

#endif   

   

EXPORT void  EdrCenterTextA();   

EXPORT void  EdrCenterTextW();   

EXPORT int  IncCounter();   

#ifdef UNICODE   

#define EdrCenterText EdrCenterTextW   

#else   

#define EdrCenterText EdrCenterTextA   

#endif   

//注解: 

// i. 定义__cplusplus表示是供C++程序中调用。 

// ii.__declspec (dllexport)表示函数调用方式,此处表示VS2008工程属性调用的默认方式。更改方法: 

// 右击项目--属性--配置属性--C/C++--高级,更改右侧“调用约定”。

●编写DLL文件(edrlib.cpp):

#include "windows.h"   

#include "edrlib.h"   

//counter供调用该DLL的所有应用程序共享  

#pragma data_seg("shared")   

int counter=0;   

#pragma comment(linker,"/SECTION:shared,RWS")   

   

int WINAPI DllMain(_In_ HANDLE _HDllHandle, _In_ DWORD _Reason, _In_opt_ LPVOID _Reserved)   

{   

    return TRUE;   

}   

   

EXPORT void   EdrCenterTextA()   

{   

    MessageBox(NULL,TEXT("调用DLL函数!"),TEXT("ASSIC版本"),MB_OK);   

       

}   

EXPORT void  EdrCenterTextW()   

{   

    MessageBox(NULL,TEXT("调用DLL函数!"),TEXT("UNICODE版本"),MB_OK);   

   

}   

   

EXPORT int  IncCounter()   

{   

    return ++counter;   

}

●编译生成DLL

●VS2008 C#调用DLL。

  如果是Web项目,把DLL复制到bin目录下。如果是桌面程序,把DLL复制到可执行行文件目录下。   [DllImport("名称.dll")]

public static extern int SampleMethod(int x);

文档

在VS2008中编写C语言DLL

在VS2008中编写C语言DLL,并在C++和C#项目下调用●文件--打开--新建项目--Win32,右侧Win32项目,填写好项目名称,点击“下一步”,应用程序类型选择:“DLL(D)”,附加选项:空项目(E),然后完成。●编写头文件(edrlib.h):#ifdef__cplusplus#defineEXPORTextern"C"__declspec(dllexport)#else#defineEXPORT__declspec(dllexport)#endifEXPORTvoidEdrCe
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top