Мне нужно иметь возможность определить во время выполнения, какие параметры компиляции использовались для создания исполняемого файла. Есть ли способ сделать это?
РЕДАКТИРОВАТЬ: Я особенно заинтересован в обнаружении настроек оптимизации. Причина в том, что я пишу коммерческое программное обеспечение, которое должно работать как можно быстрее. Пока я просто модифицирую и тестирую систему, я не делаю все оптимизации, потому что это занимает слишком много времени. Но я беспокоюсь, что могу случайно зайти и выпустить неоптимизированную версию программы. Я хотел бы, чтобы при запуске программа показала мне визуальное предупреждение: «Это медленная версия - не выпускать».
РЕДАКТИРОВАТЬ: Может быть, я мог бы написать небольшую утилиту для запуска в качестве шага перед сборкой? Командная строка хранится где-то в файле? Если это так, то я мог бы извлечь его, а затем записать в какой-нибудь включаемый файл в виде строки и эй presto!
РЕДАКТИРОВАТЬ: Мой выбор не между отладкой и выпуском. Отладка слишком медленная - я оставляю это строго для отладки. Мой повседневный выбор - между оптимизированным и сверхоптимизированным (включая компиляцию времени медленной компиляции или даже оптимизацию по профилю).
РЕДАКТИРОВАТЬ: Я часто вносить изменения в сложный процесс компиляции, различные библиотеки, разные предопределенные макросы, разные исходные файлы и т. Д. Кажется неуклюжим, чтобы поддерживать несколько, почти идентичные файлы проекта, отличающиеся только в паре флагов оптимизации. Я бы предпочел просто переключить пару флагов в одном проекте и заново скомпилировать. Я просто хочу, чтобы исполняемый файл самопроверял, как он был создан.
РЕДАКТИРОВАТЬ: IIRC есть некоторый способ попросить визуальную студию создать make-файл. Могу ли я попросить Visual Studio создать этот make-файл для меня как шаг перед сборкой?