Я использую GCC для создания своего встроенного C-приложения, которое я отлаживаю с помощью GDB. Приложение состоит из программы, работающей на главном процессоре, и нескольких программ, работающих на нескольких ядрах DSP ускорителя.
Моя основная (управляющая) программа имеет очень простую основную функцию с коротким циклом, вызывающим большую функцию, которая выполняет некоторые действия и активирует ускорители. Моя проблема в том, что при компиляции с оптимизацией отладка сложнее с точки зрения расположения точек останова в основной функции. При построении без оптимизации другая функция компилируется неоптимально.
Возможное решение - разделить хост-проект на два исходных файла и использовать разные уровни оптимизации. Однако я хотел бы сохранить его в том же файле.
Есть ли способ (прагма?) Указать компилятору, чтобы он выполнял разные уровни оптимизации в одном и том же исходном модуле?