Вернуться на главную страницу

Пару слов о Cygwin'е.

  NetBeans - кроссплатформенная среда разработки написанная на Java. То есть вы можете скачать с netbeans.org zip архив вместо инсталлятора, и распаковать его на Sparc Solaris или обычной PC машине с Windows, Linux, Mac OS X или Solaris. И если на машине уже установлены все необходимые для NetBeans программы, то программа будет работать везде одинаково. Ну, почти одинаково. Из-за этой "одинаковости" пользователи, которые никогда не видели Solaris, MacOS X, Linux или FreeBSD, могут не разобраться с первоначальной настройкой NetBeans'а.

  Семейство Windows (98, NT, XP, Vista) имеет встроенные команды для копирования, удаления и перемещения файлов, создание папок (директориев) и множества других подобных операций. Их главный недостаток то, что они работают только в Windows. Поэтому вместо них используются команды из семейства UNIX (Solaris, MacOS X) и UNIX-подобных операционных систем (Linux, FreeBSD). К сожалению, на Windows их нет в стандартной поставке. Но их можно бесплатно скачать и поставить.

  Самые известные - Cygwin (http://cygwin.com) и MSYS (http://www.mingw.org). Между ними есть различие. MSYS содержит только самые основные команды UNIX, а Cygwin - это почти дистрибутив Linux. С помощью инсталлятора с официального сайта вы можете скачать тысячи программ, но их нужно уметь запускать. Скорее всего, у вас возникнут проблемы с запуском программ с графическим интерфейсом и консольными программами с сообщениями на русском языке (на момент написания статьи я пользуюсь Cygwin 1.5, но в декабре вышла новая версия программы). Как ставить Cygwin я писал в предыдущеё своей статье ("Установка Cygwin'а и Netbeans C/C++ Pack'а."). После установки Cygwin'а, найдём "Cygwin Bash Shell" в списке установленных программ (меню "Пуск" или "Start"). Запустим эту программу. Появится зелёно-сине-чёрное окно (при первом запуске в нём будут сообщения об автоматическом создании настроечных файлов) со значком $ и мигающем курсором после него. Окно ждёт ваших команд. Перечислю основные:
touch file - создать файл с именем file
cat file - распечатать файл с именем file
cp file file2 - создать файл с именем file2, являющийся копией файла file
rm file2 - удалить файл с именем file2
mv file file2 - переименовать файл file, новое имя file2
mkdir d - создать папку с именем d
echo "111" - напечатать в окне 111
echo "111" > file.txt - создать файл с именем file.txt и содержащий текст 111 (значок '>' перенаправляет напечатанный в окне текст в файл)
echo "111" >> file.txt - добавить строку 111 в файл file.txt (значок '>>' добавляет напечатанный в окне текст в файл)
ls - напечатать список файлов в текущей папке
cd c:/tmp - перейти в папку c:/tmp
pwd - напечатать имя текущей папки
gcc file.c - собрать C программу из файла file.c в запускаемую программу a.exe
gcc -o file.exe file.c - собрать C программу из файла file.c в запускаемую программу file.exe
g++ -o file.exe file.cpp - собрать C++ программу из файла file.cpp в запускаемую программу file.exe

  Теперь создадим простейшую программу:
gcc -v - узнаем версию компилятора gcc (заодно убедимся что он установлен)
echo "#include <stdio.h>" > test.c
echo 'int main() {puts("Hi");return 0;}' >> test.c
gcc -o test.exe test.c
./test.exe - запустить файл с именем test.exe

  А сейчас создадим простейшую графическую программу:
echo "#include <stdio.h>" > test2.c
echo 'int main() {MessageBox(0,"Hi","Hi",MB_OK);return 0;}' >> test2.c
gcc -o test2.exe test2.c -mwindows - без опции "-mwindows"программа запустит ненужную нам консоль, при её запуске из проводника
./test2.exe

  P.S. Ваши программы не будут работать на других машинах без Cygwin.
  Возможные решения:
- Установить на них Cygwin
- Собрать программу с опцией -mno-cygwin (gcc -o test.exe test.c -mno-cygwin). К сожаления эта опция была удалена в новых версиях gcc
- Скопировать cygwin1.dll в папку с программой (в простейших случаях этого достаточно)

© 2008 - 2015 Солдатов Валерий Фёдорович
Ваши комментарии и замечания.