NetSago
Вход
Войти

Как присоединиться?
Меню
Главная
События
Заметки
 Статьи
Теги
Поиск
О Проекте
Ссылки
Наше
NetSago Paste
NetSago Phrack
RSS События по RSS
RSS Заметки по RSS
netsago NetSago
Популярное
Веб-сервер lighttpd. by n0xi0uzz

5 способов сделать использование bash более продуктивным by n0xi0uzz

Статьи — Разработка на C/C++ в Eclipse IDE
СтатьиПрограммирование

Разработка на C/C++ в Eclipse IDE
n0xi0uzz
30 сентября 2008 02:57



Теги: cpp, eclipse, ide

Версия для печати (откроется в новом окне)


Перевод статьи «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 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 Project

В диалоговом окне мы даем имя нашему проекту на C. А затем нажимаем на кнопку Finish.

Project

В Project Explorer мы видим наш только что созданный проект на C. Следующим шагом будет создать файл исходного кода C. Правой кнопкой нажмите на проект в Project Explorer, выберите New, Source file.

C 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.

Include directories

Затем нам необходимо подключить необходимые библиотеки. Для нашего приложения нужно добавить только динамическую библиотеку /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+ на экране.

Приложение GTK+

Заключение



Eclipse IDE дает прекрасные инструменты для разработки на C/C++, которые делают процесс программирования более эффективным. В UNIX/Linux есть большое количество инструментов для разработки проектов на C/C++. Некоторые разработчики предпочитают традиционные Vi/Emacs/утилиты командной строки. Некоторые — современные среды разработки.

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

Подсветка синтаксиса в Eclipse


Теги: cpp, eclipse, ide

Статьи с такими же тегами:

Опасный код на C
Objective-C для программистов C++

Последние комментарии:

Онанимус (30 апреля 2009 22:08) :
Здравствуйте
Мигрирую с VS2008
Простите за тупой вопрос
Не понимаю, что он от меня хочет
Нажимаю run, получаю "configure launch settings from this dialog"
Выбираю "C/C++ local application", просит project, ввожу имя проекта, C/C++ application - просит файл, не понимаю какой
С уважением, Андрей

Онанимус (18 февраля 2009 20:19) :
полезная статья =) спасибо. как раз выбираю себе IDE

Онанимус (13 октября 2008 17:11) :
Нафига вручную добавлять библиотеки? Всё должно быть в Makefile, что-то вроде:
CC = gcc
all: app.c
$(CC) `pkg-config --cflags --libs gtk+-2.0` app.c -o program
clean:
rm -f *.o


Онанимус (13 октября 2008 15:56) :
Для Linux прекрасная замена KDevelop и Anjuta IDE. Особенно удобен редактор, почти как в Visual Studio, местами даже круче, в плане автоматического поиска ошибок в процессе написания кода, а не только при компиляции.

Онанимус (02 октября 2008 11:16) :
Работаю в визуал студио и эклипсе. Визуал студио намного лучше реализует контекстную помощь. Чуть более сложный код чем простые вызовы функций и эклипс уже не знает о чем речь превращаясь просто в тупой редактор.

Онанимус (02 октября 2008 10:45) :
> "Недавно в них была добавлена поддержка других языков."
Что значит недвано? Я уже года 3-4 назад использовал эклипс для разработки на Си/С++

Онанимус (01 октября 2008 17:11) :
Там есть встроенный компилятор и отладчик?
Мне пришлось mingw + gdb устанавливать :(

Онанимус (01 октября 2008 14:43) :
спасибо )
а то я так и не понял с какой стороны к ентому эклипсу подойти, дальше думаю разберусь )

Онанимус (01 октября 2008 11:58) :
ниачем =((
сравнили бы с студией чтоли ...

Онанимус (01 октября 2008 11:40) :
О чем статья-то? HelloWorld можно сделать в любой среде, и делается он везде примерно одинаково.

> "Eclipse дает множество возможностей, таких, как автоматическое дополнение кода, свертывание кода, подсветка синтаксиса, шаблоны кода, встроенный компилятор и отладчик"

Вот об этом и стоило написать поподробнее. Чем Eclipse лучше других, чем хуже? На примере HelloWorld это непонятно совершенно.

Ne01eX (01 октября 2008 04:00) :
Хороший пример практической работы с Eclipse.

Добавить комментарий:

Введите текст с изображения:


И комментарий:

Язык
English/Английский
Поиск
Расширенный Поиск
Ошиблись?
Если вы обнаружили ошибку на сайте, пожалуйста, сообщите нам о ней.
Посчитали
11 / 566
К нам сегодня зашли 23 робота. Они хотят убить всех человеков.

Зарегистрированных пользователей: 15
Онлайн: 0

Время генерации: 0.050 с
NetSago.v2.β © [2006;∞)  Neunica