Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C] sistema operativo

    Ho la necessità di individuare il sistema operativo utilizzato dall'utente.
    Ho inserito questo codice:

    codice:
    #ifdef win32
           #define msg "Windows"
    #endif
    ....
    Ma che parametro devo associare in fase di compilazione per non ricevere errori?
    Grazie

  2. #2
    Con il C puoi sapere il sistema operativo per cui è compilato il programma, non quello su cui viene eseguito; per fare questo ti puoi basare sulle macro definite dal compilatore, come in effetti fai nel tuo codice.
    Ma che parametro devo associare in fase di compilazione per non ricevere errori?
    Che errori ricevi?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    In teoria il preprocessore dovrebbe definire una costante del sistema operativo utilizzato.
    Esempio stupido:

    codice:
    #include <stdio.h>
    #define N 10
    
    #ifdef T
        #define x 0
    #else
         #define x 1
    #endif
    
    #ifdef win32
           #define msg "Windows"
    #endif
    
    int main()
    {    
        
        printf("x = %d\n\n", x); /* la costante x la trova e non dà errori. */
        
        printf("msg: %s\n\n", msg); /* la costante msg non la trova e mi dà errori */
        
        return 0;
    }

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Sì ... ma non e' detto che sia win32 ... ad esempio, per VC++ e'

    WIN32

    (in maiuscolo)

    Quale compilatore stai usando?

  5. #5

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Anche in questo caso e'

    WIN32

    ... prova

  7. #7
    grazie. Funziona.

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.