10/22/2014

Как правильно определять строки в строке компиляции

Многие делают так:

gcc -DMYSTRING=\"SomeString\"

Но правильно так:

gcc -DMYSTRING="\"SomeString\""

Допустим у нас есть вот такой код:

 const char * var = "T" MYSTRING "T";

Тогда, в результате его компиляции с помощью строки вида
gcc -DMYSTRING="\"SomeString\""

мы получим:

const char * var = "T" "test" "T";