qt creator源码全方面分析(4-2)
目录
global头文件
插件的本质就是动态链接库,对于库,需要导出符号,供用户导入使用。在qt creator的源码中,存在固定的导入导出模式。
global.h
对于每个库和插件,都有一个xx_global.h头文件,其中xx为库或插件名。示例如下
#pragma once #include <qglobal.h> #if defined(XX_LIBRARY) # define XX_EXPORT Q_DECL_EXPORT #else # define XX_EXPORT Q_DECL_IMPORT #endif
这就很明显了,XX_LIBRARY作为开关,来决定导入导出。
xx.h
对于具体的实现,我们可以
class XX_EXPORT xx { ... }
在类的声明中添加XX_EXPORT。
在qt creator源码中,在项目文件中添加了定义
DEFINES += XX_LIBRARY
这导致XX_EXPORT被替换为Q_DECL_EXPORT进行导出。
对于库或插件的使用者,直接包含xx.h即可,由于没有定义XX_LIBRARY,这里XX_EXPORT被替换为Q_DECL_IMPORT进行导入。
原创造福大家,共享改变世界
献出一片爱心,温暖作者心灵
相关推荐
瓜牛呱呱 2020-11-12
柳木木的IT 2020-11-04
yifouhu 2020-11-02
lei0 2020-11-02
源码zanqunet 2020-10-28
源码zanqunet 2020-10-26
一叶梧桐 2020-10-14
码代码的陈同学 2020-10-14
lukezhong 2020-10-14
lzzyok 2020-10-10
anchongnanzi 2020-09-21
clh0 2020-09-18
changcongying 2020-09-17
星辰大海的路上 2020-09-13
abfdada 2020-08-26
mzy000 2020-08-24
shenlanse 2020-08-18
zhujiangtaotaise 2020-08-18
xiemanR 2020-08-17