下面的原始碼是在vs2017 基於linux gc++的編譯環境在windows上跨平台執行通過的(vs自2017版本才推出跨平台的功能,所以後來的小夥伴記得環境要在vs2017以後的版本上執行哦)
在linux上獲取系統安裝時間的指令是:ls -lact --full-time /etc | tail -1 |awk ''
實際上$6列印出來的是年月日,$7列印出來的不僅僅包含時分秒,還有其他的資訊,想要獲取完整的時間資訊之後再通過擷取獲得的字串即可
舉一反三,想獲取cpuid的話,我們也可以不用通過在linux中巢狀彙編獲取,而是通過獲取命令列的資訊來獲取cpuid
獲取cpuid的指令:sudo dmidecode -t 4 | grep id
將下列原始碼替換成上述的指令即可實現通過c/c++ 獲取cpuid,前提是在linux環境下執行
#include
#include
#include
#include
#include <
string
.h>
intmain()
'");printf
("%s\n"
, result)
;//獲取裝置輸入前在此處暫停,以便檢視控制台輸出的結果
getchar()
;return0;
}char*
systeminfo
(const char* command)
if(fpread != null)
pclose
(fpread)
;return result;
}
獲取到的系統安裝時間是字串,要想將該字串用作授權模組中的時間對比,則需要將其轉化為時間物件,再將時間物件轉化為時間戳形式的字串(在此強轉行不通哦),然後將字串形式的時間戳轉化為int型別的時間戳用來對比時間差,先下班,後續貼上**
參考:
linux系統下通過GCC編譯C C 程式
在這裡插入描述 三 gcc編譯c c 的過程 通過命令gcc v檢視當前的gcc版本 gcc v如下所示 當出現如下問題 command gcc not found,but can be installed with sudo apt install gcc 解決辦法 通過sudo apt inst...
Windows下C C 獲取當前系統時間
原文 寫軟體時經常要用到獲取系統時間顯示到狀態列,這裡在前人的基礎上總結了一下幾種方案。time t是定義在time.h中的乙個型別,表示乙個日曆時間,也就是從1970年1月1日0時0分0秒到此時的秒數,原型是 typedef long time t time value 可以看出time t其實是...
Windows下C C 獲取當前系統時間
time t是定義在time.h中的乙個型別,表示乙個日曆時間,也就是從1970年1月1日0時0分0秒到此時的秒數,原型是 typedef long time t time value 可以看出time t其實是乙個長整型,由於長整型能表示的數值有限,因此它能表示的最遲時間是2038年1月18日19...