Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di grisson
    Registrato dal
    Jul 2006
    Messaggi
    166

    [C] riconoscere sistema operativo

    salve.

    sapete come si può fare per rilevare che sistema perativo monta il pc?
    a me basta che ritorni qualcosa tipo per esempio win/linux/pippo....



  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Ogni sistema operativo definisce una sua macro...
    Se stai lavorando su windows, ad esempio

    codice:
    #ifdef WIN32
    Risulterà vera. (cio è stai su Windows a 32 bit (attenzione ora ci sta anche WIN64) )
    La stessa cosa per linux (la macro dovrebbe essere UNIX o LINUX, non ci giuro)
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  3. #3
    Più che risultare vera tale macro risulterà definita; in ogni caso essa è relativa solo al sistema operativo per cui si sta compilando il programma, e non su quello su cui viene eseguito (in sostanza, come qualunque macro viene valutata a compile-time e non a runtime).
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it L'avatar di grisson
    Registrato dal
    Jul 2006
    Messaggi
    166
    ho provato cosi:

    #ifdef WIN32
    system("cls");
    #endif
    #ifdef LINUX
    system("clear");
    #endif

    e sembra funzionare, ma si usa veramente cosi?

  5. #5
    Sì, esatto.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Originariamente inviato da grisson
    ho provato cosi:

    #ifdef WIN32
    system("cls");
    #endif
    #ifdef LINUX
    system("clear");
    #endif

    e sembra funzionare, ma si usa veramente cosi?
    ti ho scritto anche prima che oggi ci sono anche le versioni di Windows a 64 bit. (MACRO WIN64)
    Se non lo tieni a mente, il tuo programma non funzionerà sui sistemi Windows a 64 bit.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  7. #7
    Utente di HTML.it L'avatar di grisson
    Registrato dal
    Jul 2006
    Messaggi
    166
    ok.

    riepilogo: WIN32,WIN64,LINUX,UNIX poi quali altri ci sono? MACOS?

  8. #8
    Sono #define specifici dei singoli compilatori, devi consultare la loro documentazione.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.