Многоплатформенность создаваемых на C++ приложений

Вопросы по программированию, не подходящие в другие разделы.

Модераторы: Naeel Maqsudov, C_O_D_E

Ответить
Lev
Сообщения: 45
Зарегистрирован: 14 фев 2005, 11:17

Привет всем.
Я сейчас пишу приложение и, возможно, буду переносить его на другие платформы будь то Linux, WindowsCE... Пишу на C++.
Суть:
Взять например работу с файлами.
Есть некая функция в windows writefile(string name, byte bt) (она выглядит не так но это не важно), которая записывает байт "bt" в файл с именем "name". В linux есть же другая функция WriteFileByte(string name, byte bt) (она выглядит не так но это не важно), которая делает тоже самое или почти тоже самое. Вообщем у разных OS есть функции, которые примерно одинаково называются и делают одно и примерно одно и тоже.
Для организации многоплатформенности можно написать межплатформенную библиотеку, имеющую примерно следующий код:

Код: Выделить всё

#ifdef WINDOWS
#define WriteFile(name,bt) writefile((name),(bt))
#endif

#ifdef LINUX
#define WriteFile(name,bt) WriteFileByte((name), (bt)) 
#endif
В итоге можно в коде программы вызывать WriteFile("имя",0x00). Предварительно определив, в зависимости от целевой платформы, WINDOWS или LINUX.
Естественно всё сложнее т.к. функции могут отличаться количеством параметров, и даже более: в одной OS нужно будет вызвать 2 функции, чтобы записать один байт в файл, а в другой OS одну.
У программы будет гибкая возможность перебазироваться на другую платформу. Достаточно будет окорректровать межплатформенную библиотеку, добавив:

Код: Выделить всё

#ifdef MAC_OS
#define WriteFile(name,bt) WriteFileByte((name), (bt)) 
#endif
Вопрос:
Есть ли такие или примерно такие или во всяком случае, позволяющие переходить с одной платформы на другую библиотеки? Интересный ли вариант я рассмотрел?
Lev
Сообщения: 45
Зарегистрирован: 14 фев 2005, 11:17

Нашлось. Сёдня пришло письмо о кросплатформенной библиотеке которая позволяет GUI использовать. Называется она wxWidgets. Если кто-нибудь работал с ней, напишите какова она?
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Даже самый дурацкий замысел можно воплотить мастерски
Ответить