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