Pouvez-vous faire une incrémentation compilateur constante?

Tout en sonnant absurde.....

Je veux une Constante à chaque fois que vous l'utilisez il s'incrémente de 1

int x;
int y;
x = INCREMENTING_CONSTANT;
y = INCREMENTING_CONSTANT;

où x == 1; y == 2

Remarque je ne veux pas y = INCREMENTING_CONSTANT+1 type de solutions.

Fondamentalement, je veux l'utiliser comme un moment de la compilation ID unique ( en général, il ne serait pas utilisé dans le code comme dans l'exemple, mais à l'intérieur d'une autre macro)

Puisque la variable est compilateur de base, nous avons besoin de savoir quel compilateur tu parles.
cross compilateur... idéalement tel qu'il sera utilisé sur au moins 3 compilateurs.
cela fait doublons stackoverflow.com/questions/2076757/incremented-define mais les solutions sont pour le C++, mais va voir si j'ai les mêmes techniques peuvent être utilisées pour C
Macro augmentation de la valeur et puis concaténer
c'est pour le C++ et si vous cochez cette réponse il existe une solution pour faire ce qu'ils veulent en C++

OriginalL'auteur Keith Nicholas | 2010-03-31