Jump to content

    
Sign in to follow this  
TigerSHARC

приложение win32

Recommended Posts

Вопрос: возможно ли запустить exe на Linux, при том, что целевая платформа - ARM9, а exe скомпилен на x86.

Подозреваю что нет(

Тогда можно ли скомпилить exe-шник для ARM9?

 

Вопрос не праздный. Получилось без проблем запустить exe на Linux с x86. на ARM пока не пробовал - нету возможности. Вот решил заранее поинтересоваться

 

Share this post


Link to post
Share on other sites
тоглда вопрос: можно ли скомпилить exe для ARM9.

Если есть исходники, то какой смысл использовать костыли?

 

Ну и вообще можно попробовать в qemu-user chroot запустить на арме линукс для х86 с wine и вашим exe, но производительность будет соответсвующая :)

Share this post


Link to post
Share on other sites
Если есть исходники, то какой смысл использовать костыли?

 

Ну и вообще можно попробовать в qemu-user chroot запустить на арме линукс для х86 с wine и вашим exe, но производительность будет соответсвующая :)

исходники достатачно сложны в том плане, что проект состоит из двух частей: библиотека(dll) и собственно сам проект.

получается чтобы честно собрать проект под GCC нужно переделать проект и сгенерировать не dll, а *.so , а потом сам основной проект перелопатить.

Хотелось малой кровью)

Share this post


Link to post
Share on other sites
исходники достатачно сложны в том плане, что проект состоит из двух частей: библиотека(dll) и собственно сам проект.

получается чтобы честно собрать проект под GCC нужно переделать проект и сгенерировать не dll, а *.so , а потом сам основной проект перелопатить.

Хотелось малой кровью)

 

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

Share this post


Link to post
Share on other sites

У Вас сразу несколько вопросов в одном.

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

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

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

Share this post


Link to post
Share on other sites
Во-первых, экзешник у Вас, судя по всему собран под винду. То, что он запустился на линуксе - это какая-то счастливая случайность и заслуга ABI. С дллкой вообще не должна запуститься.

вы про wine когда нибудь слышали?

Share this post


Link to post
Share on other sites
Под андроидом win95 запускали и евоные приложения.

На хабре можно поискать.

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

Share this post


Link to post
Share on other sites
да, думаю без проблем. Но вот если скомпилено под разные аппаратные платформы, то, наверное придётся только через вирталку запускать. Такой вариант ну совсем не очень....

Я так понял, что именно нативные x86 приложения запускали.

Ещё недавно мельком читал про сервис, который дизассемблирует х86 приложение и собирает в виде apk

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this