Windows&C:extern&__declspec(dllimport)
“extern”和“__declspec(dllimport”)之间的区别/关系是什么?我发现有时候有必要使用它们,有时候就足够了。
我是对的: >“extern”是静态链接库,
extern表示实体具有外部链接,即在其翻译单元(C或CPP文件)之外可见。这意味着相应的符号将被放置在目标文件中,如果这个对象文件是静态库的一部分,它也将被看见。但是,extern本身并不意味着一旦对象文件成为DLL的一部分,该符号也将可见。
__declspec(dllexport)表示符号应该从DLL导出(如果它确实是DLL的一部分)。它在编译进入DLL的代码时使用。 __declspec(dllimport)表示符号将从DLL导入。它在编译使用该DLL的代码时使用。 因为在编译DLL本身以及将使用DLL的客户端代码时通常使用相同的头文件,所以习惯于在编译DLL和_??_declspec(dllimport)时定义解析为__declspec(dllexport)的宏编译客户端,如下所示: #if COMPILING_THE_DLL #define DLLEXTERN __declspec(dllexport) #else #define DLLEXTERN __declspec(dllimport) #endif 回答你的具体问题: >是的,外部环境对静态库是足够的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-server-2008 – 在服务器2008 R2中,如果我以管理员
- 在Windows中替换程序可执行文件的策略
- 安装WIN7系统备忘录
- windows-server-2003 – 如何手动运行Windows 2003的Window
- 如何使用Windows命令获取剪贴板内容?
- windows-phone-8 – 如何使用WP8的LongListSelector电话控制
- .Net 3.5 SP1的脱机安装程序无法正常工作
- windows phone 7,xna,我如何更经常地对触摸屏进行采样
- OUTFILE与Microsoft SQL Server等效吗?
- 是否存在适用于Windows的seccomp模拟