Страницы

Поиск по вопросам

вторник, 9 апреля 2019 г.

Компиляция программы с другими значениями переменных

Уже задавал похожий вопрос, но возникла надобность передать строку в программу на стадии компиляции.
Есть код:
#ifdef VALUE std::cout << VALUE << std::endl; #endif // VALUE #ifndef VALUE char* VALUE = "not defined"; std::cout << VALUE << std::endl; #endif // !VALUE
При компиляции с параметром
cl /DVALUE=100 core.cpp
Всё работает и программа выдаёт число.Как я понял, ключ /D - это вариант только для чисел, а есть ли аналогичный ключ для строк?


Ответ

Это не для чисел, а для литералов. Просто в тексте VALUE до компиляции будет заменено на то, что вы подставите.
Хотите с кавычками - подставьте в командной строке Windows
cl /DVALUE=\"100\"
А вообще - читайте о препроцессоре, это большая и интересная тема... Например, тут

Комментариев нет:

Отправить комментарий