Показать сообщение отдельно
Старый 26.09.2006, 00:25   #9
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,375
Репутация скрыта [+/-]
Во-первых, пользуйся цитатой! Невозможно понять, где цитата, а где ответ на нее!
Цитата:
Сообщение от Knott Посмотреть сообщение
Чет ты гониш. Я же не сказал что под конкретную модель подстраивается. Эт происходит так:

Win32: я загружаю ехе, тут флаги клр есть.
CLR: это флаги джита
JIT: нашли самого левого. О юзера 32 risc проц есть SSE,SSE2,MMX,3DNOW! итд. Буду оптимизить под нехо.

не спорю - а как насчет расширений? Как об этом узнает прога на С++?
Эти расширения есть почти на каждом современном проце. Что же касается различий - их использование можно зашить в DLL библиотеки, так как они узкоспециализированны. По той же причине не надо оптимизировать C++-программу под все возможные конфигурации - достаточно скомпилить несколько вариантов DLL-библиотек. Для того их и придумывали.

Цитата:
Сообщение от Knott Посмотреть сообщение
Драйверы тут не причем, устройства тоже, и вообще что мешает сделать так что-бы при изменении конфигурации, прога меняла свою нативный образ?
То есть оптимизация идет только под процессор? И не важно, как и чем он забит помимо программы?
Как я уже говорил, такую оптимизацию сделать нереально хотя бы потому, что эта задача почти приравнивается к искуственному интеллекту. Такие ходы, как при оптимизации на C++, ни одна автоматическая система не повторит.
Цитата:
Сообщение от Knott Посмотреть сообщение
Другие программы - нет, дригие либы - да. Только есть одно но - либы в .net на много отличаются от с++.
Только если в сторону тормознутости. Не забывай, .NET исполняется Framework'ом, а Framework на чем написан? На C++ или другом полностью компилируемом языке. И как могут его либы быть качественнее C'шных?
Цитата:
Сообщение от Knott Посмотреть сообщение
Вот вот оптимизироватся неможет... Хош сказать что ты должен сделать
столько версий что-бы удолетворяло обсолютно всем конфигурациям?
Как уже писал выше, достаточно использовать разные библиотеки. Кстати, такую систему вполне реально реализовать в отрыве от C# для C++.
Цитата:
Сообщение от Knott Посмотреть сообщение
Да и ктому же про конфигурации. Где ещё как не .net ты можеш одну прогу запускать как на Linux так и на Windows. Да и ктомуже как ты будеш давать всем свои "разные конфигурации" разным пользователям если твоя прога распростроняется посредством диска. Кстати ты смотрел на размер ексешника .NET? Так вот посмотрите.
Размер екзешника такой как раз потому, что программа на C# тормознутие программы на C++ и требует выполнения байт-кода Framework'ом. Касательно Framework на Linux: многое, доступное под Windows, под ним работать не будет. К тому же, если программа пишется грамотно на C++, то она будет компилироваться как под Linux, так и под Windows, почти без изменений в коде.
Цитата:
Сообщение от Knott Посмотреть сообщение
В .NET не так всё "виртулизировано" как кажется.
Интересно, как это - при наличии только виртуальных функций "не все виртулизировано"?
Да, и тут еще один вопросец назрел:
Программа на C# компилируется в байт-код. Даже если он будет у юзера на машине компилироваться в двоичный код, все равно юзеру ты даешь байт-код. А теперь внимание, вопрос:
Что мешает юзеру оказаться хакером, перегнать твой байт-код назад в C# (по ассемблерному коду код на C++ восстановить практически нереально, а по байт-коду код на исходном языке - элементарно) и посмотреть в нем все твои программистские секреты, отключить любую самую хитрую регистрационную систему и защиту от копирования, да и просто найти твои ошибки, наконец? И использовать все это в своих грязных целях, бесповоротно запоров твою программу? Взломав компьютеры всех юзеров, ею пользующихся? За пару часов написав кряк? Вставив в нее вирус? Так что программа в байт-коде - мечта хакера. Не нужно часами копаться в ассемблере и ловить прерывания! Пара секунд - и программа предстает перед ним в своем исходном виде, готовая к любому вмешательству!

Итог: программа на C# медленне программы на C++ хотя бы в силу своей конструкции. Оптимизация не может ничего дать, кроме незначительного выигрыша, из-за сложности самой задачи. Программа на C# практически элементарно взламывается и модифицируется (и я не говорю уже про Framework - т.е. систему с закрытыми исходниками - от которого все зависит! Если в нем будет закладка, баг, дыра - конец всем C#-программам!
Вывод: ты можешь быть прав только в случае, если Майкрософт заставит всех писать только под .NET, и не найдется никого, решившегося реализовать похожие возможности для C++ (для которого они реализуются проще). Надеюсь, что этого не случится.
Цитата:
Сообщение от Knott Посмотреть сообщение
В С# можно игратся с адресной арфмитикой.
Да ладно? В языке без возможности работы с памятью? Мы точно об одном и том же говорим?
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)

Последний раз редактировалось pokibor; 26.09.2006 в 01:20.
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ