Member
Статус: Не в сети Регистрация: 15.11.2005 Откуда: Одесса
BaBL писал(а):
как стало известно по последним данным, мышление Linn на 95% состоит из Google и 5% отведены на полу рефлекторные действия по растегиванию ширинки в туалете
Как известно по всей ветке, BaBL прогнал пургу уже несколько раз, в свете чего полностью исключил из своей риторики конструктивный момент (чтобы не сесть в лужу), оставив только свои сексуально-озабоченные комментарии.
Root писал(а):
Цитата:
А ничего, что код возврата в DOS размером один байт
где написано? в каких версиях доса?
Да во всех. И написано везде.
Root писал(а):
очевидно - по стандарту Си main должен быть int. Отступления караются. А под смою ось точно придется писать свой компайлер, а в нем делайте, что угодно - можете вообще только делать вид, что что-то возвращается. Правда, это будет странная ОСь
А что оси пишутся по стандарту C ? В 99% нужных нам программ есть WinMain, и этот стандарт я уважаю
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
Linn возникают риторические вопросы - когда Си был придуман? и для чего?
то что ДОС вместо int'а ловит char - ессно, персональные проблемы ДОСа. Конечно, программеры этот факт тогда просто учтут...
Цитата:
В 99% нужных нам программ есть WinMain, и этот стандарт я уважаю
стандарт? это придумка M$. С таким же успехом я могу написать основную функцию main и прога будет нормально работать под вынь подсказки: а) Си - платформонезависим, так что ему глубоко плевать на винду с ДОСом. Представляю себе как будет компилиться WinMain под Darwin б) точка входа может быть переопределена. в) есть такая штукенция как CRT. в M$ реально вход в прогу идет оттуда. Т.е. реально до WinMain еще есть код, который скрыт от глаз программера
Цитата:
А что оси пишутся по стандарту C
выдумки. еще раз говорю - можете написать свой компайлер под свою ось, который вообще ничего не будет возвращать - главное, чтобы прога соответствовала стандартам языка. Добавлено спустя 1 минуту, 6 секунд
Catar писал(а):
Linux - C с GNU расширениями.Ну вот Сингулярити пишется на sign
это не ОСи пишутся ПО стандарту С, а пишутся НА сях. А как там реализованы такие вещи - на совести разрабов.
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Member
Статус: Не в сети Регистрация: 15.11.2005 Откуда: Одесса
Root писал(а):
то что ДОС вместо int'а ловит char - ессно, персональные проблемы ДОСа. Конечно, программеры этот факт тогда просто учтут...
Ну конечно. Т.е., если, скажем, компилятор позволяет unsigned char main() - это по-любому неправильно. Плохая операционная система. Не соответствует стандарту ANSI C++
Root писал(а):
стандарт? это придумка M$. С таким же успехом я могу написать основную функцию main и прога будет нормально работать под вынь подсказки: а) Си - платформонезависим, так что ему глубоко плевать на винду с ДОСом. Представляю себе как будет компилиться WinMain под Darwin б) точка входа может быть переопределена. в) есть такая штукенция как CRT. в M$ реально вход в прогу идет оттуда. Т.е. реально до WinMain еще есть код, который скрыт от глаз программера
Реально, если в программе есть WinMain - в заголовке exeшника в поле Subsystem буде указана подсистема исполнения Win32 GUI, а если есть main - Win32 Console. И код, добавляемый компилятором, будет там совсем разным.
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
Linn
Цитата:
Реально, если в программе есть WinMain - в заголовке exeшника в поле Subsystem буде указана подсистема исполнения Win32 GUI, а если есть main - Win32 Console.
это задается параметрами линкера я могу и Win32 Console приложение с функцией WinMain сделать. Тока нафига?
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Реально, если в программе есть WinMain - в заголовке exeшника в поле Subsystem буде указана подсистема исполнения Win32 GUI, а если есть main - Win32 Console. И код, добавляемый компилятором, будет там совсем разным.
Для GUI приложения subsystem можно указать console. И даже использовать вывод в эту консоль.
Member
Статус: Не в сети Регистрация: 06.09.2005 Откуда: Москва
Рано начал Добавлено спустя 6 минут, 12 секунд Ё...., прочитал чего там линн с раздолбом намолотили. Они, конечно, мегамастера в проектировании языков программирования и компиляторов/интерпретаторов/трансляторов для них, чего там какие-то гнушники сидели 20 лет над gcc - да они лохи по сравнению с этими двумя. молодцы, пошли советовать что да как делать в стандарте
Member
Статус: Не в сети Регистрация: 15.11.2005 Откуда: Одесса
hexy писал(а):
Для GUI приложения subsystem можно указать console. И даже использовать вывод в эту консоль.
Нет-с Если subsystem указать консоль, то это будет консольное приложение, а не GUI приложение. Которое может создавать диалоговые окна и т.п.
Root писал(а):
я могу и Win32 Console приложение с функцией WinMain сделать. Тока нафига?
Консольное ? С главной функцией, в которую передается hInstance, hPrevInstance, CmdLine и CmdShow ? Добавлено спустя 4 минуты, 47 секунд Об чем я тут вообще
Для GUI приложения subsystem можно указать console. И даже использовать вывод в эту консоль.
Нет-с Если subsystem указать консоль, то это будет консольное приложение, а не GUI приложение. Которое может создавать диалоговые окна и т.п.
Root писал(а):
я могу и Win32 Console приложение с функцией WinMain сделать. Тока нафига?
Консольное ? С главной функцией, в которую передается hInstance, hPrevInstance, CmdLine и CmdShow ? Добавлено спустя 4 минуты, 47 секунд Об чем я тут вообще
Т.е. если мы компилируем обычное GUI приложение с функцией WinMain "в которую передается hInstance, hPrevInstance, CmdLine и CmdShow" и далее в шестнадцатеричном редакторе меняем subsystem c 2 (GUI) на 3 (CUI), то получаем "консольное приложение, а не GUI приложение. Которое может создавать диалоговые окна"? Я правильно Вас понял?
Сейчас этот форум просматривают: somus и гости: 23
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения