![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
Курсант |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Всем здравствуйте!
Создаю оконное приложение (обычный пример оконного приложения), но рядом с окном запускается консоль. Откуда она берётся? Использую компилятор gcc и среду Code::Blocks. |
|||
|
||||
vol4ek |
|
|||
![]() конь в пальто ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 1.5.2011 Где: Минск Репутация: нет Всего: 0 |
код покажите или ссылку дайте на пример который скачивали
|
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Значит, создаете консольное приложение. Проверьте свойства проекта. -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Курсант |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Добавлено @ 13:58
Спасибо, наверное, так и есть. Правда в Code::Blocks я создаю GUI-приложение, Frame-Based. По идее это ведь ни на что не влияет, только на начальный код проекта? Если формат файла PE, если я явно нигде не создаю консоль, значит никто не может мне вызвать консоль, кроме меня? Но я нигде её явно не вызываю. Получается, есть отдельный вид приложений, для которых консоль создаётся по умолчанию операционной системой? Какая-то муть. Решил попробовать поработать в gcc, и вот уже какие-то сюрпризы непонятные. Это сообщение отредактировал(а) Курсант - 24.1.2017, 13:59 |
||||||
|
|||||||
vol4ek |
|
|||
![]() конь в пальто ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 1.5.2011 Где: Минск Репутация: нет Всего: 0 |
код нормальный и в студии все ок. откуда Code::Bloks берет консоль и как приаттачивает ее к виндовс окну я хз
![]() никогда не пользовался этой IDE. Добавлено через 1 минуту и 39 секунд смотрите настройки проекта в Code::Bloks или взьмите VS если есть под рукой |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Запустите полученный exe вне CodeBlocks. Есть консольное окно? Если нет - то это происки самого CodeBlocks, если есть - то это происки компилятора
![]() |
|||
|
||||
vol4ek |
|
|||
![]() конь в пальто ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 1.5.2011 Где: Минск Репутация: нет Всего: 0 |
студия выплюнет такой код на функции WinMain если проект будет консольный, какого его CodeBloks жреть ![]() |
|||
|
||||
Курсант |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Хы, запустил - консоль есть и вне Code::Blocks, и в Code::Blocks. Только вне Code::Blocks консоль закрывается при закрытии окна, а при запуске из под Code::Blocks при закрытии окна в консоли отображается время работы программы и предлагается нажать любую кнопку. Очень похоже на какой-нибудь дебагер из состава gcc, но не уверен. Что происходит в скомпилированном проекте - вообще понять не могу. Хотелось бы понять логику... Всё-таки так хочется оседлать и настроить вменяемо хотя бы одну бесплатную IDE и компилятор. Но ничего не получается, всё время какая-то ерунда получается... Добавлено через 2 минуты и 46 секунд
Взять VS, конечно, проще всего. Хочу запустить бесплатную IDE с компилятором, и разобраться, как работает. Люди же его делали, не обезьяны, наверное как-то работать должно... Это сообщение отредактировал(а) Курсант - 24.1.2017, 17:42 |
||||
|
|||||
vol4ek |
|
|||
![]() конь в пальто ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 1.5.2011 Где: Минск Репутация: нет Всего: 0 |
-Видишь суслика? - Нет. -А он есть ![]() |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Значит проект консольный.
![]() Еще можете глянуть тут, вроде что то похожее (сам посмотреть не могу - StackOverflow висит) |
||||
|
|||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Здесь где-то уже разбирался подобный вопрос.
В PE есть флаг, отвечающий за подсистему (subsystem) приложения. Если его выставить, то будет автоматически создаваться консоль. При этом, Вам ни кто не мешает тут же создать обычное окно. В WinApi есть аналог - AllocConsole. Если эта функция ни где у Вас не вызывается, значит консоль создается ядром, по флагу в PE. Посмотрите в документацию к своему компоновщику, как сменить подсистему. В vs тоже есть аналогичная опция: https://msdn.microsoft.com/en-us/library/fcc1zstk.aspx -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |