C-Makro-Token Verkettung mit einer Variablen - ist es möglich?

Ich versuche zu definieren, die ein makro zum generieren eines token-Namen, enthält eine variable.

Im Grunde, was ich versuche, ist dies:

#define GLUER(x,y,z) x##y##z
#define PxDIR(x) GLUER(P,x,DIR)

int main() {
  int port;
  port = 2;
  PxDIR(port) |= 0x01;
}

Ich hoffe, dass zum generieren der token P2DIR in der obigen Aussage, aber nach meiner compiler-Ausgabe, es ist die Erzeugung der token PportDIR, das ist NICHT das, was ich wollte. Jede Hilfe hier? Oder ist das, was ich versuche zu tun ist unmöglich?

  • Haben Sie zu tun beabsichtigen #define port 2?
InformationsquelleAutor gatesphere | 2010-09-03
Schreibe einen Kommentar