C++ программа на внешнем носителе для Win, Linux, Mac OS?
Добрый день.
Подскажите возможно ли запустить программу написанную на C++, которая находится на внешнем носителе, на всех операционных системах без перекомпилирования?
Т.е.
Есть программа, которая использует/модифицирует определенные файлы на флешке. Например, есть файл "возраст". Пользователь вводит свой возраст и это значение сохраняется в этом файле (например это значение ввел пользователь Linux), затем при запуске этой программы с флешки под Windows пользователь мог бы ввести свой возраст и он был бы записан в тот же файл и любой пользователь любой из ОС мог бы получить данные из файла "возраст".
Как лучше организовать такую программу?
Скомпилировать несколько вариантов программы под каждую ОС на флешку и запускать нужный вариант с определенной ОС?
Описание задачи сильно напоминает изначально неверное решение проблемы.
Может, лучше озвучить проблему?
Не факт, что ее обязательно решать чесанием левой пяткой за правым ухом.
Скомпилировать несколько вариантов программы под каждую ОС на флешку
Для C++ других вариантов нет, поскольку он компилируется в "нативный" машинный код для одного семейства процессоров, линкуется в "нативный" формат исполняемого файла зависимый от ОС.
Скомпилировать несколько вариантов программы под каждую ОС на флешку
То есть это должно сработать?
Доступ к общим файлам можно будет организовать? Интересует файловая система, или как это вообще можно сделать.
Возможно есть ссылки или намеки куда смотреть и где копать)
068558: Да, будет работать, код можно сделать единым с помощью #define и других директив ну или готовой библиотеки типа Boost или Qt, про файловую систему сохранять на FAT флешки не пробовал, но в Windows вроде функции работы с файлами абстрактны от файловой системы, STL тоже, она еще более абстрактна, на UNIX вроде так же, и ни о каких несовместимостях ничего не знаю кроме new line character в файлах.
Скомпилировать несколько вариантов программы под каждую ОС на флешку и запускать нужный вариант с определенной ОС?
Да
затем при запуске этой программы с флешки под Windows пользователь мог бы ввести свой возраст и он был бы записан в тот же файл и любой пользователь любой из ОС мог бы получить данные из файла "возраст".
Файл в Utf8, можно взять Qt в котором есть отличные QString с поддержкой юникода. Правда придется тащить еще и библиотеки под все три ОС...