现在开始研究 Qt for Android 源码。
利用blog,做好笔记。
今天研究 android-lighthouse/src/corelib/kernel/qmath.h 和 qmath.cpp
1、 QT_BEGIN_HEADER 和 QT_END_HEADER 宏: 根据不同平台,定义 extern "C" 或者 extern "C++" (符号签名方法)
2 、QT_MODULE 处理 Qt 的许可证信息
#define QT_MODULE(x) /
typedef QtValidLicenseFor##x##Module Qt##x##Module;
3、Q_CORE_EXPORT 这个宏展开之后,在VC++(或者采用与VC++类似技术)的编译器中,是定义为 __declspec((dllexport)) 。而在UNIX系统的编译器中(gcc、cc),展开就是 __attribute__ ((visibility("default")).
__attribute__ ((visibility(" <type> ")) 影响 ELF 文件中,符号的可见性(这是gcc的扩展编译器指令)
<t
是下列值之一: ype>
default
假定的符号可见