10/22/2014

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

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

gcc -DMYSTRING=\"SomeString\"

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

gcc -DMYSTRING="\"SomeString\""

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

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

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

мы получим:

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


2 комментария:

  1. Ещё проще:

    gcc -DMYSTRING='"my string"'

    ОтветитьУдалить
    Ответы
    1. Нет, так не пойдет.
      Если делать как вы говорите получится:
      const char * var = "T" test "T";
      что уже не будет являться верной строкой.

      Удалить