Q_DECL_EXPORT int main(int argc, char **argv)
这是做什么的Q_DECL_EXPORT
before int main(...)
means?
摘自QT docs https://doc.qt.io/qt-5/sharedlibrary.html:
根据您的目标平台,Qt 提供了特殊的宏
包含必要的定义:
- Q_DECL_EXPORT 必须添加到编译共享库时使用的符号的声明中。
- 编译使用共享库的客户端时,必须将 Q_DECL_IMPORT 添加到所用符号的声明中。
我还没有检查 QT 代码,但很可能这个宏会执行以下操作:
#ifdef _WIN32 || _WIN64
#define Q_DECL_EXPORT __declspec(dllexport)
#define Q_DECL_IMPORT __declspec(dllimport)
#else
#define Q_DECL_EXPORT
#define Q_DECL_IMPORT
#endif
__declspec(dllimport)
and __declspec(dllexport)
告诉链接器(分别)从 DLL 导入和导出符号。这是 Windows 特定的。
在你的特殊情况下,这个宏可能会被删除,因为main()
很可能不是图书馆的一部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)