Перенос программы из Windows XP в Windows CE - PullRequest
1 голос
/ 01 февраля 2010

Я хочу спросить, есть ли способ заставить программу Windows XP работать под Windows CE? Я получил несколько DLL-библиотек, скомпилированных в Windows Xp, но они отказываются загружаться в Windows CE. Так это действительно большая проблема, чтобы сделать такое преобразование, или, может быть, есть какие-то решения? Я искал в интернете все они говорили о преобразовании Windows CE в обычную Windows. Кто-нибудь сталкивался с этой проблемой?

Некоторые обновления моего вопроса на основе комментариев: На самом деле у меня действительно большой проект с открытым исходным кодом, и я пытался скомпилировать его под Windows CE, есть много ошибок компиляции, так что изменить программу с открытым исходным кодом также будет сложно?

Существуют такие проблемы, как эта: Несоответствие типов в некоторых параметрах функций Windows API. Некоторые заголовочные файлы не существуют в системе. Ключевое слово __asm ​​дает ошибки. Функция, объявленная как функция dllimport, также выдает ошибку. Это не все ошибки

Ответы [ 2 ]

1 голос
/ 01 февраля 2010

Похоже, эта библиотека, которую вы пытаетесь портировать, использует встроенную сборку.Только компилятор x86 поддерживает его (из компиляторов, которые поставляются с CE), так что тут есть огромный огромный блокпост.Если вы хотите, чтобы это работало на что-то вроде WinMo, вам придется удалить все из них, сделать их вызовами во внешний файл ASM, а затем перенести ASM x86 на ARM ASM.Немалый объем работы.

Кроме того, если он использует встроенный ASM, он, вероятно, делает это для повышения производительности, а это означает, что все, что вы пытаетесь портировать, вероятно, требует больших вычислительных ресурсов.Вы знаете, что CE обычно работает на процессорах, которые на самом деле не предназначены для этого права?

Остальные ошибки, вероятно, связаны с тем, что CE поддерживает только часть Win32 (если он имелВсе это называется Widows XP).Вам нужно будет найти замену пропущенным звонкам.Опять же, это не тривиально.

1 голос
/ 01 февраля 2010

Ну, вам нужно знать, что CE работает на процессорах ARM, SH4, X86 и (не помню 4-й). Очевидно, что скомпилированный X86 Dll не будет работать ни на одном устройстве Windows CE.

Более того, Windows CE не поддерживает весь API Win32, поэтому у вас возникнут проблемы.

Наконец, я не знаком с Desktop Dll и их архитектурой загрузки и использования, но, исходя из полученных вами комментариев, я предполагаю, что у вас также возникнут проблемы.

...