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

    [C] portabilità di un programma C

    salve,
    devo implementare un programma in C (che faccia uso di system calls), che giri sia sotto Linux sia sotto Windows. Dalle ricerche fatte fino ad ora mi sembra di aver capito che si possono distinguere i blocchi di codice con direttive al preprocessore nel seguente modo:

    #ifdef WINDOWS
    //codice win
    #endif

    #ifdef LINUX
    //codice linux
    #endif

    chiaramente WINDOWS e LINUX dovrebbero essere definite.
    Sono già definite da qualche parte in modo standard? o le devo definire io? e come?
    C'è un qualche funzione nell ANSI-C che ritorni info sul sistema operativo?
    che idee avete?

    grazie in anticipo a tutti

  2. #2
    I vari compilatori normalmente definiscono una qualche macro che indica su che sistema operativo stanno compilando... Visual C++ ad esempio definisce _WIN32.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Ma un #define standard ANSI-C non c'è?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    156
    non mi pare che ci siano #define ANSI-C per distinguere il S.O.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.