Моя заключительная цель состоит в том, чтобы записать программу, которая может работать на Unix ОС. Я знаю, что существует много версий Unix и не знают точно на данный момент, какой я должен поддерживать. Я не могу установить Unix ОС прямо сейчас. Единственная вещь, которую я могу сделать, состоит в том, чтобы использовать свободную ОС, которая является близко к Unix как можно больше. Действительно ли FreeBSD является хорошим выбором для этого? Я знаю, что существует также OpenBSD, возможно что-то еще.
Дополнительная информация: языком программирования является C++, я использую GCC с некоторыми портативными библиотеками: Повышение и wxWidgets.
OpenBSD, FreeBSD, DragonFlyBSD, NetBSD, Open Solaris и т. Д. - все открытые и бесплатные операционные системы Unix, вы не можете приблизиться к этому.
Чтобы обойти ограничение на установку, рассмотрите возможность виртуализации с помощью такого инструмента, как Sun Virtual box .
В зависимости от того, что ваша программа делает, на каком языке она написана и т. д. вы можете писать переносимый код на любой платформе. Например, я обычно портирую одно из своих приложений, написанных на C ++, из Windows, где я его разрабатываю, в Linux с одним незначительным изменением (я удаляю поддержку ODBC). Так что выбор ОС для разработки не критичен - нужно сознательное написание переносимого кода.
См. Стандарт POSIX . Это переносимый API, поддерживаемый большинством Unix-подобных операционных систем.
какие программы вы пишете и на каком языке используете? Независимо от того, используете ли вы FreeBSD или Solaris и т. Д., Вы можете писать довольно переносимый код, используя C ++ / Python / Perl и т. Д. Эти языки программирования могут работать на разных платформах, и я не думаю, что у вас возникнут серьезные проблемы с этим.
См. Спецификацию Single UNIX . Если вы делаете только предположения, приведенные на страницах руководства, предоставленных OpenGroup в ее единой спецификации UNIX, то ваш код должен работать во всех UNIX-совместимых ОС.
Если вы используете мою поисковую машину по разработке / кодированию , она будет сильно смещена в пользу источников из Единой спецификации UNIX, и нажатие на «Единая спецификация UNIX» ограничит поиск этим источником. Пока вы ограничиваете себя гарантиями, предоставляемыми спецификацией, она должна работать со всеми вариантами UNIX.
Я также должен отметить, что если вы еще больше ограничите себя использованием только функций, предоставляемых стандартом ISO C ++, библиотеками Boost C ++ и WxWidgets, тогда вы сможете настроить таргетинг не только на все варианты UNIX, но также и Windows. Однако, если вам нужно настроить таргетинг только на UNIX, тогда любой из системных интерфейсов в Единой спецификации UNIX, как указано в ней, должен быть безопасным для использования.
Что касается среды разработки, я бы порекомендовал вам установить копию Ubuntu Linux в VirtualBox , поскольку настройка рабочей среды разработки в этом конкретном дистрибутиве Linux выполняется следующим образом. просто, как однократный вызов sudo apt-get install
, а Linux де-факто совместим с UNIX. Единственная команда sudo apt-get install build-essential pkg-config g ++ automake autoconf cmake doxygen libboost1.40-dev libwxgtk2.8-dev
достаточно для получения полностью рабочей среды разработки C ++ в Ubuntu с установленными WxWidgets и библиотеками Boost C ++.