Question

Objectif: J'ai une liste de fichiers d'en-tête (environ 50 d'entre eux), Et chaque fichier d'en-tête a quelques tableaux avec des éléments constants. Je dois écrire un programme pour compter les éléments du tableau. Et créer une autre forme de sortie (qui sera utilisé par le groupe de matériel).

Ma solution: J'inclus tous les 50 fichiers impairs et écrit une application. Et puis je jetai tous les éléments du tableau dans le format spécifié.

Mon environnement: V6 Visual Studio, Windows XP

Mon problème: Chaque fois qu'il ya un nouvel ensemble de fichiers d'en-tête, je suis en train de changer les VC ++ paramètres du projet pour pointer vers le nouvel ensemble de fichiers d'en-tête, puis reconstruire.

Ma question:

Un peu en sain d'esprit bien,

  • Est-il possible de parler de la de tête d'une certaine ligne de commande arguments ou quelque chose?
  • Je veux juste éviter une nouvelle compilation de la la source à chaque fois ...
Était-ce utile?

La solution

Standard C et C ++ vous permettent d'utiliser une macro dans:

#include SOME_MACRO_HERE

La valeur étendue de SOME_MACRO_HERE doit chercher correct pour une directive #include.

Par conséquent, en principe, vous pouvez utiliser l'équivalent de MSVC:

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

Ou:

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

Cela semble vous donner une réponse à votre première balle question.

Je ne suis pas convaincu que vous pouvez éviter recompilation -. Vous pouvez (peut-être) éviter le montage, bien que

Autres conseils

En-têtes sont inclus au moment de la compilation donc il n'y a aucun moyen de modifier / ajouter des en-têtes lors de l'exécution.

Pourquoi ne pas vous écrivez juste un script Perl court et simple qui analysera les en-têtes et compter le nombre d'éléments du tableau?

En fait, je suis arrivé à une solution qui fonctionne.

  • Étape 1: L'en-tête les noms de fichiers serait être prédéfinies
  • Etape-2: Têtes (set) avec différents les valeurs de paramètres seront placés dans différents dossiers
  • Étape 3: Lors de la compilation, pointez sur la chemin avec les en-têtes appropriés

La solution est pas ce que je voulais, mais encore, il était mieux que je pouvais trouver.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top