9月19日学习记录

获取Windows系统的UUID

cmd.exe中执行wmic csproduct get uuid

cpp 复制代码
    QProcess p(0);
    p.start("cmd",QStringList()<<"/c"<<"wmic csproduct get uuid");
    p.waitForStarted();
    p.waitForFinished();
    QString strTemp=QString::fromLocal8Bit(p.readAllStandardOutput());
    QStringList list=strTemp.split('\n');
    QString str=list.at(1);
    str=str.simplified();
    qDebug()<<str;

获取Windows系统的CPUID

wmic cpu get processorid

cpp 复制代码
    QProcess p(0);
    p.start("cmd",QStringList()<<"/c"<<"wmic cpu get processorid");
    p.waitForStarted();
    p.waitForFinished();
    QString strTemp=QString::fromLocal8Bit(p.readAllStandardOutput());
    QStringList list=strTemp.split('\n');
    QString str=list.at(1);
    str=str.simplified();
    qDebug()<<str;

获取系统当前时间

qt -- 获取当前时间 QDateTime、QTime、QDate_currentdatetime_cc_rong的博客-CSDN博客

cpp 复制代码
    QDateTime datetime=QDateTime::currentDateTime();
    QString str=datetime.toString("yyyy-MM-dd hh:mm:ss");
    qDebug()<<str;

目标:保存程序第一次运行的时间戳。

先在release目录下创建time.ini,内容如下(我用的release版本):

cpp 复制代码
[MAIN]
is_first=true
first_using_time=
cpp 复制代码
    QSettings* settings = new QSettings("time.ini", QSettings::IniFormat);
    settings->beginGroup("MAIN");
    bool is_first=settings->value("is_first").toBool();
    if(is_first){
        QDateTime datetime=QDateTime::currentDateTime();
        QString str=datetime.toString("yyyy-MM-dd hh:mm:ss");
        settings->setValue("is_first",false);
        settings->setValue("first_using_time",str);
    }
    settings->endGroup();
    delete settings;

代码测速

QElapsedTimer-CSDN博客

cpp 复制代码
    QElapsedTimer timer;
    if(timer.isValid()){
        qDebug()<<"QElapsedTimer is valid before starting";
    }
    else{
        qDebug()<<"QElapsedTimer is invalid before starting";
    }
    timer.start();

    if (timer.isValid()) {
        qDebug() << "QElapsedTimer is valid when started";
    } else {
        qDebug() << "QElapsedTimer is invalid when started";
    }

    for (int i = 0; i < 200000000; i++);

    qint64 endTime = timer.nsecsElapsed();
    qDebug() << "Time elapsed:" << endTime << "ns";

debug: 460615800 ns

release:873700 ns

release版本:编译时对应用程序的速度进行优化,使得程序在代码大小和运行速度上都是最优的。

相关推荐
kcuwu.6 小时前
Python进阶:生成器与协程,高效并发编程的核心实践
windows·python·php
2401_835792547 小时前
FastAPI 速通
windows·python·fastapi
easyboot8 小时前
Visual Studio 2026安装Avalonia
ide·windows·visual studio
逻极12 小时前
Windows平台Ollama AMD GPU编译全攻略:基于ROCm 6.2的实战指南(附构建脚本)
人工智能·windows·gpu·amd·ollama
ApjRvH3vg13 小时前
.NET 10 打造 OpenClaw Windows Node
windows·.net
水饺编程14 小时前
第4章,[标签 Win32] :SysMets3 程序讲解04,垂直滚屏重绘
c语言·c++·windows·visual studio
sinat_2554878114 小时前
泛型:超级、扩展、列表·学习笔记
java·windows·学习·算法
水饺编程14 小时前
第4章,[标签 Win32] :SysMets3 程序讲解05,水平滚动
c语言·c++·windows·visual studio
AxureMost15 小时前
Agent Skill 热门Top50分享
windows
sinat_2554878115 小时前
泛型·学习笔记
java·jvm·数据库·windows·python