当前位置: 代码迷 >> C语言 >> 函数声明
  详细解决方案

函数声明

热度:522   发布时间:2007-11-20 22:53:37.0
函数声明
extern "C" int __declspec(dllexport)add(int x, int y);
extern "C" int _declspec(dllexport)add(int x, int y);
extern "C" __declspec(dllexport)int add(int x, int y);
上面这些函数声明有什么区别呀?为什么对于同一个函数 int add(int x, int y);
使用上面的三种方式声明都是能得到正确的结果呢 ??
搜索更多相关的解决方案: 函数  声明  

----------------解决方案--------------------------------------------------------

在C++编译器中为了兼容C,
所以,做一个extrn "C" 声明,表示编译方式以C标准,而不是C++标准.


----------------解决方案--------------------------------------------------------
这个是 extrn "C" 的作用,我知道
但是区别是后面的呀?

----------------解决方案--------------------------------------------------------
你这是头文件中的原型吧。
----------------解决方案--------------------------------------------------------
不是,原子程序只是 int add(int x, int y);
现在只是想声明成DLL函数
怎么使用上面的三种方式都是正确的 ,有点奇怪
----------------解决方案--------------------------------------------------------
  相关解决方案