Делать программную платформу независимой

Я работаю с проектом OCR, который разработан с использованием Visual C++ на.net Framework. Но поскольку.net зависит от платформы, я хочу сделать эту платформу проекта независимой и поддерживать ее для нескольких операционных систем.

Так может кто-нибудь подсказать мне, как это сделать. Благодарю.

3 ответа

Решение

Почему вы используете Visual C++ на.Net? Я бы порекомендовал вам либо перейти на Native C++, либо использовать лучший язык.NET, такой как C#. Если честно, я не уверен, что Mono может справиться с управляемым C++.

Если вы переходите на собственный C++, то обязательно абстрагируйте биты, специфичные для платформы. Также убедитесь, что ваше приложение будет работать как на 32, так и на 64 бит. Используйте независимые от платформы API, такие как GTK или WxWidgets.

Если вы переключитесь на C#, прочитайте, какие API-интерфейсы Mono не поддерживает (и никогда не будет) поддерживать. Не используйте небезопасный код или P/Invokes.

И независимо от того, какой путь вы выберете, всегда регулярно тестируйте свою программу на Windows и Linux. Если он работает в Linux, он обычно работает и в Mac, но я бы тестировал на всех трех, по крайней мере, один раз в день

Mono - это кроссплатформенная реализация.NET, которую вы могли бы рассмотреть.

Вы также можете попробовать Qt. Вы можете использовать Visual C++ для платформы Windows и g++ с другими платформами (Mac/Linux). Это дает вам гораздо лучший графический интерфейс, чем Mono.

Другие вопросы по тегам