Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Здравствуйте, shura_mam, Вы писали:
_>>static const char* s_szProgVer = "Program version 1.0";
_>>но так, чтобы препроцессор сам формировал строку "1.0" исходя из PROG_VER_MAJOR и PROG_VER_MINOR.
ПК>ПК>#include <stdio.h>
ПК>#define PROG_VER_MAJOR 1
ПК>#define PROG_VER_MINOR 0
ПК>#define VERSION2(prefix,major,minor) prefix###major"."###minor
ПК>#define VERSION1(prefix,major,minor) VERSION2(prefix,major,minor)
ПК>#define VERSION(prefix) VERSION1(prefix, PROG_VER_MAJOR, PROG_VER_MINOR)
ПК>int main()
ПК>{
ПК> printf(VERSION("Program version "));
ПК> return 0;
ПК>}
ПК>
Спасибо...
Я делал примерно так же, но только вместо ### использовал ## и получал немного не то...
Кстати а сколько раз прогоняется препроцессор?
До тех пор пока есть символы #?