项目场景:
Qt 提供了 Q_GLOBAL_STATIC 宏,用于在多线程程序中安全地定义全局静态变量。这是一个更推荐的方式,特别是在 Qt
应用程序中,能够避免全局变量可能引起的线程安全问题。
- 创建头文件 global.h
#ifndef GLOBAL_H
#define GLOBAL_H#include <QGlobalStatic>Q_GLOBAL_STATIC(int, globalVar)#endif // GLOBAL_H
- 在源文件中使用该全局变量
例如,创建一个 main.cpp 来使用这个全局变量。
#include <QCoreApplication>
#include <QDebug>
#include "global.h"int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);*globalVar() = 42; // 修改全局变量的值qDebug() << "Global Variable:" << *globalVar();return a.exec();
}
通过这种方式,你可以在多个源文件中共享和修改这个全局静态变量。