Je ne sais rien sur Erlang, mais probablement vous ne pouvez pas créer un fichier .h avec juste les définitions requises et # inclure (ou équivalent) dans les deux endroits. En supposant que vous ne pouvez pas faire cela, je regarderais la génération automatique d'un fichier pour l'un de l'autre.
EDIT: Après avoir regardé les documents Erlang, le format est très similaire mais pas tout à fait le même.
Erlang a besoin -define(Const, Replacement)
C a besoin #define const replacement
donc j'écrire un fichier texte qui contient la syntaxe Erlang (pour seulement ces définitions), puis comme une étape de pré-construction dans ma construction C I ferait quelque chose le long des lignes de
sed s/-define/#define/g
sed s/[\(\),]//g
sur une copie temporaire de ce fichier, que je puis #include
dans ma source C.
Notez que cette solution ne fonctionnera pas dès que votre définition de macro utilise une autre macro. – Zed
@Zed: En effet, ou avec des macros paramétrées (fonctionnelles). Mais les exemples dans l'original sont très simples et devraient être OK. – Vicky
Oui, ceux dont j'ai besoin sont aussi simples. –