sysinfo函式使用方法

2021-07-11 21:10:23 字數 1215 閱讀 6308

1、linux

中,sysinfo是用來獲取系統相關資訊的結構體。

函式宣告和原型:

int sysinfo(struct sysinfo *info);

返回值:操作成功返回

0,錯誤返回-1;

2、結構體資訊

:在linux 2.3.16中,結構體的資訊是(單位是位元組):

struct sysinfo ;

在linux 2.3.23(i386), 2.3.48 (all architectures)中,結構體的資訊是(單位是mem_unit位元組):

struct sysinfo ;

樣例1:

#include 

#include      /* 

包含呼叫_syscallx 巨集等相關資訊*/

#include      /* 包含sysinfo結構體資訊*/

_syscall1(int, sysinfo, struct sysinfo*, info);

//using namespace std;

int main(int argc, char *agrv)

/*輸出結果:

/home/chenhd/future> ./sysinfo_1

code error=0

uptime = 154s

load: 1 min22976 / 5 min 13888 / 15 min 5408

ram: total 128307200 / free 55656448 /shared263168000

memory in buffers = 263168000

swap:total50/free1073821804

number of processes = 1073823352

/home/chenhd/future>

*/樣例

2:計算系統啟動時間的方法

#include

#include

struct sysinfo s_info;

long uptime;

int d,h,m,s;

int main()

return -1; }

執行結果:

$ gcc -o uptime uptime.c

$ ./uptime

d=19:h=0:m=4:s=52

snprintf 函式使用方法

眾所周知,sprintf不能檢查目標字串的長度,可能造成眾多安全問題,所以都會推薦使用snprintf.intsnprintf char str,size t size,constchar format,函式說明 最多從源串中拷貝size 1個字元到目標串中,然後再在後面加乙個0。所以如果目標串的大...

select 函式使用方法

select在socket程式設計中還是比較重要的,可是對於初學socket的人來說都不太愛用select寫程式,他們只是習慣寫諸如 connect accept recv或recvfrom這樣的阻塞程式 所謂阻塞方式block,顧名思義,就是程序或是執行緒執行到這些函式時必須等 待某個事件的發生,...

memset函式使用方法

需要的標頭檔案 在c中 在c 中 1.void memset void s,int c,size t n 總的作用 將已開闢記憶體空間 s 的首 n 個位元組的值設為值 c。2。例子 void main 3。memset 函式常用於記憶體空間初始化。如 char str 100 memset str...