Перевод статьи «C/C++ development in Eclipse IDE».
Eclipse IDE
Eclipse IDE (Integrated Development Environment, среда разработки программного обеспечения) — одна из главных IDE на Java. Она соперничает в этом с другой популярной IDE под названием Netbeans. И Eclipse, и Netbeans, прежде всего, являются средами разработки на Java. Недавно в них была добавлена поддержка других языков.
Изначально Eclipse был разработан в корпорации IBM. Теперь её развитием занимается Eclipse Foundation. Eclipse мультиплатформенная, открытая и свободная IDE. Её выбирают тысячи разработчиков по всему миру.
Eclipse IDE написана на языке программирования Java. GUI создается с помощью SWT, Standard Widget Toolkit. SWT также был сделан в IBM. В отличие от Swing, который написан на Java, SWT позволяет операционной системе создавать GUI. SWT использует собственный интерфейс Java, чтобы сделать это. Главным преимуществом SWT является скорость и «родной» вид.
Среда разработки на C доступна в качестве плагина или отдельного пакета. Доступны несколько пакетов Eclipse IDE. Для разработки на C/C++, мы выбрали «Eclipse IDE for C/C++ Developers» со страницы загрузок на сайте eclipse.org.
Среда разработки
На следующем скриншоте продемонстрирована Eclipse IDE.
Этот запущенный Eclipse называется Рабочим местом. Рабочее место разделено на части под названием Перспективы. Перспектива — логическая группа нескольких редакторов и обозревателей.
1. Обозреватель проекта
2. Редактор исходного кода
3. Обозреватель консоли
В Обозревателе проекта (Project Explorer) мы создаем наши проекты программ и управляем ими. В окне редактирования исходного кода, мы редактируем исходный код, метафайл, мэйкфайл и другие редактируемые файлы. Eclipse IDE использует обозреватель консоли для показа различных сообщений или выходной информации от консольных приложений.
Консольный проект на C
Затем мы создадим простое консольное приложение на C. Чтобы создать приложение в Eclipse, мы должны начать проект. Проект — это группа директорий, файлов и других ресурсов, требуемых для приложения на C.
Из меню File мы выбираем New, C Project. Также мы можем создать проект, используя контекстное меню, сделав клик правой кнопкой на Project Explorer и выбрать New, C Project во всплывающем окне. И также мы можем кликнуть на кнопку New на панели инструментов и выбрать C Project.
В диалоговом окне мы даем имя нашему проекту на C. А затем нажимаем на кнопку Finish.
В Project Explorer мы видим наш только что созданный проект на C. Следующим шагом будет создать файл исходного кода C. Правой кнопкой нажмите на проект в Project Explorer, выберите New, Source file.
В диалоговом окне, мы даем имя нашему новому исходному файлу на C. Мы должны дать ему расширение .c. Помещаем в него следующий код:
#include <stdio.h>
int main(int argc, char **argv) {
printf("A console program.");
return 0;
}
Наконец, мы производим сборку и запускаем консольное приложение. Чтобы сделать сборку проекта, выберите меню Project и выберите опцию Build Project, или кликните правой кнопкой на консольный проект в Project Explorer и выберите ту же опцию Build Project. Если все пройдет как надо, мы сможем запустить приложение нажатием клавиш Ctrl + F11.
Простое приложение GTK+
В следующем примере, мы создадим простое приложение GTK+ на языке C.
Чтобы создать даже просто приложение GTK+, мы должны использовать несколько подключаемых файлов и библиотек. К счастью, есть одна удобная утилита под названием pkg-config, которая очень помогает настраивать конфигурацию проекта.
pkg-config возвращает мета-данные об установленных библиотеках. Проще говоря, если нам требуется использовать специальную библиотеку, она предоставит нам необходимую информацию о зависимых библиотеках и подключаемых файлах, которые нам нужны. Программа pkg-config запрашивает информацию о пакетах из специальных файлов мета-данных.
$ pwd
/usr/lib/pkgconfig
$ cat cairo.pc
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: cairo
Description: Multi-platform 2D graphics library
Version: 1.4.2
Requires.private: freetype2 >= 8.0.2
fontconfig libpng12 xrender >= 0.6 x11
Libs: -L${libdir} -lcairo
Libs.private: -lz -lm
Cflags: -I${includedir}/cairo
Это файл метаданных для библиотеки cairo, мултиплатформенной 2D графической библиотеки. Чтобы использовать библиотеку cairo, нам потребуются библиотеки freetype2, fontconfig, libpng12, xrender и x11.
$ pkg-config --cflags gtk+-2.0
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0
-I/usr/include/cairo -I/usr/include/pango-1.0 -
I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -I/usr/include/freetype2
-I/usr/include/libpng12
Добавляя опцию --cflags, мы получаем все необходимые подключаемые файлы для приложения GTK+ 2.0.
$ pkg-config --libs gtk+-2.0
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0
-lgdk_pixbuf-2.0 -lm -lpangocairo-1.0
-lfontconfig -lXext -lXrender -lXinerama
-lXi -lXrandr -lXcursor -lXfixes
-lpango-1.0 -lcairo -lX11 -lgobject-2.0
-lgmodule-2.0 -ldl -lglib-2.0
Мы получили все библиотеки с помощью опции --libs. Учтите, что нам могут и не потребоваться все библиотеки. Математическая библиотека (-lm) не нужна, пока мы не производим математические вычисления.
#include <stdio.h>
#include <stdlib.h>
#include <gtk/gtk.h>
int main(int argc, char** argv) {
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(window),
GTK_WIN_POS_CENTER);
gtk_window_set_default_size(GTK_WINDOW(window),
200, 100);
gtk_window_set_title(GTK_WINDOW(window),
"gtkapp");
gtk_widget_show(window);
g_signal_connect(window, "destroy",
G_CALLBACK (gtk_main_quit), NULL);
gtk_main();
return (EXIT_SUCCESS);
}
Мы создали небольшое окно на GTK+. Прежде чем мы сможем собрать и запустить проект, мы должны установить настройки проекта. Мы должны указать подключаемые файлы и библиотеки, которые необходимы для сборки приложения.
Чтобы задать необходимые подключаемые директории, кликните правой кнопкой на иконке проекта и выберите свойства. Разверните «C/C++ General». Выберите «Paths and Symbols». Кликните на таб «Includes». Из группы языков выберите GNU C. Добавьте необходимые пути к подключаемым директориям, полученные из списка, данного утилитой pkg-config.
Затем нам необходимо подключить необходимые библиотеки. Для нашего приложения нужно добавить только динамическую библиотеку /usr/lib/libgtk-x11-2.0.so. Выберите «Project Properties», а затем таб «C/C++ Build». Выберите свойства. В табе «Tool Settings» выберите опцию «GCC C Linker». Кликните на библиотеки. Добавьте /usr/lib/libgtk-x11-2.0.so в окно «Libraries». Учтите, что этот путь может быть другой на вашей системе.
Мы собрали проект и запустили его и должны увидеть маленькое окно GTK+ на экране.
Заключение
Eclipse IDE дает прекрасные инструменты для разработки на C/C++, которые делают процесс программирования более эффективным. В UNIX/Linux есть большое количество инструментов для разработки проектов на C/C++. Некоторые разработчики предпочитают традиционные Vi/Emacs/утилиты командной строки. Некоторые — современные среды разработки.
При создании больших проектов, среды разработки вроде Eclipse окупают себя моментально. Eclipse дает множество возможностей, таких, как автоматическое дополнение кода, свертывание кода, подсветка синтаксиса, шаблоны кода, встроенный компилятор и отладчик. В особенности он помогает людям справиться с несколькими файлами при использовании GUI, в отличие от утилит командной строки или традиционных редакторов без GUI. В конце концов, выбор инструмента для программирования всегда был связан с личными предпочтениями.
|