Настройка окружения для C++

Опубликовано bigov - пн, 06/19/2017 - 15:32


Представленная информация - достаточно субъективная точка зрения. Каждый вправе сам выбирать удобные для себя инструменты. Я опишу набор своих инструментов, которые я выбрал для разработки на C++ приложения OpenGL. Возможно, кому-то это покажется интересным и даже полезным.

Первое - требуется мультиплатформенный компилятор С++ при помощи которого можно собирать код для основных платформ - Win32, Linux, BSD, iOS. И с которым можно работать на любой из перечисленных платформ в составе рабочего окружения.

Так как в Linux/BSD имеется встроенная поддержка и широко используется GСС, то недолгий поиск и привел к выбору GСС в качестве основы. На платформе Win32 мне показалось наиболее удобным использовать его в составе MinGW-W64, если точнее сборки x86_64-posix-seh.

Второе - достаточно "умный", гибко настраиваемый текстовый редактор с подсветкой, синтаксическим анализатором кода и возможностью отладки. Важно чтобы редактор не был "привязан" только к одной платформе. Точнее, чтобы в любой используемой для работы операционной системе была возможность работать с кодом в привычном окружении, не отвлекаясь на настройки рабочего места.

Конечно, идеальным был-бы вариант наличия постоянно доступного в режиме "онлайн" рабочего окружения с IDE в окне интернет-браузера. Но такой вариант удобен только при разработке веб-приложений и использовании WebGL. Если же разрабатываемое приложение основано на OpenGL и предназначено для запуска непосредственно в операционной системе рабочей станции клиента, то его отладку все-таки удобнее производить локально. А значит, все рабочее окружение тоже должно быть доступно локально.

Так как у меня уже имелся опыт ежедневного использования консольной версии текстового редактора Vim, при администрировании рабочих серверов на FreeBSD то, после ряда попыток, в качестве редактора прижился gVim. На тему его использования в Сети существует много споров и сравнений с другими приложениям, поэтому я не буду описывать все его возможности, а опишу только те основные функции, которые активно используются мной в работе с кодом.

Теги