Unix et FreeBSD

Mon but final est d’écrire le programme qui peut être exécuté sur le système d’exploitation Unix. Je sais qu’il existe de nombreuses versions d’Unix, et je ne sais pas exactement pour le moment lequel je dois prendre en charge. Je ne peux pas installer de système d’exploitation Unix pour le moment. La seule chose que je puisse faire est d’utiliser autant que possible un OS gratuit proche d’Unix. FreeBSD est-il un bon choix pour cela? Je sais qu’il y a aussi OpenBSD, peut-être autre chose.

Informations supplémentaires: Le langage de programmation est C ++, j’utilise GCC, avec certaines bibliothèques portables: Boost et wxWidgets.

OpenBSD, FreeBSD, DragonFlyBSD, NetBSD, Open Solaris, etc. sont tous des systèmes d’exploitation Unix ouverts et gratuits, vous ne pouvez pas vraiment vous en approcher.

Pour contourner la ressortingction d’installation, envisagez la virtualisation avec un outil tel que la boîte virtuelle de Sun.

Selon ce que fait votre programme, dans quelle langue il est écrit, etc., vous pouvez écrire du code portable sur n’importe quelle plate-forme. Par exemple, je porte systématiquement une de mes applications écrites en C ++ de Windows, où je le développe, vers Linux, avec une modification mineure (je supprime le support ODBC). Donc, le choix du système d’exploitation pour faire le développement n’est pas critique – écrire consciemment du code portable est.

Regardez la norme POSIX . Il s’agit d’une API portable supscope par la plupart des systèmes d’exploitation de type Unix.

Voir la spécification UNIX unique . Si vous ne faites que les hypothèses données dans les pages de manuel fournies par OpenGroup dans sa spécification Single UNIX, votre code devrait fonctionner sur tous les systèmes d’exploitation compatibles UNIX.

Si vous utilisez mon moteur de recherche de développement / codage , celui-ci privilégie fortement les sources issues de la spécification Single UNIX, et cliquer sur “Single UNIX Specification” limitera la recherche à cette source. Tant que vous vous restreignez aux garanties apscopes par la spécification, cela devrait fonctionner sur toutes les variantes UNIX.

Je dois également souligner que si vous vous restreignez encore à l’utilisation des fonctionnalités fournies par la norme ISO C ++, par les bibliothèques Boost C ++ et par WxWidgets, vous devriez pouvoir cibler non seulement toutes les variantes d’UNIX, mais aussi Windows. ainsi que. Toutefois, si vous devez uniquement cibler UNIX, toutes les interfaces système de la spécification UNIX unique, telles qu’elles sont spécifiées, doivent pouvoir être utilisées en toute sécurité.

En termes d’environnement de développement, je vous recommande d’installer une copie d’ Ubuntu Linux dans VirtualBox , car la configuration d’un environnement de développement fonctionnel sur cette dissortingbution particulière de Linux est aussi simple qu’une simple invocation de sudo apt-get install et Linux est conforme de facto à UNIX. La seule commande sudo apt-get install build-essential pkg-config g++ automake autoconf cmake doxygen libboost1.40-dev libwxgtk2.8-dev

Quels programmes écrivez-vous et quelle langue utilisez-vous? Que vous utilisiez FreeBSD ou Solaris, etc., vous pouvez écrire du code assez portable en utilisant C ++ / Python / Perl, etc.

La plupart des systèmes mentionnés ci-dessus ont un support (limité) pour exécuter des binarys Linux. Vous pouvez essayer de créer et de dissortingbuer un fichier binary Linux. Si vous le construisez sur quelque chose comme RHEL4, la plupart d’entre eux prendraient en charge l’ABI nécessaire pour exécuter le programme.

Par exemple, flashplugin sur la plupart des BSD est en fait un linux-flashplugin.