Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.255.44] |
|
Страницы: (50) « Первая ... 46 47 [48] 49 50 ( Перейти к последнему сообщению ) |
Сообщ.
#706
,
|
|
|
Не совсем так. Определение кроссплатформенности можно описать в 100(200/500/любое конечное число) предложений. Определения оптимальности в данном случае нет - оно интуитивно, и, как следствие, субъективно. Нет, Катюх, для достижения "оптимальности" ассемблерщики пишут код полагая, что он будет работать на определённой модели процессора. В итоге получается, что код действительно быстр на целевой модели, но с остальными моделями код выдаёт уже не те световые скорости. Я уже говорил, что чтение художественной литературы по вечерам помогает в таких случаях. Я имел ввиду, что, если кроссплатформенность так плоха из-за гипотетических тормозов отдельных библиотек, то чем тут хорош ассемблер? Тем что предоставляемый "тормозными" библиотеками ф-ционал можно реализовать самому? А на HLL разве нельзя этого сделать? |
Сообщ.
#707
,
|
|
|
Цитата Катенька @ да мне это всё известно. им я тоже компилировала под мак. только ты не учёл что производительность канула в лета Да и один и тот же код фрипаскалем компилить довольно глюкавая прога на маке получается. я про то что если freepascale-ем под XP компилить для другой ОС незнаю как под Линукс, но под мак на прогу как будто слон наступил, для своей ОС под которой он девелопится без базара компилит "нормально" и то скорость выполнения кода не велика... но вот для других платформ и систем - увы... про Мак не знаю, не пробовал, но вот из винды в линукс и наоборот компилил. код что там что там работал так же хорошо как и билд из винды в винду и из линя в линь. возможно кросс компиляция мак еще не до конца отлажена/оптимизированна |
Сообщ.
#708
,
|
|
|
Цитата archimed7592 @ В х86 это делается посредством пары ф-ций inp/outp . Я никак не абстрагирую, но, чем оптимальней абстракция, тем жить проще во всех планах(в т.ч. и в плане кроссплатформенности). Так ты и получишь конкретную зависимость программы от железа Но даже если отойти от микроконтроллеров, то вот тебе еще пример недокроссплатформенности - работа с сокетами. Под виндой и никсами подходы совершенно разные :-P |
Сообщ.
#709
,
|
|
|
Цитата AndNot @ Так ты и получишь конкретную зависимость программы от железа Ок, возьмём немного более реалистичный пример(хоть и надуманный): драйвер ps/2 мыши. Используя в качестве абстракции драйвер самого ps/2 порта можно написать абсолютно кроссплатформенный драйвер мыши. Для портирования на другую платформу нужно лишь портировать драйвер порта и заработают любые дрова, использующие его в качестве абстракции. Ладно, под ps/2 бывают только мыши с клавами. Абстрагируем usb порт - получаем возможность делать кроссплатформенные драйвера для любых usb устройств. Цитата AndNot @ Но даже если отойти от микроконтроллеров, то вот тебе еще пример недокроссплатформенности - работа с сокетами. Под виндой и никсами подходы совершенно разные :-P Как же это библиотекам QtNetwork, wxNet, Boost.Asio, libcurl, libwww и многим другим удаётся работать под несколькими платформами . Добавлено Цитата AndNot @ Под виндой и никсами подходы совершенно разные :-P Кстати, вот оно, неумение ассемблерщиков абстрагироваться . Вот скажи мне, в чём принципиальная разница между сокетом под виндой и сокетом под линухом? |
Сообщ.
#710
,
|
|
|
Цитата AndNot @ Но даже если отойти от микроконтроллеров, то вот тебе еще пример недокроссплатформенности - работа с сокетами. Под виндой и никсами подходы совершенно разные :-P Ммм... И почему мне без особого труда удавалось делать кроссплатформенные сетевые приложения? Наверное, я делал что-то не так... |
Сообщ.
#711
,
|
|
|
Цитата archimed7592 @ А твоя - от конкретной модели процессора . А вообще "аргумент" мне нравится . При чём здесь Си[++]? Да все просто. Платформы настолько разные, что даже теоретически невозможно нарисовать любую прогу под все. Так что говоря о кроссплатформенности, нужно помнить об ограничениях Скорее речь может идти лишь о интерфейсе программ, который и способны обеспечить либы, но не более. А вот здесь то и может скрываться источник багов и тормозов. |
Сообщ.
#712
,
|
|
|
Цитата AndNot @ А вот здесь то и может скрываться источник багов и тормозов. Ассемблерщики всегда заранее ломают голову над проблемами до которых ещё дожить нужно? |
Сообщ.
#713
,
|
|
|
Цитата Flex Ferrum @ Ммм... И почему мне без особого труда удавалось делать кроссплатформенные сетевые приложения? Наверное, я делал что-то не так... И как же ты заставил работать под никсами объект событий, если его там нет? Только два варианта, или работаешь по модели никсов, или через сторонние либы, ограничивая проп. способность сервера. |
Сообщ.
#714
,
|
|
|
Цитата AndNot @ И как же ты заставил работать под никсами объект событий, если его там нет? Цитата archimed7592 @ QtNetwork, wxNet, Boost.Asio |
Сообщ.
#715
,
|
|
|
Цитата AndNot @ И как же ты заставил работать под никсами объект событий, если его там нет? Ну, наверное - сихронно. Либо через WSASelect... На событиях свет клином не сошелся... |
Сообщ.
#716
,
|
|
|
AndNot, да в Виндовс нет некоторых функций вообще, по работе с сетью, которые есть в Никсах, о какой кросплатформенности может идти речь
Очередная защита переносимости кода в с++ от наших с тобой друзей |
Сообщ.
#717
,
|
|
|
Так хочется кинуть в кого-нибудь чем-нибудь тяжелым .
|
Сообщ.
#718
,
|
|
|
Цитата Катенька @ AndNot, да в Виндовс нет некоторых функций вообще, по работе с сетью, которые есть в Никсах Например? |
Сообщ.
#719
,
|
|
|
Сообщ.
#720
,
|
|
|
До сих пор хочется .
Блин, Катюш, может быть попробуешь хотя бы немного аргументировать свой базар, тьфу, извиняюсь, свою речь? А то больше похоже не на холивар, а на ликбез для особо одарённых . |