Mein letztes Ziel ist es, das Programm zu schreiben, das auf dem Unix-Betriebssystem laufen kann. Ich weiß, dass es viele Unix-Versionen gibt und ich weiß nicht genau, welches ich unterstützen muss. Ich kann momentan kein Unix-Betriebssystem installieren. Das einzige, was ich tun kann, ist ein freies Betriebssystem, das so nah wie möglich an Unix ist. Ist FreeBSD dafür eine gute Wahl? Ich weiß, dass es auch OpenBSD gibt, möglicherweise etwas anderes.
Zusätzliche Informationen: Die Programmiersprache ist C ++, ich benutze GCC, mit einigen tragbaren Bibliotheken: Boost und wxWidgets.
OpenBSD, FreeBSD, DragonFlyBSD, NetBSD, Open Solaris, etc. sind alle offene und freie Unix-Betriebssysteme, Sie können nicht näher kommen.
Um die Installationsbeschränkung zu umgehen, sollten Sie die Virtualisierung mit einem Tool wie Suns Virtual box in Erwägung ziehen.
Je nachdem, was Ihr Programm macht, in welcher Sprache es geschrieben ist usw. können Sie portablen Code auf jeder Plattform schreiben. Zum Beispiel portiere ich routinemäßig eine meiner in C ++ geschriebenen Anwendungen von Windows, wo ich sie entwickle, nach Linux, mit einer kleinen Änderung (ich entferne die ODBC-Unterstützung). Daher ist die Wahl des Betriebssystems für die Entwicklung nicht kritisch - bewusst ist das Schreiben von tragbarem Code.
Siehe Single UNIX Specification . Wenn Sie nur die Annahmen treffen, die in den Manpages angegeben sind, die von der OpenGroup in ihrer Single UNIX Specification bereitgestellt werden, sollte Ihr Code auf allen UNIX-kompatiblen Betriebssystemen funktionieren.
Wenn Sie meine Entwicklungs- / Codierungs-Suchmaschine verwenden, ist das sehr schwer zugunsten von Quellen aus der Single UNIX Specification verzerrt, und durch Klicken auf "Single UNIX Specification" wird die Suche auf diese Quelle beschränkt. Solange Sie sich auf die durch die Spezifikation gegebenen Garantien beschränken, sollte es auf allen UNIX-Varianten funktionieren.
Ich sollte auch darauf hinweisen, dass Sie, wenn Sie sich nur auf die Funktionen des ISO C ++ - Standards, der Boost C ++ - Bibliotheken und von WxWidgets beschränken, nicht nur auf alle UNIX-Varianten abzielen sollten, aber auch Windows. Wenn Sie jedoch nur auf UNIX abzielen müssen, sollten alle Systemschnittstellen in der Single UNIX Specification, die darin spezifiziert sind, sicher zu verwenden sein.
Im Hinblick auf die Entwicklungsumgebung würde ich empfehlen, dass Sie eine Kopie von Ubuntu Linux in VirtualBox , da das Einrichten einer funktionierenden Entwicklungsumgebung für diese bestimmte Linux-Distribution so einfach ist wie ein einzelner Aufruf von sudo apt-get install
, und Linux ist de facto kompatibel mit UNIX. Der einzelne Befehl sudo apt-get install build-essential pkg-config g++ automake autoconf cmake doxygen libboost1.40-dev libwxgtk2.8-dev
ist ausreichend, um eine voll funktionsfähige C ++ - Entwicklungsumgebung auf Ubuntu mit WxWidgets und den Boost C ++ - Bibliotheken zu erhalten.
Welche Programme schreiben Sie und welche Sprache benutzen Sie? Egal, ob Sie FreeBSD oder Solaris verwenden, Sie können ziemlich portablen Code mit C ++ / Python / Perl usw. schreiben. Diese Programmiersprachen können auf verschiedenen Plattformen funktionieren und ich denke nicht, dass Sie damit größere Probleme haben werden.
Die meisten der oben erwähnten Systeme haben (begrenzte) Unterstützung für das Ausführen von Linux-Binärdateien. Sie können versuchen, eine Linux-Binärdatei zu erstellen und zu verteilen. Wenn Sie es auf etwas wie RHEL4 aufbauen, würden die meisten von ihnen die notwendige ABI unterstützen, um das Programm auszuführen.
Zum Beispiel ist Flashplugin auf den meisten BSDs eigentlich ein Linux-Flashplugin.