Definire stesse API con differenti comportamenti

di il
1 risposte

Definire stesse API con differenti comportamenti

Salve a tutti,
avrei la necessità di creare un file.c che implementa delle API ma deve prevedere due implementazioni in base alla presenza o meno di una libreria, e le API devono avere lo stesso nome.
Esempio:
#ifdef LIB
#define ??
int api() { return 0; }
#else
int api(){ return 1; }
#endif
Penso che con le direttive #define e #ifdef riesco a impostare il file C, ma 1: dopo define cosa devo metterci? 2: come faccio a dirgli in fase di compilazione se LIB è vero o falso ?
Grazie in anticipo.

1 Risposte

  • Re: Definire stesse API con differenti comportamenti

    A rigor di logica quella define non serve dato che se il preprocessore trova LIB implementerà la prima chiamata, altrimenti implementerà la seconda.

    Il compilatore prevede la possibilità di passare le macro a linea di comando. La modalità però dipende da che compilatore usi. Al limite crei un file config.h da includere sempre per primo con le varie macro di configurazione.
Devi accedere o registrarti per scrivere nel forum
1 risposte