Domanda

Obiettivo: Ho un elenco di file di intestazione (circa 50 di loro), E ogni file di intestazione ha pochi array con elementi costanti. Ho bisogno di scrivere un programma per contare gli elementi dell'array. E creare qualche altra forma di uscita (che verrà utilizzato dal gruppo di hardware).

La mia soluzione: Ho incluso tutti i 50 file dispari e ho scritto un'applicazione. E poi ho mollato tutti gli elementi dell'array nel formato specificato.

Il mio ambiente: Visual Studio V6, Windows XP

Il mio problema: Ogni volta che c'è un nuovo insieme di file di intestazione, ora sto cambiando le impostazioni del progetto di VC ++ per indicare il nuovo set di file header, e quindi rigenerare.

La mia domanda:

Un po 'in-sane però,

  • C'è un modo per parlare del intestazione di qualche linea di comando argomenti o qualcosa del genere?
  • Voglio solo evitare una nuova compilazione del fonte ogni volta ...
È stato utile?

Soluzione

standard C e C ++ consentono di utilizzare una macro in:

#include SOME_MACRO_HERE

Il valore espanso di SOME_MACRO_HERE deve guardare corretta di direttiva #include.

Quindi, in linea di principio, è possibile utilizzare l'equivalente di MSVC:

cc -DSOME_MACRO_HERE='<actualheader.h>' sourcefile.c

o

cc -DSOME_MACRO_HERE='"actualheader.h"' sourcefile.c

Questo sembra fornire una risposta alla tua prima domanda di proiettile.

Non sono convinto che si può evitare la ricompilazione -. Si può (forse) evitare la modifica, anche se

Altri suggerimenti

intestazioni sono incluse al momento della compilazione quindi non c'è alcun mezzo per cambiare / aggiungere intestazioni in fase di esecuzione.

Perché non basta scrivere una sceneggiatura breve e semplice Perl che analizzare le intestazioni e contare il numero di elementi di matrice?

In realtà sono arrivato a una soluzione che funziona.

  • Step-1: l'intestazione del file-nomi sarebbero essere predefiniti
  • Step-2: intestazioni (set) con diversi valori dei parametri saranno posti in diverse cartelle
  • Step-3: Durante la compilazione, scegliere il percorso con le intestazioni appropriate

La soluzione non è quello che volevo, ma ancora, era meglio riuscivo a capire.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top