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版本:编译时对应用程序的速度进行优化,使得程序在代码大小和运行速度上都是最优的。

相关推荐
John_ToDebug2 小时前
从零开始:在 Windows 环境下拉取并编译 Chrome 源码全纪录
c++·chrome·windows
csdn_aspnet2 小时前
在Windows 11系统中关闭Chrome自动更新
chrome·windows
John_ToDebug2 小时前
深度解析:SVG、VectorIcon 和 位图图像的区别与优劣势
chrome·windows·图形渲染
phyit3 小时前
微软全面放开,Win10/Win11 硬件合规设备获推 25H2 新版
windows
cwxblog3 小时前
Qt + Visual Studio 开发环境搭建
windows·qt·开发工具·visual studio
专注VB编程开发20年3 小时前
.NET 10 AOT编绎成DLL调用方式-Activex dll/标准DLL
windows·.net·aot·.net加密
Deng87234734812 小时前
代码语法检查工具
linux·服务器·windows
Halo_tjn13 小时前
虚拟机相关实验概述
java·开发语言·windows·计算机
programer_3315 小时前
本地手动创建一个MCP(windows环境)
windows·python·ai·mcp·cherry studio
曹牧15 小时前
Java:List<Map<String, String>>转换为字符串
java·开发语言·windows