Здесь у меня есть исполняемый файл, не зная его среды сборки, с предположением использования gcc/g ++. Есть ли способ узнать флаг оптимизации, используемый во время компиляции (например, O0, O2, ...)?Определить флаг оптимизации компиляции из исполняемого файла
Все средства приветствуются, неважно, анализируя двоичный или некоторый отладочный тест через gdb (если мы предположим, что флаг -g доступен во время компиляции).
Этот вопрос может помочь: http://stackoverflow.com/questions/189350/detect-gcc-compile-time-flags-of-a-binary – Nick
Меня очень интересует причина такого запроса. Примечательно, что вы должны знать, что оптимизация может быть включена и выключена на индивидуальной основе, а уровни «O» - это просто группы для удобства. –
В частности, см. [Этот информативный ответ] (http://stackoverflow.com/a/340828/15416) на этот вопрос. Это убедительное доказательство того, что вы не можете сделать это надежно. – MSalters