C 语言函数定义的问题

沤江一流 2012-07-08 12:41:49
typedef int INT32;
#define DllExport __declspec(dllexport)

DllExport INT32 DdesN(ULONG8 *data, ULONG8 **key, ULONG32 n_key,ULONG32 readlen);
这个函数里面的 DllExport 是个什么东西,这是属于函数定义的类型还是什么,? 为什么可以这样用?
...全文
66 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
沤江一流 2012-07-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

DllExport 只是一个宏,在预编译的时候,将所有DllExport 替换成__declspec(dllexport),
执行时,替换成了__declspec(dllexport)
INT32 DdesN(ULONG8 *data, ULONG8 **key, ULONG32 n_key,ULONG32 readlen);
[/Quote]

我想问的是就是这个函数
__declspec(dllexport)
INT32 DdesN(ULONG8 *data, ULONG8 **key, ULONG32 n_key,ULONG32 readlen);
中的__declspec(dllexport) 怎么理解, 我只过教科书上的C ,没见过函数类型前面还有这个宏来修饰的,不知道能不能这样定义,这样定义有什么用。。
Universe_Admin 2012-07-08
  • 打赏
  • 举报
回复
DllExport 只是一个宏,在预编译的时候,将所有DllExport 替换成__declspec(dllexport),
执行时,替换成了__declspec(dllexport)
INT32 DdesN(ULONG8 *data, ULONG8 **key, ULONG32 n_key,ULONG32 readlen);
Universe_Admin 2012-07-08
  • 打赏
  • 举报
回复
__declspec(dllexport):
将一个函数声名为导出函数,就是说这个函数要被其他程序调用,即作为DLL的一个对外函数接口。
通常它和extern "C" 合用,形式如下:
extern "C"
{
__declspec(dllexport) RETURN_TYPE FUNCTION()

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧