Informazione cpu in c

di il
20 risposte

Informazione cpu in c

Avrei bisogno di un'informazione: qualcuno può dirmi quale file header devo includere nel programma c per avere informazioni per quanto riguarda, uso della cpu, ram, hdd, net... ad esempio: come fa conky....

uso ubuntu e programmo in C...

20 Risposte

  • Re: Informazione cpu in c

    Stiamo parlando di software opensource: cosa ti impedisce di andare a leggere in quale modo corky (o meglio ancora torsmo o altri balocchi ancora più semplici) reperiscono tali informazioni? Comunque, non aspettarti che codesta roba sia già pronta e disponibile semplicemente includendo un paio di header... è un lavoro banale, ma occorre sapere bene cosa e dove cercare, il che è documentato in modo incompleto e frammentario.

    Inoltre, è severamente vietato reinventare la ruota in informatica. A che servirebbe duplicare per l'ennesima volta codeste funzionalità già presenti in almeno una dozzina di applicazioni di vario genere, CLI e GUI?
  • Re: Informazione cpu in c

    In effetti, non voglio reinventare la ruota, chiedo solo un piccolo esempio...
    sto facendo un programma con ncurse e vorrei mettere un po di informazioni...
    tipo come ho già fatto con l'orologio... cioè, usando l'header time.h e la struttura tm... esempio:

    struct tm *tmp;
    static char str[256];
    static time_t hms;

    time(&hms);
    tmp = localtime(&hms);
    memset(&str, 0x0, 256);
    sprintf(str, "%d:%.2d:%.2d", tmp->tm_hour, tmp->tm_min, tmp->tm_sec);

    poi ho creato un timeout che mi refresh questa funzione ogni secondo e così ho l'orologio....
    quindi chiedo un piccolo esempio se è possibile... sto cercando di trovare il sources code di top... ma non lo trovo...
  • Re: Informazione cpu in c

    Comunque puoi vedere qui alcuni sorgenti
    C'è la funzione get_system_info() in m_linux.c che potrebbe interessarti
  • Re: Informazione cpu in c

    Meglio così su ubuntu:
    
    apt-get source lscpu
    #se non funziona allora
    apt-get source util-linux
    
    In ogni caso, per scopi didattici, è meglio guardare al codice delle utilità di OpenBSD che sono scritte meglio. A volte le scimmie della FSF scrivono porcate
  • Re: Informazione cpu in c

    A volte le scimmie della FSF scrivono porcate
    scimmie?
  • Re: Informazione cpu in c

    Per quanto ho capito fin ora è che bisogna leggere e filtrare alcuni file di configurazione del sistema... in particolare nella dir proc... ora la domanda che mi pongo è... c'è un modo per leggere direttamente le variabili che scrivono in questi file?? credo di si?! booo???
  • Re: Informazione cpu in c

    In Unix/Linux tutto é un file. In proc non hai dei veri e propri files ma le "variabili" che tu vorresti
  • Re: Informazione cpu in c

    Ma devo sempre usare open e read per leggere questi file?
    che poi sono file virtuali... vero?
  • Re: Informazione cpu in c

    Sì é proprio questa la filosofia
  • Re: Informazione cpu in c

    Se vuoi vedere come si fa easyprocess nel file .c vedi il meccanismo, hai bene o male tutta la pappa pronta per quasi tutte le info sul s.O. , compreso anche di velocità internet
  • Re: Informazione cpu in c

    Grazie per l'esempio!! vedo che ho molto da studiare... ma ho un problema, ho provato a compilare l'esempio giusto per fare alcune prove personali e per capire meglio il tutto... ma come dicevo, ho un problema con le librerie perdona la mia ignoranza!
    non trovo gli header easy*.h?
    ad esempio comincia con questo errore:
    fatal error: easyprocess.h:
    ps: Uso, compilatore gcc e distro ubuntu 16.04
  • Re: Informazione cpu in c

    Okk! ho trovato il file zip
    ma quando tento di installarlo ottengo questo errore:
    $ ./generate
    [OK]gcc
    [OK]make
    [OK]stdio.h
    [OK]stdlib.h
    [OK]string.h
    [OK]memory.h
    [OK]unistd.h
    [OK]fcntl.h
    [OK]ioctl.h
    [OK]sched.h
    [OK]malloc.h
    [OK]time.h
    [OK]resource.h
    [OK]errno.h
    [OK]input.h
    [OK]termios.h
    [OK]types.h
    [OK]stat.h
    [OK]time.h
    [OK]dirent.h
    [OK]utime.h
    [OK]pwd.h
    [ER]curl.h
    $ sudo ./install
    [sudo] password di mino: 
    --------------------------
    - Install Easy Framework -
    --------------------------
    
    [OK]easytype
    make: makefile.auto: File o directory non esistente
    make: ***  Nessuna regola per generare l'obiettivo "makefile.auto".  Arresto.
    [ER]easyalloc report error on https://github.com/vbextreme/EasyFramework/issues
    credo che sia un problema di compilazione... booo?
  • Re: Informazione cpu in c

    
    [ER]curl.h
    
    l'easyframework richiede la libreria CURL, cerca in internet come installare CURL per la tua distro.
    su Ubuntu dovrebbe essere
    
    apt-get install libcurl4-openssl-dev
    
    puoi cercarla così
    
    apt-cache search libcurl
    
    installa la più recente son il suffisso "dev", in modo che ti vengano installati anche gli header.


    Sto lavorando alla release 0.5, ci saranno cambiamenti molto interessanti, ma soprattutto sto documentando tutto in italiano.L:unico problema è il tempo, spero per fine anno di riuscire a rilasciare la nuova versione.
  • Re: Informazione cpu in c

    Si! già fatto!! grazie molto! ma ora il problema sono io... pensavo che si trattava di qualcosa di più semplice, mentre ho molto da studiare... ma cmq, se mi posti il link della nuova release... gli do un'occhiata...
    una curiosità che ti chiedo è: perché sono ridefinite il tipo di variabili, cioè, int = INT32 o char = CHAR e così via??
Devi accedere o registrarti per scrivere nel forum
20 risposte