Я разрабатываю приложение gcc с использованием Visual Studio 2015 в качестве среды IDE. Отладчик - gdb.
Приложение создает собственное окно. Когда я компилирую с помощью переключателя DEBUG, мне нужно, чтобы приложение также создало консольное окно. Он используется для отладки и вывода printf из нескольких потоков. Благодаря переключателю "-windows" это работает правильно, когда я запускаю приложение извне Visual Studio.
К сожалению, когда я запускаю приложение из Visual Studio, он, кажется, крадет окно консоли. Консоль не создается, и вывод printf перенаправляется в окно вывода отладки.
Это не было бы большой проблемой, если консоль VS фактически напечатала "\n" правильно, а не удаляла их из вывода. Все печатается в одной строке, и выход становится нечитаемым. Попытайтесь, как я могу, я не смог заставить VS вставить новую строку в окне Output Debug. Я много раз искал в Интернете, и эта проблема, похоже, хорошо документирована, но я не мог найти удовлетворительного ответа.
На этом этапе любое из этих решений будет работать для меня:
- Предотвратить кражу окна консоли приложения Visual Studio;
- Добавьте специальные символы ко всем моим printf, чтобы сделать фид строк печати отладки вывода и возврат каретки.
РЕДАКТИРОВАТЬ: В идеале решение должно быть перекрестно-пластинчатым, в некотором смысле, что оно не должно зависеть от WinAPI.
EDIT2: "\ t", похоже, работает по назначению. Почему "\n" не работает? Я также попробовал "\ r\n" безрезультатно.