можно было стартовать и GUI, и просто фоновым процессом.
В Расте есть специальная директива #![windows_subsystem = "windows"], которая говорит компилятору, что будет GUI'шная виндовая прога, и открывать консоль при запуске не требуется.
Так вот, если я запускаю без GUI в фоне, но из командной строки, то в консоль совсем ничего не пишется, прога работает незаметно, консоль замирает и даже не принимает Ctrl+C.
А если без этой директивы, то в консоль всё пишется и Ctrl+C работает нормально. Но если кликнуть по .exe файлу, то открывается консоль, а потом GUI, и консоль даже закрыть нельзя.
Что делать в таком случае? Всё-таки собирать два билда?
К сожалению, она успевает мигнуть, что смотрится отвратно :(
Тебе надо будет самому заттачить консоль, можешь глянуть, как это устроено в Alacritty https://github.com/alacritty/alacritty/blob/530de00049c2afcc562d36ccdb3e6afa2fe396a5/alacritty/src/main.rs#L72
Закрывать при запуске?
Компилируешь с подсистемой windows, вызываешь в коде AttachConsole, а само приложение запускаешь в терминале или IDE
Где же вы были всё это время? Отлично заработало!
Обсуждают сегодня