217 votes

Existe-t-il un remplacement pour unistd.h pour Windows (Visual C)?

Je suis portage relativement simple console de programme écrit pour Unix à la plate-forme Windows (Visual C++ 8.0). Tous les fichiers source incluent "unistd.h", qui n'existe pas. En l'enlevant, je reçois des plaintes au sujet de misssing prototypes pour "srandom', '"aléatoire", et "getopt'. Je sais que je peux remplacer les fonctions aléatoires, et je suis sûr que je peux trouver/pirater-un getopt mise en œuvre.

Mais je suis sûr que d'autres ont le même défi. Ma question est: est-il un port de "unistd.h" de Windows? Au moins l'un contient les fonctions qui ont un Windows natif de mise en œuvre - je n'ai pas besoin de tuyaux ou de la fourche.

EDIT:

Je sais que je peux créer mon propre "unistd.h", qui contient des remplacements pour les choses dont j'ai besoin - surtout dans ce cas, puisque c'est une série limitée. Mais, car il semble être un problème commun, je me demandais si quelqu'un avait fait le travail déjà pour un plus grand sous-ensemble de la fonctionnalité.

Le passage à un autre compilateur ou de l'environnement n'est pas possible au travail - je suis coincé avec Visual Studio.

217voto

AShelly Points 17389

Étant donné que nous ne pouvons pas trouver une version sur l’Internet, nous allons commencer un ici.
La plupart des ports de Windows besoin probablement seulement un sous-ensemble du fichier Unix complet.
Voici un point de départ. S’il vous plaît ajouter des définitions au besoin.

133voto

anonymous Points 221

Essayez d’inclure le fichier io.h . Cela semble être l'équivalent unistd.h Visual Studio.

J'espère que ça aide.

27voto

e.James Points 51680

Je vous conseille d'utiliser mingw/msys comme un environnement de développement. Surtout si vous portez un simple programmes de la console. Msys implémente un type Unix, shell sous Windows, et mingw est un port de la GCC (GNU compiler collection) et d'autres GNU créer des outils pour la plateforme Windows. C'est un projet open-source, et bien adaptée à la tâche. Je l'utilise actuellement pour construire des programmes utilitaires et les applications de console pour Windows XP, et il a très certainement qu' unistd.h - tête, vous êtes à la recherche pour.

La procédure d'installation peut être un peu difficile, mais j'ai trouvé que le meilleur endroit pour commencer est dans MSYS.

20voto

Eelke Spaak Points 49

Je suis tombé sur ce fil tout en essayant de trouver une alternative à Windows pour (défini dans ). Il s’avère que, notamment `` le tour est joué. Peut-être cela aide les gens qui trouvent ce fil à l’avenir.

6voto

paxos1977 Points 25088

Non, autant que je me souvienne il n'y a pas de getopt() sur Windows.

Boost, cependant, a la program_options bibliothèque... qui fonctionne bien. Il va sembler excessif au premier abord, mais il n'est pas terrible, surtout en considérant qu'il peut gérer la configuration des options du programme dans les fichiers de configuration des variables d'environnement et en plus des options de ligne de commande.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X