Существует много пакетов утилит командной строки UNIX для 32-битной Windows. Теперь, когда компилятор Windows mingw-w64 стабилен, я ожидал, что аналогичные утилиты появятся для 64-битной Windows (например, "GnuWin64"). Однако я их не нахожу. Где они?
4 ответа
Как я уже упоминал в SuperUser один ... два ... три раза:
Инструменты из набора утилит SFUA, которые запускаются в Подсистеме для приложений на основе UNIX, которая поставляется в комплекте с Windows 7 Ultimate Edition и Windows Server 2008 R2 (для Windows XP можно загрузить и установить службы для UNIX версии 3.5.), выпускаются как с AMD64, так и с IA64, а также с x86-32. Этот инструментарий содержит большое количество инструментов TUI командной строки, от mv
и du
, через оболочки Korn и C, до perl
и awk
. Программы работают в собственном POSIX-окружении Windows NT, а не с DLL-библиотеками эмулятора (такими как cygwin1.dll
), наслоенными поверх Win32, как это делают другие наборы инструментов.
Утилиты SFUA отличаются от утилит GNU. Они в значительной степени несовместимы и реализуют только очень небольшое подмножество функций Posix.
Есть несколько утилит, которые увидят какой-либо выигрыш от адресации памяти в Win64, более новые, связанные со сжатием. Большинство из них имеют сборки Win64, доступные на их сайте проекта. Просто используйте эту версию вместо.
Что касается библиотек, если вы используете их в проекте, я рекомендую собирать dll самостоятельно, если он не доступен на других страницах. Я не рекомендую обновлять библиотеки dll, поставляемые с другими проектами. Есть причина, по которой они отправили версию, которую они сделали. Просто получите обновленную версию всего пакета, если вам нужно решить проблему в DLL.
Cygwin начал предоставлять 64-битные версии несколько месяцев назад (июль 2013 г.)
Нашел эту ссылку для ssed, которая работает на 32- и 64-битной Windows