Каково различие между Cygwin в Windows и реальной средой UNIX

Я - разработчик C/C++. Я никогда не делал программирования на C++ на UNIX, я сделал только на окнах.

Я хочу практиковать C++ на Unix. (Поскольку все крупные компании спрашивают C++ с Unix).

У меня есть ноутбук, на котором я не хочу устанавливать любую другую ОС (потому что я установил очень важное программное обеспечение на ней, и у меня нет установок),

Так, я искал и нашел CygWin, который является эмулятором Unix для Windows. Я думаю для осуществления C++ на этом.

Каково будет различие между Unix и Cygwin?

5
задан Kara 6 June 2017 в 22:47
поделиться

4 ответа

Загрузите VirtualBox , затем установите любую версию Unix по вашему выбору. Лично я большой поклонник Ubuntu. :)

Хотя Cygwin довольно хорош в том, что он делает, это не будет то же самое, что работать непосредственно на Unix-машине.

0
ответ дан 14 December 2019 в 08:44
поделиться

Cygwin имеет лишь часть функциональности настоящей ОС Unix, и есть определенные вещи, которые вам нужно знать об ОС Unix, о которых cygwin вам не расскажет. Это зависит от того, что вам нужно уметь делать на машине Unix. Поскольку у нее другая файловая система и нет такой же структуры каталогов, как у Windows. Например, в Unix нет "Program Files", и вам может понадобиться знать, где находится множество файлов, чего вы не узнаете с помощью cygwin. Хотя я согласен, если вы не хотите устанавливать другую ОС на свою машину, вы можете установить ее на виртуальную машину, или просто использовать ее время от времени, вы можете просто использовать liveCD

.
2
ответ дан 14 December 2019 в 08:44
поделиться

Вы можете найти эту ссылку полезной: http://en.wikipedia.org/wiki/Cygwin

Они предоставляют много полезной информации, которая поможет вам лучше понять, что будет происходить.

Мой совет - виртуализировать собственную среду (например, с Ubuntu внутри Virtual Box). Погуглите, чтобы получить ссылки на скачивание

Вы можете экспериментировать на свое усмотрение.

1
ответ дан 14 December 2019 в 08:44
поделиться

Cygwin - это в основном эмулятор POSIX, где POSIX - это некоторый наименьший общий знаменатель UNIX и других систем. Это позволяет иметь четко написанные приложения POSIX, работающие в Windows.

Вы найдете все, что указано в POSIX (например, иерархию файловой системы, файловую систему / proc, сигналы, сокеты), в cygwin, и это будет вести себя в соответствии со спецификациями POSIX. Но поскольку многие вещи не определены в POSIX, она не будет на 100% похожа на любую другую реальную систему Unix.

Например, в большинстве систем UNIX вы можете удалить файл, пока он открыт (что сделает его временным файлом без имени, который будет удален, когда последний пользователь закроет его). Windows не допускает этого (и POSIX также не требует этого); поэтому в Cygwin у вас будет семантика файлов Windows (вы не можете удалить файл, пока он открыт).

То же самое касается допустимых символов в именах файлов, чувствительности к регистру имен файлов и (конечно) всех дополнительных API (помимо POSIX), которые предлагает большинство реальных UNIX, но которые не включены в Cygwin.

(По крайней мере, у вас может быть X-сервер в Cygwin, который снова поддерживает только базовые X-операции).

4
ответ дан 14 December 2019 в 08:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: