The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Apple представил инструментарий для портирования игр, основанный на Wine, opennews (??), 08-Июн-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


49. "Apple представил инструментарий для портирования игр, основа..."  +4 +/
Сообщение от _kp (ok), 08-Июн-23, 12:15 
>>А чего бы эплу просто не написать

Потому что это весьма нетривиальная задача.

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

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

58. "Apple представил инструментарий для портирования игр, основа..."  +3 +/
Сообщение от Аноним (98), 08-Июн-23, 13:03 
У оффтопа тоже был транслятор вызовов. Линуксовые вызовы транслировались в оффтопиковые и даже они поняли что это тупиковый путь и сделали просто виртуальную машину. Возможно на маке что-то такое тоже лучше заработает.
Ответить | Правка | Наверх | Cообщить модератору

74. "Apple представил инструментарий для портирования игр, основа..."  –2 +/
Сообщение от n00by (ok), 08-Июн-23, 14:54 
Например, mremap() позволяет отобразить страницы памяти по другим адресам, а это транслировать не во что (Cygwin вроде бы через memmove() эмулировал, что существенно медленнее).
Ответить | Правка | Наверх | Cообщить модератору

77. "Apple представил инструментарий для портирования игр, основа..."  +/
Сообщение от Аноним (77), 08-Июн-23, 15:26 
Мало того, что надо дизассемблировать, так ещё и не всегда бывают однозначные преобразования из исходного кода в машинный (например, некоторые циклы векторизуются, есть всякие небезопасные флаги -ffastmath). А тут обратную задачу надо выполнить. Так как исходной инфы о компиляторе нет, сборка "обратно в Си" является некорректной задачей, решаемой только в некоторых случаях.
Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

132. "Apple представил инструментарий для портирования игр, основа..."  +1 +/
Сообщение от n00by (ok), 09-Июн-23, 05:10 
> сборка "обратно в Си"
> является некорректной задачей, решаемой только в некоторых случаях.

Точнее это называется "NP-полная", и решается она во всех случаях, но может не хватить ресурсов (времени, памяти) для перебора вариантов. Это как с криптографией - подобрать ключ можно, но в общем случае потребуется времени больше, чем живёт Вселенная.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру