Quelle est la différence entre Cygwin sur Windows et un environnement UNIX réel

Je suis un développeur C / C ++. Je n’ai jamais fait de programmation C ++ sous UNIX, je l’ai fait uniquement sur Windows.

Je veux pratiquer C ++ sous Unix. (Parce que toutes les grandes entresockets demandent C ++ avec Unix).

J’ai un ordinateur portable sur lequel je ne veux pas installer d’autre système d’exploitation (parce que j’ai installé des logiciels très importants et que je n’ai pas de configuration)

Donc, j’ai cherché et trouvé CygWin qui est un émulateur Unix pour Windows. Je pense à pratiquer C ++ à ce sujet.

Quelle sera la différence entre Unix et Cygwin?

Cygwin est principalement un émulateur POSIX – où POSIX est le plus petit dénominateur commun d’UNIX et d’autres systèmes. Cela permet d’avoir des applications POSIX écrites proprement sous Windows.

Vous trouverez également tout ce qui est spécifié dans POSIX (comme la hiérarchie du système de fichiers, le système de fichiers / proc, les signaux, les sockets) dans cygwin et il se comportera dans les spécifications POSIX. Mais comme beaucoup de choses ne sont pas spécifiées dans POSIX, ce ne sera pas 100% comme tout autre système Unix réel.

Par exemple, sur la plupart des systèmes UNIX, vous pouvez supprimer un fichier lorsqu’il est ouvert (ce qui en fera un fichier temporaire sans nom qui sera supprimé lorsque le dernier utilisateur le ferme). Windows ne le permet pas (et POSIX ne le demande pas non plus); ainsi sur Cygwin vous aurez la sémantique de fichier de Windows (vous ne pouvez pas supprimer un fichier tant qu’il est ouvert).

Il en va de même pour les caractères autorisés dans les noms de fichiers, la sensibilité à la casse des fichiers et (bien sûr) toutes les API supplémentaires (autres que POSIX) que la plupart des UNIX offrent mais qui ne sont pas incluses dans Cygwin.

(Au moins, vous pouvez avoir un serveur X dans Cygwin, qui ne supporte à nouveau que les opérations X de base).

Cygwin a juste un sous-ensemble des fonctionnalités d’un véritable système d’exploitation Unix et il y a certaines choses que vous devez savoir sur le système d’exploitation Unix que cygwin ne vous dira pas. Cela dépend de ce que vous devez être capable de faire sur une machine Unix. Comme il a un système de fichiers différent et n’a pas la même structure de répertoires que Windows. Par exemple, il n’y a pas de “Program Files” dans Unix, et vous devrez peut-être savoir où se trouvent beaucoup de fichiers, ce que vous ne trouverez pas avec cygwin. Bien que je sois d’accord, si vous ne voulez pas installer un autre système d’exploitation sur votre machine, vous pouvez l’installer sur une machine virtuelle, ou simplement l’utiliser de temps en temps, puis utiliser simplement un liveCD.

Vous pouvez trouver ce lien utile: http://en.wikipedia.org/wiki/Cygwin

Ils fournissent beaucoup d’informations utiles pour vous aider à mieux comprendre ce qui se passera.

Mon conseil serait de virtualiser votre propre environnement (avec Ubuntu dans Virtual Box par exemple). Les Google pour obtenir les liens de téléchargement

Vous pouvez expérimenter avec le contenu de votre cœur.

Téléchargez VirtualBox , puis installez une version Unix de votre choix. Personnellement, je suis un grand fan d’Ubuntu. 🙂

Bien que Cygwin soit assez performant, il ne s’agira pas de travailler directement sur une machine Unix.