Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ООП, стандарт и прочие крики души, выделено из "Как не надо писать код" 
:(
    Опции темы
HellStranger
Дата 29.7.2010, 12:41 (ссылка)    | (голосов:8) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(chipset @ 18.3.2006,  07:09)
С чем я встречался:
9. Переопределение оператора new/delete -- руки отрывать.
10. switch на 10 вариантов.
11. Функции принимающие 10 (да-да, 10) параметров.
Цитата(Ignat @  17.3.2006,  20:52 Найти цитируемый пост)
Блин, по скромной оценке кода больше тысячи строк... Как дальше с этим работать просто загадка тысячелетия. Но если назвался груздем...

Если там всего 1000 строк лучше переписать к чертям собачьим, такое и рефакторить низзя.

Ну естественно, ведь в Microsoft одни дибилы-дегенераты работают... Они ведь написали CreateProcess, принимающий больше 10 параметров...  А, если залезть в реализацию ntdll.dll так это просто умо не постижимо!!!!! Такой ###код, просто блевать хочется... Какой ООП к чертям, читсый C... Везде полно calloc/malloc, правда их кол-во совпадает с количеством free, но настоящему джигиту сипипишнику эт не важно, всё-равно new нужен, и чихать, что он через malloc на подавляющем числе компиляторов реализован... Да ладно, винда ведь сакс, эт мы давно слышали... правда так и не видели доказательств... Хрен с ним. Возьмём кроссовый Open Source FFMPEG. ПИЛЯЯААААТЬ!!!!!!!!! Там классов нету!!!!!!!! Там STL нет!!!!!!! Чистейшей воды C! Говно проект!!!!!!!!!! Выкинуть в топку!!!!!! И не важно, что это единственный проект, который реально можно юзать в приложениях обработки видео, и работать будет ещё куда шустрее, чем различные проприетарные чудеса...
Парень! С++ ###! Единственное, что в нём хорошего, это подмножество, называемое... я думаю, знаешь как... smile Просто надо уметь писать и знать особенности платформы, под которой пишешь! Озренительные проекты пишутся на C без единого упоминания убогого слова class и ещё более убогого std. 
PM MAIL   Вверх
djamshud
Дата 29.7.2010, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 1
Всего: 39



Сколько эмоций, ржунимагу.

>Парень! С++ ###! Единственное, что в нём хорошего, это подмножество, называемое... я думаю, знаешь как...

C, что ли? Так это не подмножество С++.

>Озренительные проекты пишутся на C без единого упоминания убогого слова class и ещё более убогого std.

В большинстве "охренительных" проектов реализуется костыльная, меденная и до чертиков неудобная реализация ОО модели.

Школьник? Я угадал? Или уже абитуриент?


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
boostcoder
Дата 29.7.2010, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



Цитата(djamshud @  29.7.2010,  12:56 Найти цитируемый пост)
Школьник? Я угадал? Или уже абитуриент? 

промолчу ка я...
PM WWW   Вверх
HellStranger
Дата 29.7.2010, 13:05 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(djamshud @ 29.7.2010,  12:56)
Сколько эмоций, ржунимагу.

>Парень! С++ ###! Единственное, что в нём хорошего, это подмножество, называемое... я думаю, знаешь как...

C, что ли? Так это не подмножество С++.

>Озренительные проекты пишутся на C без единого упоминания убогого слова class и ещё более убогого std.

В большинстве "охренительных" проектов реализуется костыльная, меденная и до чертиков неудобная реализация ОО модели.

Школьник? Я угадал? Или уже абитуриент?

Покажи в FFMPEG убогую концепцию ООП. Покажи её в SDL... Страуструпа почитай, потом утверждай, что C- не подмножество C++. Хотя, что для такого мегамозга слова создателя языка, он же лучше знает. smile)))))))) Судя по всему, мальчик, ты ещё и в школе толком не учился... Саттера с Александреску начитался, а свою думалку не применяешь... Ты почитай внимательно про выделители памяти у Саттера... Человек явно не понимает, что он делает, а умницы-студенты его читают, учатся у него... )))))))
PM MAIL   Вверх
bsa
Дата 29.7.2010, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 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 значительно сложней, так как до простого и самому догадаться несложно.

Короче, большое количество параметров у функций от небольшого количества ума (опыта). Заруби себе на носу.
PM   Вверх
djamshud
Дата 29.7.2010, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 1
Всего: 39



>Покажи в FFMPEG убогую концепцию ООП. Покажи её в SDL...

Я не сказал, что оно есть везде. Оно есть во всем gtk-софте (это просто п-ц), оно есть в ядре линупса (впрочем там, то что я видел, было вполне адекватным) и еще в нескольких опенсорсных поделках, что мне приходилось расковыривать.

>утверждай, что C- не подмножество C++

Вот пример сишного, но не плюсового кода:
Код

int *ptr=malloc(4096);

Ботай теорию множеств и попробуй после этого доказать, что c - подмножество с++. В реальности С++ просто совместим с Си (апи, бинарно и синтаксически).

>Саттера с Александреску начитался, а свою думалку не применяешь... Ты почитай внимательно про выделители памяти у Саттера... Человек явно не понимает, что он делает, а умницы-студенты его читают, учатся у него... )))))))

Кто все эти люди? /*сарказм*/ (я использую плюсы весьма своеобразно, так что на этих авторов лично мне плевать).

Добавлено через 1 минуту и 31 секунду
>в Microsoft одни дибилы-дегенераты работают... Они ведь написали CreateProcess, принимающий больше 10 параметров...

Дык, что есть, то есть.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
HellStranger
Дата 29.7.2010, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(UnrealMan @ 30.3.2006,  14:26)
Цитата(Ignat @ 18.3.2006, 06:52)
2. Догадайтесь как обстоят дела с выделением памяти? Именно, незабвенный malloc.

А чем собс-но плох malloc? В случае, когда используются нетривиальные объекты (с конструктором, деструктором), и требуется перевыделение памяти с сохранением данных (realloc), использование new и delete – явно не самое удачное решение.

Ну как же, malloc/calloc/realloc не C++ style... Не для настоящих джигитов, которые обычный буфер для хранения видеокадра не могут в класс не запихнуть... )))))))))
PM MAIL   Вверх
bsa
Дата 29.7.2010, 13:21 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: нет
Всего: 196



Цитата(HellStranger @  29.7.2010,  14:05 Найти цитируемый пост)
Покажи её в SDL...

Ты видимо даже не знаешь, что такое ООП и чем оно от классов отличается. SDL это типичный пример реализации ООП на Си. Ты создаешь объект SDL_Surface и получаешь на него указатель (почти нет отличий от ptr = new SDL_Surface(...)), дальше ты применяешь к нему методы, вот только запись отличается, вместо ptr->method(...) писать надо SDL_method(ptr,...), что не сильно отличается от С++, так как генерируемый в обоих случаях код выглядит идентично.
Запомни, написать более или менее сложный проект без использования ООП в той или иной степени практически нереально. Тот же Windows использует этот подход, обрати внимание на CreateFile, функции работы с графическим контекстом и пр. Все тоже самое: создаешь (получаешь) объект, работаешь с ним, используя подходящие методы, освобождаешь объект.
PM   Вверх
Abyx
Дата 29.7.2010, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: нет
Всего: 10



Цитата(HellStranger @  29.7.2010,  14:05 Найти цитируемый пост)
Покажи в FFMPEG убогую концепцию ООП. 

открываем первый попавшийся файл
http://git.ffmpeg.org/?p=ffmpeg;a=blob;f=l...e638c66;hb=HEAD
и видим:
Код

//фабрика
AVFilter *avfilter_get_by_name(const char *name);

//какой-то метод
int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque);

//деструктор
void avfilter_destroy(AVFilterContext *filter);



алсо да, в Си дзена нет. А вот в С++ дзен есть, и его там немало.

Это сообщение отредактировал(а) Abyx - 29.7.2010, 13:26
PM MAIL   Вверх
djamshud
Дата 29.7.2010, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 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
PM   Вверх
HellStranger
Дата 29.7.2010, 13:27 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(djamshud @ 29.7.2010,  13:14)
>Покажи в FFMPEG убогую концепцию ООП. Покажи её в SDL...

Я не сказал, что оно есть везде. Оно есть во всем gtk-софте (это просто п-ц), оно есть в ядре линупса (впрочем там, то что я видел, было вполне адекватным) и еще в нескольких опенсорсных поделках, что мне приходилось расковыривать.

>утверждай, что C- не подмножество C++

Вот пример сишного, но не плюсового кода:
Код

int *ptr=malloc(4096);

Ботай теорию множеств и попробуй после этого доказать, что c - подмножество с++. В реальности С++ просто совместим с Си (апи, бинарно и синтаксически).

>Саттера с Александреску начитался, а свою думалку не применяешь... Ты почитай внимательно про выделители памяти у Саттера... Человек явно не понимает, что он делает, а умницы-студенты его читают, учатся у него... )))))))

Кто все эти люди? /*сарказм*/ (я использую плюсы весьма своеобразно, так что на этих авторов лично мне плевать).

Добавлено @ 13:16
>в Microsoft одни дибилы-дегенераты работают... Они ведь написали CreateProcess, принимающий больше 10 параметров...

Дык, что есть, то есть.

> Вот пример сишного, но не плюсового кода:
Код

int *ptr=malloc(4096);

Ботай теорию множеств и попробуй после этого доказать, что c - подмножество с++. В реальности С++ просто совместим с Си (апи, бинарно и синтаксически).

Понятно, когда кончаются аргументы, переходим на философские темы... smile))))))))))) Мне казалось я ясно выразился по поводу подмножества... Если ты полез в определение множеств, то давай цитатами из Кантора начнём друг в друга кидаться... 

>(я использую плюсы весьма своеобразно, так что на этих авторов лично мне плевать).
Через попу в смысле?.. Ну-ну, нестандартный подход- это тру. smile)))))))

>Дык, что есть, то есть.

Ясно, одного не пойму, почему эти дебилы даже в области IPTV на лидирующих позициях, а про умных линуксоидов вообще не слышно... Скажите спасибо, что для вас FFMPEG налабали, а то до сих пор без видео бы сидели, консольные ребята... smile

Ох и смешной товарищ... )
PM MAIL   Вверх
Abyx
Дата 29.7.2010, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: нет
Всего: 10



djamshud, люди на масме32 код дизассеблируют и граф строят, потом этот граф обрабатывают и пишут обратно,
а вы говорите на Си со сложными структурами данных работать сложно. Нормально там с ними работать. Только в 95% случаях этого не надо. И С++ обычно не надо.

Добавлено через 1 минуту и 1 секунду
а вообще тролль какой-то глупый и толстый попался %) неинтересно =\
PM MAIL   Вверх
HellStranger
Дата 29.7.2010, 13:33 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(djamshud @ 29.7.2010,  13:25)
Ох, красавчег, ты видел что-нибудь сложнее буфера видеокадра? Разветвленые структуры данных например? Если видел, то расскажи, как ты без крупных затрахов будешь с ними работать средствами одного си. Или настоящие джиги^Wиндусы отностят структуры данных к прихотям современных идиотов плюсофилов и сами пользуются обычными переменными и тучей функций с десятью параметрами?

Отправляю в дебри FFMPEG. Посмотри на структуры данных AVCodecContext, например, AVStream и т.д. А потом выёпывайся... К твоему сведению, B- и try- деревья в C c лёгкостью стоятся и обрабатываются, ну а про то, что работает вся эта красота намного быстрее ++, я и говорить не буду. smile)))

Добавлено через 2 минуты и 26 секунд
Цитата(Abyx @ 29.7.2010,  13:29)
djamshud, люди на масме32 код дизассеблируют и граф строят, потом этот граф обрабатывают и пишут обратно,
а вы говорите на Си со сложными структурами данных работать сложно. Нормально там с ними работать. Только в 95% случаях этого не надо. И С++ обычно не надо.

Добавлено @ 13:30
а вообще тролль какой-то глупый и толстый попался %) неинтересно =\

А мы уже пришли к выводу, что эти люди дебилы... Так что вы не в тему с графами на Microsoft asm... smile))))))))))
Дайте вы линуксоиду покуражиться, отдохнуть от консоли... smile))))))))
PM MAIL   Вверх
djamshud
Дата 29.7.2010, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 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
PM   Вверх
HellStranger
Дата 29.7.2010, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(bsa @ 29.7.2010,  13:21)
Цитата(HellStranger @  29.7.2010,  14:05 Найти цитируемый пост)
Покажи её в SDL...

Ты видимо даже не знаешь, что такое ООП и чем оно от классов отличается. SDL это типичный пример реализации ООП на Си. Ты создаешь объект SDL_Surface и получаешь на него указатель (почти нет отличий от ptr = new SDL_Surface(...)), дальше ты применяешь к нему методы, вот только запись отличается, вместо ptr->method(...) писать надо SDL_method(ptr,...), что не сильно отличается от С++, так как генерируемый в обоих случаях код выглядит идентично.
Запомни, написать более или менее сложный проект без использования ООП в той или иной степени практически нереально. Тот же Windows использует этот подход, обрати внимание на CreateFile, функции работы с графическим контекстом и пр. Все тоже самое: создаешь (получаешь) объект, работаешь с ним, используя подходящие методы, освобождаешь объект.

Да по ходу дела, ты не знаешь... Основополагающая концепция ООП инкапсуляция здесь не выполнена к твоему сведению. Данные существуют отдельно, методы их обработки отдельно! Отличие от ptr = new SDL_Surface(...)) принципиальное, выделилась память под структуру, инициализировались поля по умолчанию, всё! С таками подходом char *cString = (char *)calloc(10, 1) можно назвать ООП в действии. Есть указатель на объект cString, вызвали его конструктор calloc, а потом будем методы вызывать strcpy, strcmp и так далее... Процедурное программирование, выходит, в прямом смысле является ООП. Есть данные, есть функции для их обработки... Достаточно! На хрен инкапсуляци, нахрен наследование, туда же полиморфизм...
PM MAIL   Вверх
djamshud
Дата 29.7.2010, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 1
Всего: 39



>Основополагающая концепция ООП инкапсуляция здесь не выполнена к твоему сведению.

Детка, я не просто так призывал тебя ботать теорию. Иди учись. Это одна из как минум трех основополагающих концепций.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
HellStranger
Дата 29.7.2010, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



djamshud. По поводу ООП в SDL и FFMPEG я уже ответил. 

С процессом размышления у тебя, очевидно, проблемы... Ко всему подходить с позиции буквоедства- не наш метод, а продвинутых линуксоидов... smile Так что лужа у тебя ещё более глубокая и вонючая. smile

Деточка, для систем IPTV тоже сервера нужны! И сдаётся мне в решениях Microsoft линукс не фигурирует... smile Так что одевайся. smile

По поводу плееров, детка! Ты и вправду мал ещё и глуп... Ты не в курсе, что плееру декодер нужен?.. Прикинь, нужен... И плееров-то много, только FFMPEG ни хрена не плеер... А вот тот же VLC и иже с ним что для декодирования используют?... Так что у тебя уже не лужа, а яма помойная... 
PM MAIL   Вверх
Abyx
Дата 29.7.2010, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: нет
Всего: 10



Цитата(djamshud @  29.7.2010,  14:41 Найти цитируемый пост)
А почему умные линуксоиды на лидирующих ролях в области серверного ПО

сие миф есть

PM MAIL   Вверх
bsa
Дата 29.7.2010, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: нет
Всего: 196



Цитата(HellStranger @  29.7.2010,  14:49 Найти цитируемый пост)
Основополагающая концепция ООП инкапсуляция здесь не выполнена к твоему сведению.
Судя по всему, ты в вопросе не особо разбираешься. Подучи теорию и не забывай о практике. Поубавь спесь и добро пожаловать в раздел для Новичков.
PM   Вверх
HellStranger
Дата 29.7.2010, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(bsa @ 29.7.2010,  14:00)
Цитата(HellStranger @  29.7.2010,  14:49 Найти цитируемый пост)
Основополагающая концепция ООП инкапсуляция здесь не выполнена к твоему сведению.
Судя по всему, ты в вопросе не особо разбираешься. Подучи теорию и не забывай о практике. Поубавь спесь и добро пожаловать в раздел для Новичков.

О тебе могу сказать буквально тоже самое, если не больше... Называть SDL объектно ориентированным решением... Дорогого стоит. smile
Тебе бы желательно даже не в раздел для новичков, а книжки для кофейников почитать... Хотя, их ты и читал... Ну тогда Липпмана, Страуса осиль...  А по поводу ООП Гради Буча почитай, потом будем разговаривать... А то слышал звон, да не знаешь, где он...
PM MAIL   Вверх
Earnest
Дата 29.7.2010, 14:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: нет
Всего: 183



Всех уважаемых и не очень участников дискуссии покорнейше прошу снизить накал обсуждения.
HellStranger, у тебя часто попадается не очень прикрытый мат. Во-первых, это, как правило, последний аргумент при недостатке других, а во-вторых меня это просто коробит - не стоит забывать, что форум читают и дамы.
djamshud, "детка" - тоже не очень удачное обращение.
Ну и т.д.
Помните, что теоретически вы все высокообразованные (инженеры!) и интеллигентные люди. И общайтесь соответственно.
А то плюхи начну раздавать. smile  


--------------------
...
PM   Вверх
HellStranger
Дата 29.7.2010, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(bsa @ 29.7.2010,  13:21)
Запомни, написать более или менее сложный проект без использования ООП в той или иной степени практически нереально. Тот же Windows использует этот подход, обрати внимание на CreateFile, функции работы с графическим контекстом и пр. Все тоже самое: создаешь (получаешь) объект, работаешь с ним, используя подходящие методы, освобождаешь объект.

Ключевая фраза, В ТОЙ ИЛИ ИНОЙ СТЕПЕНИ! Только ООП-три составляющих вместе взятых... Я понимаю. что для тебя это новость, но уж смирись... Так вот оно...
PM MAIL   Вверх
bsa
Дата 29.7.2010, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: нет
Всего: 196



Цитата(HellStranger @  29.7.2010,  14:57 Найти цитируемый пост)
Ко всему подходить с позиции буквоедства- не наш метод, а продвинутых линуксоидов...

Да что ты к линуксоидам прицепился? Тебе платят за это?
Не знаю что там у МС с IPTV, но все известные мне IPTV сервера работают именно на Linux.

Цитата(Abyx @  29.7.2010,  14:59 Найти цитируемый пост)
сие миф есть
давай начнем с теории, что такое сервер? Это устройство, которое обслуживает клиентов. В нашем случае, это сетевое устройство, обслуживающее сетевых клиентов. Еще более, устройство, которое предоставляет какие-то услуги пользовательским компьютерам. Под это определение подходит такое уствойство, как роутер. А теперь пытаемся вспомнить, какой тип ОС в них установлен. И сколько их продано. А теперь забываем, что есть связь между МС и сервером, так как количество серверов под этой ОС пренебрежимо мало.
PM   Вверх
djamshud
Дата 29.7.2010, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 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
PM   Вверх
HellStranger
Дата 29.7.2010, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(Earnest @ 29.7.2010,  14:07)
Всех уважаемых и не очень участников дискуссии покорнейше прошу снизить накал обсуждения.
HellStranger, у тебя часто попадается не очень прикрытый мат. Во-первых, это, как правило, последний аргумент при недостатке других, а во-вторых меня это просто коробит - не стоит забывать, что форум читают и дамы.

Уважаемый, за непристойные выражения, прошу прощения.

>>Во-первых, это, как правило, последний аргумент при недостатке других

А вот это очень субъективно... По мне, так это просто сокращает количество необходимой писанины и добавляет нужный эмоциональный окрас посту. Только и всего.
PM MAIL   Вверх
djamshud
Дата 29.7.2010, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 1
Всего: 39




Модератор: Сообщение скрыто.



--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
HellStranger
Дата 29.7.2010, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Earnest
Дата 29.7.2010, 14:21 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: нет
Всего: 183



Цитата(HellStranger @  29.7.2010,  15:12 Найти цитируемый пост)
А вот это очень субъективно...

В смысл дискуссии особо вникать не хочу... ибо по моему она особого смысла и не имеет.  smile 
Но хочется побазарить - валяйте. Только приличия соблюдайте - и я не только мат имею в виду. Не пытайтесь оскорбить и унизить собеседника - это очень некрасиво, нежели мама не говорила? Представьте, что вы все это обсуждается оффлайн за рюмкой чая. Неужели так же выражались бы? Так зачем из форума помойку делать?


--------------------
...
PM   Вверх
Abyx
Дата 29.7.2010, 14:23 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: нет
Всего: 10



Иногда случается чудо, и я признаю что djamshud прав.
PM MAIL   Вверх
HellStranger
Дата 29.7.2010, 14:25 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(bsa @ 29.7.2010,  14:09)
Цитата(HellStranger @  29.7.2010,  14:57 Найти цитируемый пост)
Ко всему подходить с позиции буквоедства- не наш метод, а продвинутых линуксоидов...

Да что ты к линуксоидам прицепился? Тебе платят за это?
Не знаю что там у МС с IPTV, но все известные мне IPTV сервера работают именно на Linux.

Начнём с того, а много ли тебе извесно?.. AT&T крупнейший телекомпания США что юзает?.. Да ладно про зарубежные... Beeline для IPTV что использует?.. Не осведеомлён в теме, не выскакивай, знаток.

Добавлено через 2 минуты и 51 секунду
А как же mplayer, как же xine? Детка, они могут использовать кодеки из ffmpeg, а могут и не использовать.


Крошка, Windows Media Player тоже может без Klight .wmv играть и .asf... Какой-то набор кодеков всегда есть, но вот что ты с ним можешь смотерть... это другой вопрос. Что может прокрутить mplayer без ffmpeg, и что с ним... Разница, по-моему, очевидна для слепого... Для большинства контейнеров он без ffmpeg демультиплексора не найдёт, а ты мне басни рассказываешь...
PM MAIL   Вверх
mes
Дата 29.7.2010, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



HellStranger,чего Вы пытаетесь доказать ?
если есть вопросы, или просто желание высказаться, заведите свою тему в подобающем разделе, а не захламляйте чужие не аргументированными выпадами.



--------------------
PM MAIL WWW   Вверх
HellStranger
Дата 29.7.2010, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



bsa:

Да что ты к линуксоидам прицепился? Тебе платят за это?
Не знаю что там у МС с IPTV, но все известные мне IPTV сервера работают именно на Linux.


Ознакомься 
http://en.wikipedia.org/wiki/Microsoft_Mediaroom
А потом лепи горбатого к стене со своими линуховыми IPTV-серверами.

Добавлено через 3 минуты и 32 секунды
Цитата(mes @ 29.7.2010,  14:30)
HellStranger,чего Вы пытаетесь доказать ?
если есть вопросы, или просто желание высказаться, заведите свою тему в подобающем разделе, а не захламляйте чужие не аргументированными выпадами.

Я всего лишь высказываю своё мнение по данной теме. Аргументов приводил достаточно, просто есть люди "я самый умный, и на остальных чихать хотел", они аргументов не видят или не считают их таковыми. Но это уже не моя вина...
PM MAIL   Вверх
mes
Дата 29.7.2010, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(HellStranger @  29.7.2010,  13:36 Найти цитируемый пост)
Я всего лишь высказываю своё мнение по данной теме. Аргументов приводил достаточно, просто есть люди "я самый умный, и на остальных чихать хотел", они аргументов не видят или не считают их таковыми

прочитав тему, как ни странно, я тоже ничего кроме не связанных выпадов не обнаружил..
может аргументы и были, но все они погрязли под толстым слоем Ваших эмоций.



--------------------
PM MAIL WWW   Вверх
HellStranger
Дата 29.7.2010, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(mes @ 29.7.2010,  14:43)
Цитата(HellStranger @  29.7.2010,  13:36 Найти цитируемый пост)
Я всего лишь высказываю своё мнение по данной теме. Аргументов приводил достаточно, просто есть люди "я самый умный, и на остальных чихать хотел", они аргументов не видят или не считают их таковыми

прочитав тему, как ни странно, я тоже ничего кроме не связанных выпадов не обнаружил..
может аргументы и были, но все они погрязли под толстым слоем Ваших эмоций.

Прочтите пост, например, в котором я объяснял почему в SDL даже не пахнет ООП в полном его смысле. По-моему, аргументов приведено достаточно... 
Как ни странно, но у себя в отделе, C-разработчики прекарсно понимают аргументы друг-друга, но вот с приверженцами stl и boost мы разговариваем на совершенно разных языках. Думаю, вы не видели в моих постах аргументов по той же самой причине. )))))))))
PM MAIL   Вверх
mes
Дата 29.7.2010, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(HellStranger @  29.7.2010,  12:49 Найти цитируемый пост)
Да по ходу дела, ты не знаешь... Основополагающая концепция ООП инкапсуляция здесь не выполнена к твоему сведению. Данные существуют отдельно, методы их обработки отдельно! Отличие от ptr = new SDL_Surface(...)) принципиальное, выделилась память под структуру, инициализировались поля по умолчанию, всё! С таками подходом char *cString = (char *)calloc(10, 1) можно назвать ООП в действии. Есть указатель на объект cString, вызвали его конструктор calloc, а потом будем методы вызывать strcpy, strcmp и так далее... Процедурное программирование, выходит, в прямом смысле является ООП. Есть данные, есть функции для их обработки... Достаточно! На хрен инкапсуляци, нахрен наследование, туда же полиморфизм... 

этот ?

я так понимаю Вы считаете, что на чистом Си возможно только процедурное программирование ?
нет, там тоже можно применять (и применяют ) ООП. проблема в том, что поддержки со стороны компилятора у чистого С немного и поэтому поддержка ложится на плечи программиста..  Если считаете что подобный подход не ООП, то не забывайте, что и  С++  в этом смысле далек от идеала 
smile



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 29.7.2010, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



откуда столько эмоций? читать противно. воздерженца на свободу выпустили..

Цитата(HellStranger @  29.7.2010,  14:36 Найти цитируемый пост)
http://en.wikipedia.org/wiki/Microsoft_Mediaroom

а микрософт, это что?
PM WWW   Вверх
HellStranger
Дата 29.7.2010, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(bsa @ 29.7.2010,  13:13)
HellStranger, если ты не осилил С++, то так и скажи. Нечего тут кричать и изливать желчь.
Си используется в системном программировании, поэтому нет ничего удивительного в том, что ntdll.dll написан на нем.

Ты посмотри стандартную библиотеку Си. Ты в ней не найдешь функций с 10-ю параметрами. 4 - еще может быть. Как ты думаешь, люди придумавшие стандартную библиотеку сильно глупей "ребят" (индусов?) из Microsoft?

В *nix есть две функции: fork() и семейство exec(). первая создает копию текущего процесса, вторая производит запуск указанной программы путем замещения текущего процесса. Таким образом, если тебе нужно запустить программу без закрытия текущей, то нужно сделать fork() и из копии тут же exec. Если нужно замещение - то достаточно только exec. Зачем городить огород с 10-ю параметрам? Какое отношение имеет CreateProcess к потокам?

Удачные проекты, далеко не всегда могут являться примером по написанию кода. Типичный пример - WinAPI. Никто не будет спорить, что Windows очень успешная ОС. Но в то же время, многие признают, что WinAPI спроектирован очень плохо. Другой пример Qt (это уже C++), он тоже популярен, но спроектирован так, что пользоваться им просто и удобно. Чтобы в этом убедиться, достаточно посмотреть количество и сложность вопросов в соответствующих разделах форума. Вопросы по Qt значительно сложней, так как до простого и самому догадаться несложно.

Короче, большое количество параметров у функций от небольшого количества ума (опыта). Заруби себе на носу.

>>Ты посмотри стандартную библиотеку Си. Ты в ней не найдешь функций с 10-ю параметрами. 4 - еще может быть.

Во-первых, посмотри накануне функции генерации системных и програмных прерываний стандартной библиотеки... Обрати внимание на объединения и структуры REGS, SREGS. Посмотри сколько полей в этих структурах... Опеределённо по числу регистров... Но все эти регистры - параметры функций!!! Но здесь понятон, всё логично... В Microsoft для таких же умных как ты! решили не объединять многие логически не связанные параметры в структуры, а передавать их в функции отдельно. Никто не мешал им разбить 10 параметров CreateProcess по нескольким структурам, только вот это противоречило бы здравому смыслу и логике... 

То, что ты совершенно не знаком со стандартной библиотекой С, я и так прекрасно понял, не нужно это лишний раз демонстрировать... Вот тебе на вскидку пример с 5-ю паарметрами movedata. А уж функций с 4 параметрами предостаточно! Чем сложнее действия, тем больше параметров передаётся. Просто "сложные" задачи на C прошли мимо тебя, а строишь из себя аса...

Добавлено через 5 минут и 40 секунд
Цитата(mes @ 29.7.2010,  15:08)
Цитата(HellStranger @  29.7.2010,  12:49 Найти цитируемый пост)
Да по ходу дела, ты не знаешь... Основополагающая концепция ООП инкапсуляция здесь не выполнена к твоему сведению. Данные существуют отдельно, методы их обработки отдельно! Отличие от ptr = new SDL_Surface(...)) принципиальное, выделилась память под структуру, инициализировались поля по умолчанию, всё! С таками подходом char *cString = (char *)calloc(10, 1) можно назвать ООП в действии. Есть указатель на объект cString, вызвали его конструктор calloc, а потом будем методы вызывать strcpy, strcmp и так далее... Процедурное программирование, выходит, в прямом смысле является ООП. Есть данные, есть функции для их обработки... Достаточно! На хрен инкапсуляци, нахрен наследование, туда же полиморфизм... 

этот ?

я так понимаю Вы считаете, что на чистом Си возможно только процедурное программирование ?
нет, там тоже можно применять (и применяют ) ООП. проблема в том, что поддержки со стороны компилятора у чистого С немного и поэтому поддержка ложится на плечи программиста..  Если считаете что подобный подход не ООП, то не забывайте, что и  С++  в этом смысле далек от идеала 
smile

Вы совершенно не о том. Я лишь сказал, что в SDL не применяется ООП! Применяется здравый смысл и логика. На С можо реализовать приложение, полностью соответсвующее принципам ООП. И есть такие примеры. Речь о том, что реально мастшабные проекты с успехом реализуются и без применения концепции ООП как таковой! А отдельно инкапсуляция была известна и широко применялась и до появления первой литературы касательно ООП. Надеюсь, так понятно?..
PM MAIL   Вверх
HellStranger
Дата 29.7.2010, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(boostcoder @ 29.7.2010,  15:16)
откуда столько эмоций? читать противно. воздерженца на свободу выпустили..

Цитата(HellStranger @  29.7.2010,  14:36 Найти цитируемый пост)
http://en.wikipedia.org/wiki/Microsoft_Mediaroom

а микрософт, это что?

Нет, нет, ничего... Эт так, просто буквы незнакомые... smile 
Ты в домике, я понимаю... Microsoft нет, Apple нет, Adobe нет... Есть только boost и linux. Удачи. smile
PM MAIL   Вверх
mes
Дата 29.7.2010, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(HellStranger @  29.7.2010,  14:17 Найти цитируемый пост)
Вы совершенно не о том.


Цитата(HellStranger @  29.7.2010,  14:17 Найти цитируемый пост)
 А отдельно инкапсуляция была известна и широко применялась и до появления первой литературы касательно ООП. Надеюсь, так понятно?

ну так оно и есть. фактически ООП это всего лишь выработанной временем набор хороших решений  процедурного программирования. (с точки зрения императивных языков).
Но не понятно протест насчет чего высказан ? В том что SDL плохая ? или что она хорошая ?


Цитата(HellStranger @  29.7.2010,  14:17 Найти цитируемый пост)
.. Вот тебе на вскидку пример с 5-ю паарметрами movedata. А уж функций с 4 параметрами предостаточно!

ну и о чем это говорит ? о том, что надо пихать в функцию побольше, или о том, что если иначе (по каким то соображением ) нельзя , то можно и 5 парамметров в функцию передать ?



--------------------
PM MAIL WWW   Вверх
HellStranger
Дата 29.7.2010, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(mes @  29.7.2010,  15:37 Найти цитируемый пост)
ну так оно и есть. фактически ООП это всего лишь выработанной временем набор хороших решений  процедурного программирования. (с точки зрения императивных языков).Но не понятно протест насчет чего высказан ? В том что SDL плохая ? или что она хорошая ?


Вы внимательнее читайте тему, тогда поймёте... Протест был высказан по поводу отсутствия ООП в SDL, в то время как мне пыталсиь доказать обратное. SDL - пример замечательной библиотеки, работающей на самых распространнённых осях, и совершенно не использующей ничего, кроме C... Никаких stl, boost и прочих наворотов, превращающих cpp в C#. Осталось ещё исполнительную среду для cpp написать- C## готов.  smile 

Цитата(mes @  29.7.2010,  15:37 Найти цитируемый пост)
ну и о чем это говорит ? о том, что надо пихать в функцию побольше, или о том, что если иначе (по каким то соображением ) нельзя , то можно и 5 парамметров в функцию передать ?


И опять к нашим баранам... Читайте тему внимательнее, а потом высказывайтесь...  
PM MAIL   Вверх
bsa
Дата 29.7.2010, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: нет
Всего: 196



Цитата(HellStranger @  29.7.2010,  16:17 Найти цитируемый пост)
Во-первых, посмотри накануне функции генерации системных и програмных прерываний стандартной библиотеки... Обрати внимание на объединения и структуры REGS, SREGS.

Посмотрел. Таких функций в стандартной библиотеке нет. Или ты ничем, кроме BC++ 3.1 не пользовался?
movedata - а это вообще интересная функция. Первый параметр у нее сегмент, второй смещение. Я уже ржу. Мы общаемся с человеком, который, видимо, только под DOS пишет. Гугл нашел упоминание этой функции только в контексте djgpp.
ГДЕ ТЫ ВИДЕЛ В СТАНДАРТНОЙ библиотеке Си (это такая библиотека, которая описана в стандарте "Язык программирования С", а не в документации к конкретному компилятору) какие либо упоминания прерываний и сегментов? Неужели, в защищенном режиме x86 есть сегменты? Неужели у ARM есть сегменты? Ах. да... DOS работает только x86 да и в реальном режиме... Тогда разговор у нас ни о чем.

Это сообщение отредактировал(а) bsa - 29.7.2010, 15:54
PM   Вверх
boostcoder
Дата 29.7.2010, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



модераторы, почистите тему, пожалуйста.
подобные дискуссии, попадают под категорию флуд, троллинг. а для них есть "курилка, песочница, флейм". даже, где-то, "религиозные войны" smile

Добавлено через 55 секунд
Цитата(bsa @  29.7.2010,  15:53 Найти цитируемый пост)
Посмотрел. Таких функций нет в стандартной библиотеке нет. Или ты ничем, кроме BC++ 3.1 не пользовался?
movedata - а это вообще интересная функция. Первый параметр у нее сегмент, второй смещение. Я уже ржу. Мы общаемся с человеком, который, видимо, только под DOS пишет. Гугл нашел упоминание этой функции только в контексте djgpp.
ГДЕ ТЫ ВИДЕЛ В СТАНДАРТНОЙ библиотеке Си (это такая библиотека, которая описана в стандарте "Язык программирования С", а не в документации к конкретному компилятору) какие либо упоминания прерываний и сегментов? Неужели, в защищенном режиме x86 есть сегменты? Неужели у ARM есть сегменты? Ах. да... DOS работает только x86 да и в реальном режиме... Тогда разговор у нас ни о чем. 

 smile 
PM WWW   Вверх
HellStranger
Дата 29.7.2010, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(bsa @  29.7.2010,  15:53 Найти цитируемый пост)
Посмотрел. Таких функций нет в стандартной библиотеке нет. Или ты ничем, кроме BC++ 3.1 не пользовался?movedata - а это вообще интересная функция. Первый параметр у нее сегмент, второй смещение. Я уже ржу. Мы общаемся с человеком, который, видимо, только под DOS пишет. Гугл нашел упоминание этой функции только в контексте djgpp.ГДЕ ТЫ ВИДЕЛ В СТАНДАРТНОЙ библиотеке Си (это такая библиотека, которая описана в стандарте "Язык программирования С", а не в документации к конкретному компилятору) какие либо упоминания прерываний и сегментов? Неужели, в защищенном режиме x86 есть сегменты? Неужели у ARM есть сегменты? Ах. да... DOS работает только x86 да и в реальном режиме... Тогда разговор у нас ни о чем.


Очень плохо смотрел, во-первых, во-вторых,  
Цитата(bsa @  29.7.2010,  15:53 Найти цитируемый пост)
Неужели, в защищенном режиме x86 есть сегменты?

это ещё раз доказывает, что сложные задачи обошли тебя стороной. О переходе в реальный режим не слышал?.. О переходе на 0-е кольцо защиты тоже?.. В самой архитектуре IA32/IA64 есть сегменты, есть страницы и ещё много всяких страшных слов! Есть дескрипторный таблицы, в которые средствами asm+C+WinAPI можно лазить своими грязными руками и творить с системой всё, что угодно. 
Каждый компилятор реализует стандартную библиотеку по своему. И одними функциями ввода/вывода и обработки символов системные задачи не решаются! Если не имеешь представления о низком уровне, то и не лезь, куда тебя не просят.

Это сообщение отредактировал(а) HellStranger - 29.7.2010, 16:03
PM MAIL   Вверх
bsa
Дата 29.7.2010, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: нет
Всего: 196



Цитата(HellStranger @  29.7.2010,  17:01 Найти цитируемый пост)
Очень плохо смотрел, во-первых,

Назови номер страницы стандарта, в котором описаны эти функции. Пока что твое заявление голословно. Стандарт можно скачать тут: ISO/IEC 9899:1999 Programming languages - C

Цитата(HellStranger @  29.7.2010,  17:01 Найти цитируемый пост)
Каждый компилятор реализует стандартную библиотеку по своему.

начнем с того, что компилятор ничего не реализует. В каждой ОС своя собственная реализация стандартной библиотеки. В некоторых (DOS, например), ее нет, поэтому она поставляется вместе с компилятором. Вот только между "своя реализация" и "свой стандарт" есть разница. Стандартная она на то и стандартная, что под всеми ОС и компиляторами одинаковая. А те примеры, что ты привел, это платформозависимые расширения. К стандарту они отношения не имеют.

Цитата(HellStranger @  29.7.2010,  17:01 Найти цитируемый пост)
О переходе в реальный режим не слышал?

ты про виртуальный x86? почему не слышал. Просто эту задачу выполняет современная ОС (Windows, в частности) при необходимости.
Цитата(HellStranger @  29.7.2010,  17:01 Найти цитируемый пост)
В самой архитектуре IA32/IA64 есть сегменты
ты случаем не про номер дескриптора, который загружается в сегментные регистры в защищенном режиме? А что по поводу ARM, Cell, MIPS скажешь? Там тоже это есть?

Цитата(HellStranger @  29.7.2010,  17:01 Найти цитируемый пост)
Есть дескрипторный таблицы, в которые средствами asm+C+WinAPI можно лазить своими грязными руками и творить с системой всё, что угодно.
Неужели Windows это позволяет делать вне нулевого кольца?  smile 

PM   Вверх
HellStranger
Дата 29.7.2010, 17:46 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(bsa @  29.7.2010,  16:55 Найти цитируемый пост)
В каждой ОС своя собственная реализация стандартной библиотеки. В некоторых (DOS, например), ее нет, поэтому она поставляется вместе с компилятором. Вот только между "своя реализация" и "свой стандарт" есть разница. 


Бред сивой кобылы! Стандартная библиотека, реализованная в MSVC и стандартная бибилиотека от Borland(Code Gear и т.д. и т.п.) имею совершенно разные дополнения, и реализованы зачастую совершенно по-разному! И производительность у них разная и т.д. и т.п. А ось одна! Под линём таже фишка, производитель компилятора поставляет вместе стандарную библиотеку, реализованную им же! Не позорься такими высказываниями! 

Цитата(bsa @  29.7.2010,  16:55 Найти цитируемый пост)
ты про виртуальный x86? почему не слышал. Просто эту задачу выполняет современная ОС (Windows, в частности) при необходимости.


А можно и програмно создать эту самую необходимость. 
Цитата(bsa @  29.7.2010,  16:55 Найти цитируемый пост)
ты случаем не про номер дескриптора, который загружается в сегментные регистры в защищенном режиме? А что по поводу ARM, Cell, MIPS скажешь? Там тоже это есть?


Кроме сегментных регистров есть регистры различных дескрипторных таблиц! IDTR, GDTR, LDTR. IDTR- Interrupt Descriptor Table Register. Думаю, понятно, за что он отвечает. Остальные по аналогии. На микроконтроллерах этого нет. Но речь была не об этом.

Цитата(bsa @  29.7.2010,  16:55 Найти цитируемый пост)
Неужели Windows это позволяет делать вне нулевого кольца?   


Могу дать книжку, где описывается такой финт ушами под 95-й виндой. Под XP и 7-ой немного по-другому, но смысл тот же... Менять записи в таблице прерываний, генерить нужное тебе и вызовется твой обработчик... уже на другом кольце защиты, нежели твоё приложение... А теперь сделай это на cpp как говорится со своим stl... smile))))))))))))

Цитата(bsa @  29.7.2010,  16:55 Найти цитируемый пост)
Назови номер страницы стандарта, в котором описаны эти функции. Пока что твое заявление голословно. Стандарт можно скачать тут: ISO/IEC 9899:1999 Programming languages - C


В дополнениях к стандартной библиотеке практически для любого компилятора есть функции генерации прерываний! Что такое стандартная библиотека сама по себе?.. Тот же stl, только проще и щустрее работает. Больших дел с ней не сделаешь...

PM MAIL   Вверх
Abyx
Дата 29.7.2010, 18:03 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: нет
Всего: 10



я бы забанил HellStranger, пусть читает литературу по матчасти, раз один бред несет
PM MAIL   Вверх
bsa
Дата 29.7.2010, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: нет
Всего: 196



Цитата(HellStranger @  29.7.2010,  18:46 Найти цитируемый пост)
Стандартная библиотека, реализованная в MSVC и стандартная бибилиотека от Borland(Code Gear и т.д. и т.п.) имею совершенно разные дополнения, и реализованы зачастую совершенно по-разному! И производительность у них разная и т.д. и т.п. А ось одна!
ты продолжаешь подменять понятия "стандарт" и "реализация". Не важно что внутри у библиотеки, важно, чтобы она предоставляла тот набор функций, типов и макросов, что описаны в стандарте. ВСЕ! Как ты этого добьешься - не важно, и кроме тебя это никого не будет волновать.
Цитата(HellStranger @  29.7.2010,  18:46 Найти цитируемый пост)
Под линём таже фишка, производитель компилятора поставляет вместе стандарную библиотеку, реализованную им же!
Я знаю 3 компилятора, которые можно использовать под "линем". Это gcc, icc и clang. Про последний ничего сказать не могу, а вот первые два используют стандартную библиотеку С системы (будь она glibc, uclibc или какая другая - не важно). А вот компиляторы С++ поставляются и правда со своей библиотекой. Только эта библиотека нужна для работы только специфических для С++ вещей, вроде new/delete/throw/catch/typeid и STL.
Цитата(HellStranger @  29.7.2010,  18:46 Найти цитируемый пост)
Кроме сегментных регистров есть регистры различных дескрипторных таблиц! IDTR, GDTR, LDTR. IDTR- Interrupt Descriptor Table Register.
И что ты этим сказать хотел? Ты таким образом пытаешься выяснить у кого длинней?
Цитата(HellStranger @  29.7.2010,  18:46 Найти цитируемый пост)
Могу дать книжку, где описывается такой финт ушами под 95-й виндой.
Эта книжка очень актуальна нынче - в 2010 году.
Цитата(HellStranger @  29.7.2010,  18:46 Найти цитируемый пост)
Под XP и 7-ой немного по-другому, но смысл тот же... Менять записи в таблице прерываний, генерить нужное тебе и вызовется твой обработчик... уже на другом кольце защиты, нежели твоё приложение...
Драйвер случаем писать не надо?

Цитата(HellStranger @  29.7.2010,  18:46 Найти цитируемый пост)
А теперь сделай это на cpp как говорится со своим stl...
А причем тут STL, если это можно сделать только с помощью платформозависимого API (например, DDK, или как он нынче зовется)? STL - это всего лишь набор наиболее часто используемых технологий, для сокращения времени разработки ПО на C++.

Цитата(HellStranger @  29.7.2010,  18:46 Найти цитируемый пост)
В дополнениях к стандартной библиотеке практически для любого компилятора есть функции генерации прерываний!
Это ты так syscall называешь?
Цитата(HellStranger @  29.7.2010,  18:46 Найти цитируемый пост)
Что такое стандартная библиотека сама по себе?.. Тот же stl, только проще и щустрее работает. Больших дел с ней не сделаешь...
Не путай, это разные вещи. Кстати, некоторые STL-ские вещи работают быстрей аналогов в libc. Поищи в инете тестирования.

PM   Вверх
HellStranger
Дата 29.7.2010, 18:26 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(bsa @  29.7.2010,  18:06 Найти цитируемый пост)
ты продолжаешь подменять понятия "стандарт" и "реализация". Не важно что внутри у библиотеки, важно, чтобы она предоставляла тот набор функций, типов и макросов, что описаны в стандарте. ВСЕ! Как ты этого добьешься - не важно, и кроме тебя это никого не будет волновать.


Вообще-то это было к вопросу о том, что стандартная библиотека поставляется с осью. Каждый производетель компилятора поставляет свою библиотеку, естесвенно сохраняя стандартный интерфейс вызовов.

Цитата(bsa @  29.7.2010,  18:06 Найти цитируемый пост)
И что ты этим сказать хотел? Ты таким образом пытаешься выяснить у кого длинней?


Я этим хотел сказать только то, что сказал. Если у тебя проблемы с длиной, то это тема не для обсуждения здесь... 

Цитата(bsa @  29.7.2010,  18:06 Найти цитируемый пост)
Эта книжка очень актуальна нынче - в 2010 году.


Я по-моему, написал, что под другой операционкой суть та же, извращения немного другие.

Цитата(bsa @  29.7.2010,  18:06 Найти цитируемый пост)
Драйвер случаем писать не надо?


Я о драйверах по-моему не говорил. Драйвер сам по себе работает не на прикладном уровне... И драйвер пишется с использованием соответствующего DDK и сред разработки. 

Цитата(bsa @  29.7.2010,  18:06 Найти цитируемый пост)
Это ты так syscall называешь?


Системные вызовы и генерация прерываний вообще-то разные вещи...

Цитата(bsa @  29.7.2010,  18:06 Найти цитируемый пост)
Не путай, это разные вещи. Кстати, некоторые STL-ские вещи работают быстрей аналогов в libc. Поищи в инете тестирования.


Да естественно разные. Назначение у них одно. Я в этом смысле. И то, и другое создано, чтобы не изобретать велосипед. Не поверишь, и искал в инете и сам тестировал... В частности строки... Сравнение строк работает на VS2008 в 16-18 раз быстрее, к примеру...

Добавлено через 4 минуты и 7 секунд
Цитата(Abyx @ 29.7.2010,  18:03)
я бы забанил HellStranger, пусть читает литературу по матчасти, раз один бред несет

Где именно бред? Аргументируй, пожалуйста... Мой пост, и доказательство того, что это бред в виде ссылки на доки или статьи. Кричать из-за угла "он дурак" каждый может. Между тем, я в твоей компетенции тоже не совсем уверен... Так что оставь критику при себе.
PM MAIL   Вверх
mes
Дата 29.7.2010, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



HellStranger, Вы можете, подводя итоги, нам сказать, как все таки по Вашему не надо писать код ?




--------------------
PM MAIL WWW   Вверх
bsa
Дата 29.7.2010, 20:04 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: нет
Всего: 196



Цитата(HellStranger @  29.7.2010,  19:26 Найти цитируемый пост)
Вообще-то это было к вопросу о том, что стандартная библиотека поставляется с осью. Каждый производетель компилятора поставляет свою библиотеку, естесвенно сохраняя стандартный интерфейс вызовов.
Я вот поражаюсь. Как можно продолжать гнуть свою линию, не пытаясь вникнуть в то, что говорит собеседник. Я еще раз повторяю, что СТАНДАРТНАЯ БИБЛИОТЕКА СИ К КОМПИЛЯТОРУ ОТНОШЕНИЯ НЕ ИМЕЕТ. Примеры: под Windows используется в качестве стандартной библиотеки С используется msvcrt.dll (а так же его новые версии с двузначным номером - msvcrt40.dll), которая используется и компилятором VS 6.0 и mingw, под Linux есть библиотеки glibc, uclibc, dietlibc и пр. Компилятор, будь то icc или gcc линкует программы к той библиотеке, которая указана в настройках. В macos x, если не ошибаюсь, тоже используется gcc, но библиотека там своя - ее Apple сделала, а не GNU Software foundation. Список можно продолжать и дальше.
Цитата(HellStranger @  29.7.2010,  19:26 Найти цитируемый пост)
Системные вызовы и генерация прерываний вообще-то разные вещи...

На сколько я помню, в защищенном режиме операция int x вызывает исключение общей защиты, передавая управления монитору защищенного режима (ядру). Который уже сам решает, что делать с нахальным процессом, который его потревожил. syscall основан именно на этом. Или я не прав?
Цитата(HellStranger @  29.7.2010,  19:26 Найти цитируемый пост)
Я о драйверах по-моему не говорил. Драйвер сам по себе работает не на прикладном уровне...

Т.е. ты хочешь сказать, что Windows позволяет процессу, исполняемому в пользовательском пространстве, получить доступ к таких важным вещам, как таблицы дескрипторов? Если это так, то ты нашел серьезную брешь в безопасности.
Цитата(HellStranger @  29.7.2010,  19:26 Найти цитируемый пост)
Сравнение строк работает на VS2008 в 16-18 раз быстрее, к примеру...
По сравнению с чем? Если ты сравнивал производительность std::string и strcmp, то сомнительно, чтобы скорость так отличалась. Разве только из-за того, что ты собирал отладочную версию. Попробуй тоже самое в релизе. 
Вот, например, сравнение qsort и std::sort, разница по скорости двукратная, и не в пользу qsort: http://www.tilander.org/aurora/2007/12/com...-and-qsort.html
Цитата(HellStranger @  29.7.2010,  19:26 Найти цитируемый пост)
 Аргументируй, пожалуйста... Мой пост, и доказательство того, что это бред в виде ссылки на доки или статьи. Кричать из-за угла "он дурак" каждый может.
Ты на других не кивай. Пока что только ты вообще никакой аргументации не привел. Только пустые слова и подмена понятий.

PM   Вверх
JackYF
Дата 29.7.2010, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 2
Всего: 162



Хм, какое активное обсуждение...

HellStranger, ответьте-ка  на вопрос про не-x86*-архитектуры smile

Цитата(mes @  29.7.2010,  18:19 Найти цитируемый пост)
HellStranger, Вы можете, подводя итоги, нам сказать, как все таки по Вашему не надо писать код ?

И на этот.

Ну и напоследок - в языке Си отсутствует такая существенная вещь при разработке приложений среднего и большого размера, как исключения. А также автоматический вызов деструкторов в конце "жизни" объекта. Эти два пункта значительно сокращают размер кода при правильном подходе.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
HellStranger
Дата 29.7.2010, 21:36 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(bsa @  29.7.2010,  20:04 Найти цитируемый пост)
Я вот поражаюсь. Как можно продолжать гнуть свою линию, не пытаясь вникнуть в то, что говорит собеседник. Я еще раз повторяю, что СТАНДАРТНАЯ БИБЛИОТЕКА СИ К КОМПИЛЯТОРУ ОТНОШЕНИЯ НЕ ИМЕЕТ. Примеры: под Windows используется в качестве стандартной библиотеки С используется msvcrt.dll (а так же его новые версии с двузначным номером - msvcrt40.dll), которая используется и компилятором VS 6.0 и mingw, под Linux есть библиотеки glibc, uclibc, dietlibc и пр. Компилятор, будь то icc или gcc линкует программы к той библиотеке, которая указана в настройках. В macos x, если не ошибаюсь, тоже используется gcc, но библиотека там своя - ее Apple сделала, а не GNU Software foundation. Список можно продолжать и дальше.


Я вот тоже не понимаю, либо я на китайском пишу... Стандарт он и в африке стандарт, но реализует его каждый по своему! Каждый производитель компилятора наряду с реализацией стандартных функций в свою "стандартную" библиотеку добавляют порядочно совершенно не имеющих к стандарту отношения, но полезных с его (производителя компилятора) точки зрения функий! И всю эту библиотеку производитель компилятора именует стандартной библиотекой C производства Borland, Microsoft, Васи Пупкина и т.д. и т.п.


Цитата(bsa @  29.7.2010,  20:04 Найти цитируемый пост)
На сколько я помню, в защищенном режиме операция int x вызывает исключение общей защиты, передавая управления монитору защищенного режима (ядру). Который уже сам решает, что делать с нахальным процессом, который его потревожил. syscall основан именно на этом. Или я не прав?


Знаешь, когда ты вызываешь CreateThread, то вызов через подсистему Win32/64 через модуль удалённого вызова процедур передаются ядру. Иными словами, это системный вызов. Как система будет реагировать на различного рода прерывания, можно настроить самому, зная должным образом архитектуру процессора и системы. 

Цитата(bsa @  29.7.2010,  20:04 Найти цитируемый пост)
Т.е. ты хочешь сказать, что Windows позволяет процессу, исполняемому в пользовательском пространстве, получить доступ к таких важным вещам, как таблицы дескрипторов? Если это так, то ты нашел серьезную брешь в безопасности.


Да что ты говоришь!!!!!!!!!!! Конец всему!!!!! А то, что этой "серьёзной брешью в безопасности" пользуются производители антивирусов и вирусов уже десятки лет для тебя новость?.. smile Зная аппаратную и программную архитектуру можно обходить любые защиты. В конце концов, если производители операционки могут работать на нулевом уровне, почему прикладной программист не может?.. Нужны только знания.

Цитата(bsa @  29.7.2010,  20:04 Найти цитируемый пост)
По сравнению с чем? Если ты сравнивал производительность std::string и strcmp, то сомнительно, чтобы скорость так отличалась. Разве только из-за того, что ты собирал отладочную версию. Попробуй тоже самое в релизе. 
Вот, например, сравнение qsort и std::sort, разница по скорости двукратная, и не в пользу qsort: http://www.tilander.org/aurora/2007/12/com...-and-qsort.html


Именно string::compare и strcmp. Что в релизе, что в дебаге. И сортировку тоже сравнивал... Массив структур со строками и интами сортировал по инту в разы быстрее, чем sort!

Цитата(bsa @  29.7.2010,  20:04 Найти цитируемый пост)
Ты на других не кивай. Пока что только ты вообще никакой аргументации не привел. Только пустые слова и подмена понятий.


Вообще-то я свои ответы аргументирую. По крайней мере необоснованно ни на кого не киваю.
PM MAIL   Вверх
HellStranger
Дата 29.7.2010, 21:52 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 1.9.2009

Репутация: -1
Всего: -1



Цитата(JackYF @  29.7.2010,  21:32 Найти цитируемый пост)
А также автоматический вызов деструкторов в конце "жизни" объекта.


Да... Извини уж, но в языке, где в принципе нет такого понятия как деструктор, трудно предусмотреть его вызов... smile))))))))))) Так что вопрос не совсем по теме. 

По поводу исключений... Знаешь, а функции стандартной библиотеки C хорошо документированы. И по результату, возвращённому функцией, ты можешь судить о том, что же произошло. Естественно, если ты передал в strstr первым параметром мусор, а потом кричишь, почему прога свалилась, то C не для тебя... Ну и так, между делом, начиная с Visual C++ 6 поддерживается структурная обработка исключений на уровне компилятора. Почитай Рихтера, может, поможет... Кроме того, разработчикам FFMPEG, SDL, OpenH323, OPAL, PWLIB это не мешало. Последние 3 хоть и C++ проекты, но основная начинка всех классов чисто сишная. Плюс, не забывайте, пожалуйста, что за удобство использовани exception вы платите временем их программной обработки уже во время исполнения. На их обработку дополнительно уходит от нескольких сотен до несколких тысяч тактов процессора. Эти данные взяты из Рихтера "Структурная обработка исключений". Исключения сpp тоже не по мановению волшебной палочки раскручиваются... Если вам нужно удобство разработки, миллионы готовых шаблонов и классов на все случаи жизни, то C# уже создан... Зачем в него превращать старый добрый С?..

По поводу IA32/64 не нужно ёрничать... Я из себя её знатока не строю, так как таковым и не являюсь. Но основополагающие вещи знать нужно! 

По-моему, не надо писать код как Ctrl+C, Ctrl+V из примеров в MSDN и прочих источников, как любят заядлые критики Windows. Не прочитав полность статью о функции хватают пример из этой же статейки, естественно функция либо рушит приложение, либо просто возвращает лажу; а винда потом кривая!  smile  Нужно прежде всего понимать, как будет работать твой код, а не что он в итоге сделает. Только и всего!

Это сообщение отредактировал(а) HellStranger - 29.7.2010, 22:13
PM MAIL   Вверх
MAKCim
Дата 29.7.2010, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



ребята, создавайте тему в религиозных войнах или флейме и дискутируйте дальше там

HellStranger
я вам настоятельно советую успокоится, собрать все мысли, выстроить их в логическую цепочку и без перехода на личности объяснить нам, что вы хотите сказать

тема временно закрыта на сутки, остыньте ;)


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
mes
Дата 30.7.2010, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(HellStranger @  29.7.2010,  20:36 Найти цитируемый пост)
И всю эту библиотеку производитель компилятора именует стандартной библиотекой C производства Borland, Microsoft, Васи Пупкина и т.д. и т.п.

если она называется стандартная библиотека васи пупкина, то это совершенно не значит что она стандартна.
стандартна, только та ее часть , что соответсвует стандарту (в данном случае стандарту языку, а не стандарту расширения стандарта языка васи пупкина).

Цитата(HellStranger @  29.7.2010,  20:36 Найти цитируемый пост)
Знаешь, когда ты вызываешь CreateThread, то вызов через подсистему Win32/64 через модуль удалённого вызова процедур передаются ядру. Иными словами, это системный вызов. Как система будет реагировать на различного рода прерывания, можно настроить самому, зная должным образом архитектуру процессора и системы. 

как много умных слов, только что тут по теме ?!

Цитата(HellStranger @  29.7.2010,  20:36 Найти цитируемый пост)
Вообще-то я свои ответы аргументирую. По крайней мере необоснованно ни на кого не киваю. 

но свою позицию, о которой Вас спрашивал не один участник, вы так и не выразили..  Ведь одно дело как Вы ее на самом деле представляете, и совсем другое , какое мнение о ней сложилось у форумчан по отрывкам Ваших фраз.. Но Вас помойму устраивает отсутсвие точек над ё, так как можно продолжать дальше стоить из себя глубоководного спеца, плавая лишь на поверхности.

Цитата(HellStranger @  29.7.2010,  20:52 Найти цитируемый пост)
. Извини уж, но в языке, где в принципе нет такого понятия как деструктор, трудно предусмотреть его вызов..

речь не о том что там есть или нет, а о том что подобное отсутствие имеет свои преимущества и/иль недостатки..

Цитата(HellStranger @  29.7.2010,  20:52 Найти цитируемый пост)
Знаешь, а функции стандартной библиотеки C хорошо документированы. И по результату, возвращённому функцией, ты можешь судить о том,

Советую вначале ознакомиться в чем разница между кодами возврата и исключениями..

Цитата(HellStranger @  29.7.2010,  20:52 Найти цитируемый пост)
Естественно, если ты передал в strstr первым параметром мусор, а потом кричишь, почему прога свалилась, то C не для тебя..

ну ну.. Вы действительно считаете , что кто то из программистов (не новичков) назовет это проблемой, а не кривыми руками ?

Цитата(HellStranger @  29.7.2010,  20:52 Найти цитируемый пост)
Последние 3 хоть и C++ проекты, но основная начинка всех классов чисто сишная. 

опять как это относится к теме ? или это призыв, хватит писать на С++, возвращайтесь на Си ?!

Цитата(HellStranger @  29.7.2010,  20:52 Найти цитируемый пост)
Плюс, не забывайте, пожалуйста, что за удобство использовани exception вы платите временем их программной обработки уже во время исполнения.

во время исключения. но так ли важны эти такты в исключительной ситуации ?

Цитата(HellStranger @  29.7.2010,  20:52 Найти цитируемый пост)
 то C# уже создан... 

а то что шарп только под винду  (моно не в счет) это уже никого не волнует ?!

Цитата(HellStranger @  29.7.2010,  20:52 Найти цитируемый пост)
 Зачем в него превращать старый добрый С?..

С как раз и не тронут.. С++ отдельная ветвь, не принуждающая отказываться от С. и кстати не единственная.. 

Цитата(HellStranger @  29.7.2010,  20:52 Найти цитируемый пост)
По-моему, не надо писать код как Ctrl+C, Ctrl+V из примеров в MSDN и прочих источников, как любят заядлые критики Windows

это тоже аргументировано ?

Цитата(HellStranger @  29.7.2010,  20:52 Найти цитируемый пост)
Нужно прежде всего понимать, как будет работать твой код, а не что он в итоге сделает.

ну с этим то никто спорит, но как это опять связано с остальными размышлениями ?






--------------------
PM MAIL WWW   Вверх
k0rvin
Дата 1.8.2010, 09:47 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(HellStranger @ 29.7.2010,  13:49)
Основополагающая концепция ООП инкапсуляция здесь не выполнена к твоему сведению.

Данные существуют отдельно, методы их обработки отдельно!

это не имеет влияния на инкапсуляцию


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Любитель
Дата 4.8.2010, 02:03 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 5
Всего: 92



Цитата(HellStranger @  29.7.2010,  21:36 Найти цитируемый пост)
В конце концов, если производители операционки могут работать на нулевом уровне, почему прикладной программист не может?.. Нужны только знания.

Спасибо, поржал. А вообще - ребят, хватит кормить троля. Это смешно, конечно, но.. совсем не ново и потому скучновато..

Цитата(Abyx @  29.7.2010,  18:03 Найти цитируемый пост)
я бы забанил HellStranger, пусть читает литературу по матчасти, раз один бред несет 

 smile 


--------------------
PM MAIL ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1895 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.