Я только начинаю с компилятора g++ в Linux и задаю некоторые вопросы о флагах компилятора. Вот они
Оптимизация
Я прочитал о флажках оптимизации -O1
, -O2
и -O3
на странице руководства g++. Я не понимал, когда использовать эти флаги. Обычно какой уровень оптимизации вы используете? В руководстве g++ указано -O2
.
Оптимизируйте еще больше. GCC выполняет почти все поддерживаемые оптимизации, которые не связаны с компрометацией космической скорости. Компилятор не выполняет циклическую развёртывание или функцию, когда вы указываете -O2. По сравнению с -O, этот параметр увеличивает как время компиляции, так и производительность сгенерированного кода.
Если он не выполняет inlining и цикл разворачивания, как достигается соответствие производительности, и рекомендуется ли эта опция?
Статическая библиотека
Как создать статическую библиотеку с помощью g++? В Visual Studio я могу выбрать проект библиотеки классов, и он будет скомпилирован в файл "lib". Что эквивалентно в g++?