![]() |
|
Модераторы: LSD |
![]()
|
|
| HellStranger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Ну естественно, ведь в Microsoft одни дибилы-дегенераты работают... Они ведь написали CreateProcess, принимающий больше 10 параметров... А, если залезть в реализацию ntdll.dll так это просто умо не постижимо!!!!! Такой ###код, просто блевать хочется... Какой ООП к чертям, читсый C... Везде полно calloc/malloc, правда их кол-во совпадает с количеством free, но настоящему джигиту сипипишнику эт не важно, всё-равно new нужен, и чихать, что он через malloc на подавляющем числе компиляторов реализован... Да ладно, винда ведь сакс, эт мы давно слышали... правда так и не видели доказательств... Хрен с ним. Возьмём кроссовый Open Source FFMPEG. ПИЛЯЯААААТЬ!!!!!!!!! Там классов нету!!!!!!!! Там STL нет!!!!!!! Чистейшей воды C! Говно проект!!!!!!!!!! Выкинуть в топку!!!!!! И не важно, что это единственный проект, который реально можно юзать в приложениях обработки видео, и работать будет ещё куда шустрее, чем различные проприетарные чудеса... Парень! С++ ###! Единственное, что в нём хорошего, это подмножество, называемое... я думаю, знаешь как... |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
Сколько эмоций, ржунимагу.
>Парень! С++ ###! Единственное, что в нём хорошего, это подмножество, называемое... я думаю, знаешь как... C, что ли? Так это не подмножество С++. >Озренительные проекты пишутся на C без единого упоминания убогого слова class и ещё более убогого std. В большинстве "охренительных" проектов реализуется костыльная, меденная и до чертиков неудобная реализация ОО модели. Школьник? Я угадал? Или уже абитуриент? -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
||||
|
||||
| HellStranger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Покажи в FFMPEG убогую концепцию ООП. Покажи её в SDL... Страуструпа почитай, потом утверждай, что C- не подмножество C++. Хотя, что для такого мегамозга слова создателя языка, он же лучше знает. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
HellStranger, если ты не осилил С++, то так и скажи. Нечего тут кричать и изливать желчь.
Си используется в системном программировании, поэтому нет ничего удивительного в том, что ntdll.dll написан на нем. Ты посмотри стандартную библиотеку Си. Ты в ней не найдешь функций с 10-ю параметрами. 4 - еще может быть. Как ты думаешь, люди придумавшие стандартную библиотеку сильно глупей "ребят" (индусов?) из Microsoft? В *nix есть две функции: fork() и семейство exec(). первая создает копию текущего процесса, вторая производит запуск указанной программы путем замещения текущего процесса. Таким образом, если тебе нужно запустить программу без закрытия текущей, то нужно сделать fork() и из копии тут же exec. Если нужно замещение - то достаточно только exec. Зачем городить огород с 10-ю параметрам? Какое отношение имеет CreateProcess к потокам? Удачные проекты, далеко не всегда могут являться примером по написанию кода. Типичный пример - WinAPI. Никто не будет спорить, что Windows очень успешная ОС. Но в то же время, многие признают, что WinAPI спроектирован очень плохо. Другой пример Qt (это уже C++), он тоже популярен, но спроектирован так, что пользоваться им просто и удобно. Чтобы в этом убедиться, достаточно посмотреть количество и сложность вопросов в соответствующих разделах форума. Вопросы по Qt значительно сложней, так как до простого и самому догадаться несложно. Короче, большое количество параметров у функций от небольшого количества ума (опыта). Заруби себе на носу. |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
>Покажи в FFMPEG убогую концепцию ООП. Покажи её в SDL...
Я не сказал, что оно есть везде. Оно есть во всем gtk-софте (это просто п-ц), оно есть в ядре линупса (впрочем там, то что я видел, было вполне адекватным) и еще в нескольких опенсорсных поделках, что мне приходилось расковыривать. >утверждай, что C- не подмножество C++ Вот пример сишного, но не плюсового кода:
Ботай теорию множеств и попробуй после этого доказать, что c - подмножество с++. В реальности С++ просто совместим с Си (апи, бинарно и синтаксически). >Саттера с Александреску начитался, а свою думалку не применяешь... Ты почитай внимательно про выделители памяти у Саттера... Человек явно не понимает, что он делает, а умницы-студенты его читают, учатся у него... ))))))) Кто все эти люди? /*сарказм*/ (я использую плюсы весьма своеобразно, так что на этих авторов лично мне плевать). Добавлено через 1 минуту и 31 секунду >в Microsoft одни дибилы-дегенераты работают... Они ведь написали CreateProcess, принимающий больше 10 параметров... Дык, что есть, то есть. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| HellStranger |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Ну как же, malloc/calloc/realloc не C++ style... Не для настоящих джигитов, которые обычный буфер для хранения видеокадра не могут в класс не запихнуть... ))))))))) |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
Ты видимо даже не знаешь, что такое ООП и чем оно от классов отличается. SDL это типичный пример реализации ООП на Си. Ты создаешь объект SDL_Surface и получаешь на него указатель (почти нет отличий от ptr = new SDL_Surface(...)), дальше ты применяешь к нему методы, вот только запись отличается, вместо ptr->method(...) писать надо SDL_method(ptr,...), что не сильно отличается от С++, так как генерируемый в обоих случаях код выглядит идентично. Запомни, написать более или менее сложный проект без использования ООП в той или иной степени практически нереально. Тот же Windows использует этот подход, обрати внимание на CreateFile, функции работы с графическим контекстом и пр. Все тоже самое: создаешь (получаешь) объект, работаешь с ним, используя подходящие методы, освобождаешь объект. |
|||
|
||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: нет Всего: 10 |
открываем первый попавшийся файл http://git.ffmpeg.org/?p=ffmpeg;a=blob;f=l...e638c66;hb=HEAD и видим:
алсо да, в Си дзена нет. А вот в С++ дзен есть, и его там немало. Это сообщение отредактировал(а) Abyx - 29.7.2010, 13:26 |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
>Ну как же, malloc/calloc/realloc не C++ style... Не для настоящих джигитов, которые обычный буфер для хранения видеокадра не могут в класс не запихнуть... )))))))))
Ох, красавчег, ты видел что-нибудь сложнее буфера видеокадра? Разветвленые структуры данных например? Если видел, то расскажи, как ты без крупных затрахов будешь с ними работать средствами одного си. Или настоящие джиги^Wиндусы отностят структуры данных к прихотям современных идиотов плюсофилов и сами пользуются обычными переменными и тучей функций с десятью параметрами? -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| HellStranger |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
> Вот пример сишного, но не плюсового кода:
Ботай теорию множеств и попробуй после этого доказать, что c - подмножество с++. В реальности С++ просто совместим с Си (апи, бинарно и синтаксически). Понятно, когда кончаются аргументы, переходим на философские темы... >(я использую плюсы весьма своеобразно, так что на этих авторов лично мне плевать). Через попу в смысле?.. Ну-ну, нестандартный подход- это тру. >Дык, что есть, то есть. Ясно, одного не пойму, почему эти дебилы даже в области IPTV на лидирующих позициях, а про умных линуксоидов вообще не слышно... Скажите спасибо, что для вас FFMPEG налабали, а то до сих пор без видео бы сидели, консольные ребята... Ох и смешной товарищ... ) |
||||||
|
|||||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: нет Всего: 10 |
djamshud, люди на масме32 код дизассеблируют и граф строят, потом этот граф обрабатывают и пишут обратно,
а вы говорите на Си со сложными структурами данных работать сложно. Нормально там с ними работать. Только в 95% случаях этого не надо. И С++ обычно не надо. Добавлено через 1 минуту и 1 секунду а вообще тролль какой-то глупый и толстый попался %) неинтересно =\ |
|||
|
||||
| HellStranger |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Отправляю в дебри FFMPEG. Посмотри на структуры данных AVCodecContext, например, AVStream и т.д. А потом выёпывайся... К твоему сведению, B- и try- деревья в C c лёгкостью стоятся и обрабатываются, ну а про то, что работает вся эта красота намного быстрее ++, я и говорить не буду. Добавлено через 2 минуты и 26 секунд
А мы уже пришли к выводу, что эти люди дебилы... Так что вы не в тему с графами на Microsoft asm... Дайте вы линуксоиду покуражиться, отдохнуть от консоли... |
||||
|
|||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
Abyx, кто сказал, что нельзя? Просто не так удобно, особенно если не прибегать к ооп.
HellStranger, >Понятно, когда кончаются аргументы, переходим на философские темы... Математика - это не философия. Ты ляпнул глупость, сел в лужу, а теперь газифицируешь ее. >Через попу в смысле?.. Ну-ну, нестандартный подход- это тру. Типа того. Попа довольна. Детка, ты понимаешь, что не обязательно использовать весь багаж, предоставляемый языком, причем в таком на мой вгляд ущербном виде, как предлагают Александреска или буст? >Ясно, одного не пойму, почему эти дебилы даже в области IPTV на лидирующих позициях, а про умных линуксоидов вообще не слышно... Скажите спасибо, что для вас FFMPEG налабали, а то до сих пор без видео бы сидели, консольные ребята... А почему умные линуксоиды на лидирующих ролях в области серверного ПО, а этих дебилов почти не слышно? Да и плееров кстати много, хороших и разных - опять облажался. Добавлено через 2 минуты и 9 секунд >Отправляю в дебри FFMPEG. Не хочу лезть. Я знаю, что можно, и я знаю, что работать с ними намного удобнее в объектно-ориентированном виде. И тебя, детка, уже кажется ткнули носом, что и сам ffmpeg использует ОО-подход. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| HellStranger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Да по ходу дела, ты не знаешь... Основополагающая концепция ООП инкапсуляция здесь не выполнена к твоему сведению. Данные существуют отдельно, методы их обработки отдельно! Отличие от ptr = new SDL_Surface(...)) принципиальное, выделилась память под структуру, инициализировались поля по умолчанию, всё! С таками подходом char *cString = (char *)calloc(10, 1) можно назвать ООП в действии. Есть указатель на объект cString, вызвали его конструктор calloc, а потом будем методы вызывать strcpy, strcmp и так далее... Процедурное программирование, выходит, в прямом смысле является ООП. Есть данные, есть функции для их обработки... Достаточно! На хрен инкапсуляци, нахрен наследование, туда же полиморфизм... |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
>Основополагающая концепция ООП инкапсуляция здесь не выполнена к твоему сведению.
Детка, я не просто так призывал тебя ботать теорию. Иди учись. Это одна из как минум трех основополагающих концепций. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| HellStranger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
djamshud. По поводу ООП в SDL и FFMPEG я уже ответил.
С процессом размышления у тебя, очевидно, проблемы... Ко всему подходить с позиции буквоедства- не наш метод, а продвинутых линуксоидов... Деточка, для систем IPTV тоже сервера нужны! И сдаётся мне в решениях Microsoft линукс не фигурирует... По поводу плееров, детка! Ты и вправду мал ещё и глуп... Ты не в курсе, что плееру декодер нужен?.. Прикинь, нужен... И плееров-то много, только FFMPEG ни хрена не плеер... А вот тот же VLC и иже с ним что для декодирования используют?... Так что у тебя уже не лужа, а яма помойная... |
|||
|
||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: нет Всего: 10 |
||||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
||||
|
||||
| HellStranger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
О тебе могу сказать буквально тоже самое, если не больше... Называть SDL объектно ориентированным решением... Дорогого стоит. Тебе бы желательно даже не в раздел для новичков, а книжки для кофейников почитать... Хотя, их ты и читал... Ну тогда Липпмана, Страуса осиль... А по поводу ООП Гради Буча почитай, потом будем разговаривать... А то слышал звон, да не знаешь, где он... |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: нет Всего: 183 |
Всех уважаемых и не очень участников дискуссии покорнейше прошу снизить накал обсуждения.
HellStranger, у тебя часто попадается не очень прикрытый мат. Во-первых, это, как правило, последний аргумент при недостатке других, а во-вторых меня это просто коробит - не стоит забывать, что форум читают и дамы. djamshud, "детка" - тоже не очень удачное обращение. Ну и т.д. Помните, что теоретически вы все высокообразованные (инженеры!) и интеллигентные люди. И общайтесь соответственно. А то плюхи начну раздавать. -------------------- ... |
|||
|
||||
| HellStranger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Ключевая фраза, В ТОЙ ИЛИ ИНОЙ СТЕПЕНИ! Только ООП-три составляющих вместе взятых... Я понимаю. что для тебя это новость, но уж смирись... Так вот оно... |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
Да что ты к линуксоидам прицепился? Тебе платят за это? Не знаю что там у МС с IPTV, но все известные мне IPTV сервера работают именно на Linux. давай начнем с теории, что такое сервер? Это устройство, которое обслуживает клиентов. В нашем случае, это сетевое устройство, обслуживающее сетевых клиентов. Еще более, устройство, которое предоставляет какие-то услуги пользовательским компьютерам. Под это определение подходит такое уствойство, как роутер. А теперь пытаемся вспомнить, какой тип ОС в них установлен. И сколько их продано. А теперь забываем, что есть связь между МС и сервером, так как количество серверов под этой ОС пренебрежимо мало. |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
HellStranger, по поводу ООП ты ответил читейшей воды глупость. Дело не в буквоедстве, а в том, чтобы называть оранжевый апельсин оранжевым опельсином, а не какой-то неведомой херней, которая в после наложения десятка ограничений таки станет объедком оранжевого апельсина.
>Деточка, для систем IPTV тоже сервера нужны! Детка, я в курсе что МС умеет лабать сервера под свои поделки. Но странно, почему сторонние специалисты предпочитаю решения на Linux? Сейчас будет стандартный аргумент линупсоида: посмотри топ-500 кластеров и найди в нем те несчастные три или четыре машинки под управлением венды. >По поводу плееров, детка! А как же mplayer, как же xine? Детка, они могут использовать кодеки из ffmpeg, а могут и не использовать. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| HellStranger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Уважаемый, за непристойные выражения, прошу прощения. >>Во-первых, это, как правило, последний аргумент при недостатке других А вот это очень субъективно... По мне, так это просто сокращает количество необходимой писанины и добавляет нужный эмоциональный окрас посту. Только и всего. |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
Модератор: Сообщение скрыто. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| HellStranger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Модератор: Сообщение скрыто. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: нет Всего: 183 |
В смысл дискуссии особо вникать не хочу... ибо по моему она особого смысла и не имеет. Но хочется побазарить - валяйте. Только приличия соблюдайте - и я не только мат имею в виду. Не пытайтесь оскорбить и унизить собеседника - это очень некрасиво, нежели мама не говорила? Представьте, что вы все это обсуждается оффлайн за рюмкой чая. Неужели так же выражались бы? Так зачем из форума помойку делать? -------------------- ... |
|||
|
||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: нет Всего: 10 |
Иногда случается чудо, и я признаю что djamshud прав.
|
|||
|
||||
| HellStranger |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Начнём с того, а много ли тебе извесно?.. AT&T крупнейший телекомпания США что юзает?.. Да ладно про зарубежные... Beeline для IPTV что использует?.. Не осведеомлён в теме, не выскакивай, знаток. Добавлено через 2 минуты и 51 секунду А как же mplayer, как же xine? Детка, они могут использовать кодеки из ffmpeg, а могут и не использовать. Крошка, Windows Media Player тоже может без Klight .wmv играть и .asf... Какой-то набор кодеков всегда есть, но вот что ты с ним можешь смотерть... это другой вопрос. Что может прокрутить mplayer без ffmpeg, и что с ним... Разница, по-моему, очевидна для слепого... Для большинства контейнеров он без ffmpeg демультиплексора не найдёт, а ты мне басни рассказываешь... |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
HellStranger,чего Вы пытаетесь доказать ?
если есть вопросы, или просто желание высказаться, заведите свою тему в подобающем разделе, а не захламляйте чужие не аргументированными выпадами. |
|||
|
||||
| HellStranger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
bsa:
Да что ты к линуксоидам прицепился? Тебе платят за это? Не знаю что там у МС с IPTV, но все известные мне IPTV сервера работают именно на Linux. Ознакомься http://en.wikipedia.org/wiki/Microsoft_Mediaroom А потом лепи горбатого к стене со своими линуховыми IPTV-серверами. Добавлено через 3 минуты и 32 секунды
Я всего лишь высказываю своё мнение по данной теме. Аргументов приводил достаточно, просто есть люди "я самый умный, и на остальных чихать хотел", они аргументов не видят или не считают их таковыми. Но это уже не моя вина... |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
прочитав тему, как ни странно, я тоже ничего кроме не связанных выпадов не обнаружил.. может аргументы и были, но все они погрязли под толстым слоем Ваших эмоций. |
|||
|
||||
| HellStranger |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Прочтите пост, например, в котором я объяснял почему в SDL даже не пахнет ООП в полном его смысле. По-моему, аргументов приведено достаточно... Как ни странно, но у себя в отделе, C-разработчики прекарсно понимают аргументы друг-друга, но вот с приверженцами stl и boost мы разговариваем на совершенно разных языках. Думаю, вы не видели в моих постах аргументов по той же самой причине. ))))))))) |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
этот ? я так понимаю Вы считаете, что на чистом Си возможно только процедурное программирование ? нет, там тоже можно применять (и применяют ) ООП. проблема в том, что поддержки со стороны компилятора у чистого С немного и поэтому поддержка ложится на плечи программиста.. Если считаете что подобный подход не ООП, то не забывайте, что и С++ в этом смысле далек от идеала |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
откуда столько эмоций? читать противно. воздерженца на свободу выпустили..
а микрософт, это что? |
|||
|
||||
| HellStranger |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
>>Ты посмотри стандартную библиотеку Си. Ты в ней не найдешь функций с 10-ю параметрами. 4 - еще может быть. Во-первых, посмотри накануне функции генерации системных и програмных прерываний стандартной библиотеки... Обрати внимание на объединения и структуры REGS, SREGS. Посмотри сколько полей в этих структурах... Опеределённо по числу регистров... Но все эти регистры - параметры функций!!! Но здесь понятон, всё логично... В Microsoft для таких же умных как ты! решили не объединять многие логически не связанные параметры в структуры, а передавать их в функции отдельно. Никто не мешал им разбить 10 параметров CreateProcess по нескольким структурам, только вот это противоречило бы здравому смыслу и логике... То, что ты совершенно не знаком со стандартной библиотекой С, я и так прекрасно понял, не нужно это лишний раз демонстрировать... Вот тебе на вскидку пример с 5-ю паарметрами movedata. А уж функций с 4 параметрами предостаточно! Чем сложнее действия, тем больше параметров передаётся. Просто "сложные" задачи на C прошли мимо тебя, а строишь из себя аса... Добавлено через 5 минут и 40 секунд
Вы совершенно не о том. Я лишь сказал, что в SDL не применяется ООП! Применяется здравый смысл и логика. На С можо реализовать приложение, полностью соответсвующее принципам ООП. И есть такие примеры. Речь о том, что реально мастшабные проекты с успехом реализуются и без применения концепции ООП как таковой! А отдельно инкапсуляция была известна и широко применялась и до появления первой литературы касательно ООП. Надеюсь, так понятно?.. |
||||||
|
|||||||
| HellStranger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Нет, нет, ничего... Эт так, просто буквы незнакомые... Ты в домике, я понимаю... Microsoft нет, Apple нет, Adobe нет... Есть только boost и linux. Удачи. |
|||
|
||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
ну так оно и есть. фактически ООП это всего лишь выработанной временем набор хороших решений процедурного программирования. (с точки зрения императивных языков). Но не понятно протест насчет чего высказан ? В том что SDL плохая ? или что она хорошая ?
ну и о чем это говорит ? о том, что надо пихать в функцию побольше, или о том, что если иначе (по каким то соображением ) нельзя , то можно и 5 парамметров в функцию передать ? |
||||
|
|||||
| HellStranger |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Вы внимательнее читайте тему, тогда поймёте... Протест был высказан по поводу отсутствия ООП в SDL, в то время как мне пыталсиь доказать обратное. SDL - пример замечательной библиотеки, работающей на самых распространнённых осях, и совершенно не использующей ничего, кроме C... Никаких stl, boost и прочих наворотов, превращающих cpp в C#. Осталось ещё исполнительную среду для cpp написать- C## готов.
И опять к нашим баранам... Читайте тему внимательнее, а потом высказывайтесь... |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
Посмотрел. Таких функций в стандартной библиотеке нет. Или ты ничем, кроме BC++ 3.1 не пользовался? movedata - а это вообще интересная функция. Первый параметр у нее сегмент, второй смещение. Я уже ржу. Мы общаемся с человеком, который, видимо, только под DOS пишет. Гугл нашел упоминание этой функции только в контексте djgpp. ГДЕ ТЫ ВИДЕЛ В СТАНДАРТНОЙ библиотеке Си (это такая библиотека, которая описана в стандарте "Язык программирования С", а не в документации к конкретному компилятору) какие либо упоминания прерываний и сегментов? Неужели, в защищенном режиме x86 есть сегменты? Неужели у ARM есть сегменты? Ах. да... DOS работает только x86 да и в реальном режиме... Тогда разговор у нас ни о чем. Это сообщение отредактировал(а) bsa - 29.7.2010, 15:54 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
модераторы, почистите тему, пожалуйста.
подобные дискуссии, попадают под категорию флуд, троллинг. а для них есть "курилка, песочница, флейм". даже, где-то, "религиозные войны" Добавлено через 55 секунд
|
|||
|
||||
| HellStranger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Очень плохо смотрел, во-первых, во-вторых, это ещё раз доказывает, что сложные задачи обошли тебя стороной. О переходе в реальный режим не слышал?.. О переходе на 0-е кольцо защиты тоже?.. В самой архитектуре IA32/IA64 есть сегменты, есть страницы и ещё много всяких страшных слов! Есть дескрипторный таблицы, в которые средствами asm+C+WinAPI можно лазить своими грязными руками и творить с системой всё, что угодно. Каждый компилятор реализует стандартную библиотеку по своему. И одними функциями ввода/вывода и обработки символов системные задачи не решаются! Если не имеешь представления о низком уровне, то и не лезь, куда тебя не просят. Это сообщение отредактировал(а) HellStranger - 29.7.2010, 16:03 |
|||
|
||||
| bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
Назови номер страницы стандарта, в котором описаны эти функции. Пока что твое заявление голословно. Стандарт можно скачать тут: ISO/IEC 9899:1999 Programming languages - C
начнем с того, что компилятор ничего не реализует. В каждой ОС своя собственная реализация стандартной библиотеки. В некоторых (DOS, например), ее нет, поэтому она поставляется вместе с компилятором. Вот только между "своя реализация" и "свой стандарт" есть разница. Стандартная она на то и стандартная, что под всеми ОС и компиляторами одинаковая. А те примеры, что ты привел, это платформозависимые расширения. К стандарту они отношения не имеют. ты про виртуальный x86? почему не слышал. Просто эту задачу выполняет современная ОС (Windows, в частности) при необходимости. ты случаем не про номер дескриптора, который загружается в сегментные регистры в защищенном режиме? А что по поводу ARM, Cell, MIPS скажешь? Там тоже это есть?
|
||||
|
|||||
| HellStranger |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Бред сивой кобылы! Стандартная библиотека, реализованная в MSVC и стандартная бибилиотека от Borland(Code Gear и т.д. и т.п.) имею совершенно разные дополнения, и реализованы зачастую совершенно по-разному! И производительность у них разная и т.д. и т.п. А ось одна! Под линём таже фишка, производитель компилятора поставляет вместе стандарную библиотеку, реализованную им же! Не позорься такими высказываниями!
А можно и програмно создать эту самую необходимость.
Кроме сегментных регистров есть регистры различных дескрипторных таблиц! IDTR, GDTR, LDTR. IDTR- Interrupt Descriptor Table Register. Думаю, понятно, за что он отвечает. Остальные по аналогии. На микроконтроллерах этого нет. Но речь была не об этом. Могу дать книжку, где описывается такой финт ушами под 95-й виндой. Под XP и 7-ой немного по-другому, но смысл тот же... Менять записи в таблице прерываний, генерить нужное тебе и вызовется твой обработчик... уже на другом кольце защиты, нежели твоё приложение... А теперь сделай это на cpp как говорится со своим stl...
В дополнениях к стандартной библиотеке практически для любого компилятора есть функции генерации прерываний! Что такое стандартная библиотека сама по себе?.. Тот же stl, только проще и щустрее работает. Больших дел с ней не сделаешь... |
||||||||
|
|||||||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: нет Всего: 10 |
я бы забанил HellStranger, пусть читает литературу по матчасти, раз один бред несет
|
|||
|
||||
| bsa |
|
||||||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
А причем тут STL, если это можно сделать только с помощью платформозависимого API (например, DDK, или как он нынче зовется)? STL - это всего лишь набор наиболее часто используемых технологий, для сокращения времени разработки ПО на C++.
|
||||||||||||||
|
|||||||||||||||
| HellStranger |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Вообще-то это было к вопросу о том, что стандартная библиотека поставляется с осью. Каждый производетель компилятора поставляет свою библиотеку, естесвенно сохраняя стандартный интерфейс вызовов.
Я этим хотел сказать только то, что сказал. Если у тебя проблемы с длиной, то это тема не для обсуждения здесь... Я по-моему, написал, что под другой операционкой суть та же, извращения немного другие. Я о драйверах по-моему не говорил. Драйвер сам по себе работает не на прикладном уровне... И драйвер пишется с использованием соответствующего DDK и сред разработки. Системные вызовы и генерация прерываний вообще-то разные вещи...
Да естественно разные. Назначение у них одно. Я в этом смысле. И то, и другое создано, чтобы не изобретать велосипед. Не поверишь, и искал в инете и сам тестировал... В частности строки... Сравнение строк работает на VS2008 в 16-18 раз быстрее, к примеру... Добавлено через 4 минуты и 7 секунд
Где именно бред? Аргументируй, пожалуйста... Мой пост, и доказательство того, что это бред в виде ссылки на доки или статьи. Кричать из-за угла "он дурак" каждый может. Между тем, я в твоей компетенции тоже не совсем уверен... Так что оставь критику при себе. |
||||||||
|
|||||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
HellStranger, Вы можете, подводя итоги, нам сказать, как все таки по Вашему не надо писать код ?
|
|||
|
||||
| bsa |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
На сколько я помню, в защищенном режиме операция int x вызывает исключение общей защиты, передавая управления монитору защищенного режима (ядру). Который уже сам решает, что делать с нахальным процессом, который его потревожил. syscall основан именно на этом. Или я не прав?
Т.е. ты хочешь сказать, что Windows позволяет процессу, исполняемому в пользовательском пространстве, получить доступ к таких важным вещам, как таблицы дескрипторов? Если это так, то ты нашел серьезную брешь в безопасности.
Вот, например, сравнение qsort и std::sort, разница по скорости двукратная, и не в пользу qsort: http://www.tilander.org/aurora/2007/12/com...-and-qsort.html
|
||||||||||
|
|||||||||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 2 Всего: 162 |
Хм, какое активное обсуждение...
HellStranger, ответьте-ка на вопрос про не-x86*-архитектуры
И на этот. Ну и напоследок - в языке Си отсутствует такая существенная вещь при разработке приложений среднего и большого размера, как исключения. А также автоматический вызов деструкторов в конце "жизни" объекта. Эти два пункта значительно сокращают размер кода при правильном подходе. |
|||
|
||||
| HellStranger |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Я вот тоже не понимаю, либо я на китайском пишу... Стандарт он и в африке стандарт, но реализует его каждый по своему! Каждый производитель компилятора наряду с реализацией стандартных функций в свою "стандартную" библиотеку добавляют порядочно совершенно не имеющих к стандарту отношения, но полезных с его (производителя компилятора) точки зрения функий! И всю эту библиотеку производитель компилятора именует стандартной библиотекой C производства Borland, Microsoft, Васи Пупкина и т.д. и т.п.
Знаешь, когда ты вызываешь CreateThread, то вызов через подсистему Win32/64 через модуль удалённого вызова процедур передаются ядру. Иными словами, это системный вызов. Как система будет реагировать на различного рода прерывания, можно настроить самому, зная должным образом архитектуру процессора и системы.
Да что ты говоришь!!!!!!!!!!! Конец всему!!!!! А то, что этой "серьёзной брешью в безопасности" пользуются производители антивирусов и вирусов уже десятки лет для тебя новость?..
Именно string::compare и strcmp. Что в релизе, что в дебаге. И сортировку тоже сравнивал... Массив структур со строками и интами сортировал по инту в разы быстрее, чем sort!
Вообще-то я свои ответы аргументирую. По крайней мере необоснованно ни на кого не киваю. |
||||||||||
|
|||||||||||
| HellStranger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -1 Всего: -1 |
Да... Извини уж, но в языке, где в принципе нет такого понятия как деструктор, трудно предусмотреть его вызов... По поводу исключений... Знаешь, а функции стандартной библиотеки C хорошо документированы. И по результату, возвращённому функцией, ты можешь судить о том, что же произошло. Естественно, если ты передал в strstr первым параметром мусор, а потом кричишь, почему прога свалилась, то C не для тебя... Ну и так, между делом, начиная с Visual C++ 6 поддерживается структурная обработка исключений на уровне компилятора. Почитай Рихтера, может, поможет... Кроме того, разработчикам FFMPEG, SDL, OpenH323, OPAL, PWLIB это не мешало. Последние 3 хоть и C++ проекты, но основная начинка всех классов чисто сишная. Плюс, не забывайте, пожалуйста, что за удобство использовани exception вы платите временем их программной обработки уже во время исполнения. На их обработку дополнительно уходит от нескольких сотен до несколких тысяч тактов процессора. Эти данные взяты из Рихтера "Структурная обработка исключений". Исключения сpp тоже не по мановению волшебной палочки раскручиваются... Если вам нужно удобство разработки, миллионы готовых шаблонов и классов на все случаи жизни, то C# уже создан... Зачем в него превращать старый добрый С?.. По поводу IA32/64 не нужно ёрничать... Я из себя её знатока не строю, так как таковым и не являюсь. Но основополагающие вещи знать нужно! По-моему, не надо писать код как Ctrl+C, Ctrl+V из примеров в MSDN и прочих источников, как любят заядлые критики Windows. Не прочитав полность статью о функции хватают пример из этой же статейки, естественно функция либо рушит приложение, либо просто возвращает лажу; а винда потом кривая! Это сообщение отредактировал(а) HellStranger - 29.7.2010, 22:13 |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
ребята, создавайте тему в религиозных войнах или флейме и дискутируйте дальше там
HellStranger я вам настоятельно советую успокоится, собрать все мысли, выстроить их в логическую цепочку и без перехода на личности объяснить нам, что вы хотите сказать тема временно закрыта на сутки, остыньте ;) -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| mes |
|
||||||||||||||||||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
если она называется стандартная библиотека васи пупкина, то это совершенно не значит что она стандартна. стандартна, только та ее часть , что соответсвует стандарту (в данном случае стандарту языку, а не стандарту расширения стандарта языка васи пупкина).
как много умных слов, только что тут по теме ?!
но свою позицию, о которой Вас спрашивал не один участник, вы так и не выразили.. Ведь одно дело как Вы ее на самом деле представляете, и совсем другое , какое мнение о ней сложилось у форумчан по отрывкам Ваших фраз.. Но Вас помойму устраивает отсутсвие точек над ё, так как можно продолжать дальше стоить из себя глубоководного спеца, плавая лишь на поверхности.
речь не о том что там есть или нет, а о том что подобное отсутствие имеет свои преимущества и/иль недостатки..
Советую вначале ознакомиться в чем разница между кодами возврата и исключениями..
ну ну.. Вы действительно считаете , что кто то из программистов (не новичков) назовет это проблемой, а не кривыми руками ?
опять как это относится к теме ? или это призыв, хватит писать на С++, возвращайтесь на Си ?!
во время исключения. но так ли важны эти такты в исключительной ситуации ? а то что шарп только под винду (моно не в счет) это уже никого не волнует ?! С как раз и не тронут.. С++ отдельная ветвь, не принуждающая отказываться от С. и кстати не единственная..
это тоже аргументировано ?
ну с этим то никто спорит, но как это опять связано с остальными размышлениями ? |
||||||||||||||||||||
|
|||||||||||||||||||||
| k0rvin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
это не имеет влияния на инкапсуляцию -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
|||
|
||||
| Любитель |
|
||||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Спасибо, поржал. А вообще - ребят, хватит кормить троля. Это смешно, конечно, но.. совсем не ново и потому скучновато..
|
||||
|
|||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Религиозные войны | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |