Что такое dev в программировании
4.9.9.2 / 5.3.0.2 (неофициальная) (24 октября 2012 года)
Dev-C++ — свободная интегрированная среда разработки приложений для языков программирования C/C++. В дистрибутив входит компилятор MinGW. Сам Dev-C++ написан на Delphi. Распространяется согласно GPL.
Проект поддерживается SourceForge. Основатель проекта Колин Лаплас, компания Bloodshed Software.
Одно время был доступен Linux-порт, однако на настоящее время актуализирована только Windows-версия.
На настоящий момент не разрабатывается, вместо него активно разрабатывается порт интерфейса Dev-C++ на wxWidgets — wxDev-C++.
См. также
Полезное
Смотреть что такое «Dev-C++» в других словарях:
Dev-C++ — showing its updated UI and new variable browsing options Developer(s) … Wikipedia
Dev — Datos generales Nombre real Devin Star Tailes Nacimiento … Wikipedia Español
Dev-Em — (Pre Crisis) Art by Steve Lightle Publication information Publisher DC Comics … Wikipedia
/dev — (от англ. devices устройства) директория в системах типа UNIX, содержащая так называемые специальные файлы интерфейсы работы с драйверами ядра. Как правило (хотя и не всегда), /dev является обычной директорией в… … Википедия
Dev — may refer to: People Dev Anand, a Indian Hindi movie actor Dev, an Indian Dev (actor), Indian Bengali actor Dev Patel, British actor, star of Slumdog Millionaire and Skins Dev Alahan, one of the prominent characters in the British soap opera… … Wikipedia
Dev — aux MuchMusic Video Awards 2011 Nom Devin Star Tailes Naissance 2 … Wikipédia en Français
DEV — steht für: Dev (Mythologie), Geist in der armenischen Mythologie Dev (Sängerin), eine US amerikanische Sängerin und Rapperin Developer, im Sinne von Entwickler Device, Endgeräte einer IT Infrastruktur und Peripheriegeräte eines Computers devot,… … Deutsch Wikipedia
Dev-C++ — Entwicklungsumgebung für C und C++ … Deutsch Wikipedia
Dev — steht für: Dev (Mythologie), Geist in der armenischen Mythologie Developer, im Sinne von Entwickler Device, Endgeräte einer IT Infrastruktur und Peripheriegeräte eines Computers devot, bei Kontaktanzeigen oder Chats Dev ist der Vornamen folgender … Deutsch Wikipedia
Dev-Em — Saltar a navegación, búsqueda Dev Em es un personaje ficticio que aparece en las historietas de DC Comics. Su primer aparición ocurrió en Adventure Comics N° 287. Pre Crisis En la continuidad pre Crisis, Dev Em era un delincuente juvenil… … Wikipedia Español
Dev-C++ — Interface en anglais de Dev C++ … Wikipédia en Français
ЧаВо = Часто задаваемые Вопросы
по интегрированой среде Dev-C++
Список вопросов
Как настроить русский язык в консольных программах?
В консольных приложениях (похожих на текстовый режим) русские буквы выводятся к кодировке CP-866, а в оболочке Dev-C++ они набираются в кодировке CP-1251. Это значит, что вместо русских букв вы увидите «кракозябры». Чтобы этого не случилось, кодировку нужно исправить с помощью простой дополнительной программы. Сделайте следующее:
Примечание от Ю. Проценко: Если программа при запуске не обнаруживает библиотеки libintl-8.dll и libiconv-2.dll, их нужно поместить в каталог C:\WINDOWS\SYSTEM32.
Как писать простые графические программы?
Для работы с графикой через браузер можно использовать онлайн-сервис Антона Деникина.
Для того чтобы на локальном компьютере подключить модуль для работы с графикой, сделайте следуюшее:
После выполнения этих действий вы можете использовать команды для рисования графических примитивов (отрезков, прямоугольников, окружностей и т.д.), так же, как раньше в Turbo C и Borland C++. Полное описание команд (на английском языке) можно найти на странице Михаэля Майна.
Вот так выглядит простейшая программа, которая выводит на экран отрезок из точки (0,0) (это левый верхний угол окна) в точку (50,50) и ждет нажатия на любую клавишу:
![]() | Программы, работающие с графикой в таком режиме, должны обрабатываться компилятором языка C++, для этого проще всего сделать у них расширение имени файла *.cpp. |
![]() | В программах, которые не работают с графикой, флажок Добавить эти команды к командной строке компоновщика нужно отключать, иначе при завершении программы будет появляться сообщение об ошибке. |
Как работать с графикой в Windows 8/10?
Спасибо П.Ф. Муль, который прислал ссылку на эту инструкцию.
Проблема состоит в том, что устаревшая версия Bloodshed Dev-C++ 4.9.9.2 не работает в операционных системах Windows 8/10.
Полная инструкция по установке современной версии Dev-C++ и подключению модуля работы с графикой пожно посмотреть на видео How to Make Graphics in Dev C++ on Windows 10.
Для того, чтобы подключить модуль для работы с графикой в Windows 8/10, сделайте следуюшее:
Ещё одна инструкция по подключению простой графики от А. Ковалёва:
The following library directories don't exist:
C:\Program Files\Dev-Cpp\MinGW64\lib32
. \Dev-Cpp\MinGW64\lib
. \Dev-Cpp\MinGW64\lib32 (это ранее сделанная копия)
. \Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib
. \Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib32
Одной фразой: Запускать после распаковки нужно exe-файл devcppPortable
Почти тоже самое. Только язык Си без С++ на видео ниже.
А теперь тоже самое, но более подробно.
Я создал папку «a_1a» на диске C:\ и поместил туда сохранённый архив, как показано на рисунке ниже.
Если архив успешно распакован, то выбираем в появившейся папке файл devcppPortable и запускаем его ( смотрите рисунок ниже. )
( версия portable не требует инсталляции )
После запуска среды разработки Dev-C++ 5.2.0.1 загрузим в неё наш проект с уроками.
Если Вы, как и я, создали папку «a_1a» на диске C:/
То ищем наш проект по такому пути: C:\a_1a\Dev-Cpp\Examples\WinAPI_21
.. и выбираем файл проекта x1.dev
Для запуска урока нам требуется скомпилировать проект ( кнопка № 1) и запустить программу ( кнопка № 2 на рисунке ).
Если Вы увидели после запуска такую картинку (показана ниже), значит всё сделано правильно.
Лабораторная работа 1-10. Интегрированная среда разработки Dev-C++ (стр. 1 )
![]() | Из за большого объема этот материал размещен на нескольких страницах: 1 2 3 4 |
Лабораторная работа 1-10
Интегрированная среда разработки Dev-C++
1. Цель работы
Целью работы является знакомство с интегрированной средой разработки Dev-C++, предназначенной для разработки программ на языке С.
2. Состав рабочего места
2.1. Оборудование: IBM-совместимый персональный компьютер (ПК).
2.2. Программное обеспечение: операционная система Windows, интегрированная среда разработки Dev-C++.
3. Краткие теоретические сведения
3.1. Структура программы на языке С
Программа на языке C представляет собой совокупность следующих элементов:
· объявлений переменных и функций;
Директивы препроцессора определяют действия по преобразованию текста исходной программы перед компиляцией.
Указания компилятору – это специальные инструкции для компилятора языка С.
Объявления переменных задают имена и атрибуты переменной, а объявления функций задают их имена, типы возвращаемых значений и атрибуты формальных параметров.
Определение функции специфицирует тело (текст) функции, который представляет собой блок – последовательность операторов. Тело функции содержит объявления и/или выполняемые операторы. Началом блока служит символ «<", окончанием – символ ">«. Определение функции имеет следующий синтаксис:
тип-возвращаемого-значения идентификатор-функции (параметр-1, параметр-2,…)
где тип-возвращаемого-значения – один из типов переменных C (например, int или float), идентификатор-функции – имя функции, параметр-1, параметр-2,… – параметры функции. Если функция имеет несколько параметров, они отделяются друг от друга запятыми. Если функции не передается никаких параметров, то в качестве единственного параметра (в соответствии со стандартом ANSI) задается ключевое слово void или просто пустые скобки.
Выполняемые операторы определяют действия программы по реализации алгоритма ее работы.
Возвращаемое функцией значение определяется в теле функции с помощью оператора return (в теле функции может быть несколько операторов return). Оператор return имеет следующий синтаксис:
где выражение вычисляется и подставляется вместо вызова функции. Тип результата вычисления выражения должен совпадать с типом-возвращаемого-значения в определении функции.
Признаком окончания операторов объявлений и выполняемых операторов является символ «;».
Чтобы программа на языке C была скомпилирована и выполнена, она должна содержать, по крайней мере, одно определение функции. Если программа содержит несколько функций, то среди них выделяется одна функция, которая должна иметь имя main. С нее начинается выполнение программы. Если программа содержит только одну функцию, то она и является главной (и должна иметь имя main).
Функция main возвращает значение типа int (обычно при нормальном завершении программы в выражении в операторе return задается число 0). Пока будем считать, что в функцию main не передается никаких аргументов, т. е. определение функции имеет следующий вид:
Таким образом, общая структура (скелет) простой программы на языке C будет выглядеть следующим образом:
3.2. Общие сведения об интегрированной среде разработки Dev-C++
Интегрированная среда разработки – IDE (Integrated Development Environment) Dev-C++ для языков C и C++ включает в себя следующие основные компоненты:
· специализированный текстовый редактор, в котором можно набирать и редактировать исходные программы;
· компилятор исходной программы в объектный код (IDE поставляется с компилятором Mingw, однако его можно настроить и на некоторые другие компиляторы);
· компоновщик для создания загрузочного модуля в различных целевых средах: (консольных программ в среде MS DOS, программ Windows с графическим интерфейсом, файлов библиотек динамических связей (DLL), а также статических библиотек;
· средства запуска программ и вывода результатов в различных целевых средах;
· отладчики для устранения логических ошибок и ошибок при выполнении программ.
Эта IDE имеет набор меню, которые дают возможность именовать и сохранять файл исходного кода, а также компилировать, компоновать, выполнять и отлаживать программы, не покидая окно IDE. Если компилятор обнаруживает ошибки, выполняется возврат в программу редактора (при этом указываются ошибочные строки программы и соответствующие сообщения об ошибках). Если программа содержит несколько исходных модулей, в IDE создается проект, в котором указываются имена файлов, содержащих исходные модули. Это дает возможность не только компоновать все объектные модули проекта в единый загрузочный модуль, но и автоматически перекомпилировать только те модули проекта, в которых были сделаны изменения.
Вызов пунктов меню, переключение окон и выход из IDE выполняется в Dev-C++ таким же образом, как и в других приложениях Windows.
Окно редактора Dev-C++ имеет следующий вид:
Панели инструментов можно добавлять или удалять с помощью контекстного меню, которое вызывается, если щелкнуть правой кнопкой мыши на свободном месте панелей инструментов.
3.3. Настройка Dev-C++
Перед работой с Dev-C++ должна быть выполнена настройка IDE.
Прежде всего, необходимо указать язык интерфейса для команд меню, кнопок панелей инструментов и выводимых сообщений (первоначально языком интерфейса является английский язык). Для изменения интерфейса в меню Tools (Сервис) надо выбрать команду Environment Options (Параметры среды) и во вкладке Interface (Интерфейс) диалогового окна этой команды из раскрывающегося списка поля Language (Язык) задать язык интерфейса: Russian (Русский) или Ukrainian (Українська).
В дальнейшем предполагается, что в качестве языка интерфейса выбран русский язык.
Во вкладке в раскрывающемся списке Тема устанавливается также вид (тема) графических элементов окна IDE. Можно установить одну из трех тем: New Look, Gnome или Blue (в дальнейшем предполагается, что установлена тема New Look). Рекомендуется также включить переключатели Не показывать заставку при запуске и Использовать тему XP, а также для стиля диалогов задать стиль Windows 2000.
Шрифт и размер шрифта, используемые в редакторе, устанавливаются во вкладке Вид диалогового окна команды Параметры редактора меню Сервис. В раскрывающихся списках Шрифт в областях Шрифт редактора и Линейка этой вкладки рекомендуется установить моноширинный шрифт Courier New и в раскрывающихся списках Размер – размер шрифта (рекомендуемый размер – 12). Линейка – это область серого цвета слева от текста программы. Ширину этой области можно изменить с помощью поля Ширина в области Линейка. При включении переключателя Номера строк в области Линейка на линейке будут выводиться номера строк программы.
Цветовое оформление различных элементов программы: ключевых слов, комментариев к программе, директив препроцессора и т. д. можно установить с помощью полей вкладки Синтаксис диалогового окна Параметры редактора меню Сервис.
3.4. Создание и редактирование простых программ в Dev-C++
Создать простую программу, состоящую из одного модуля, в Dev-C++ можно одним из следующих способов:
· с помощью команды Исходный файл подменю команды Создать в меню Файл;
· нажав кнопку Исходный файл (
· нажав клавиши Ctrl+N.
При этом в области редактора появляется новая вкладка с пустым содержимым – Безымянный1, Безымянный2 и т. д.
Набор и редактирование текста программы в Dev-C++ выполняется так же, как и в приложении Блокнот. Для вырезания, копирования и вставки фрагментов программы можно использовать команды Вырезать, Копировать и Вставить меню Правка, либо клавиши Ctrl+X, Ctrl+C Ctrl+V. Если текст программы был изменен, но изменения не сохранены, перед именем файла в названии вкладки выводятся символы «[*]».
При сохранении вновь созданного файла (с помощью команды Сохранить как меню Файл) рекомендуется задавать имя файла латинскими буквами. При сохранении файла в окне Сохранить файл следует в раскрывающемся списке Тип файла задать тип C source files (*.c).
Повторно сохранить отредактированный файл можно с помощью одной из следующих операций:
· выполнить команды Сохранить меню Файл;
· нажать кнопку Сохранить (
· нажать клавиши Ctrl+S.
Открытие файла с программой выполняется одним из следующих способов:
· с помощью команды Открыть проект или файл меню Файл;
· при нажатии кнопки Открыть проект или файл (
· при нажатии клавиш Ctrl+O.
Закрыть файл с программой можно:
· с помощью команды Закрыть меню Файл;
· нажатием кнопки Закрыть (
· нажатием клавиш Ctrl+F4.
3.5. Выполнение простых программ в Dev-C++
Простую одномодульную программу в Dev-C++ можно сразу откомпилировать, скомпоновать и выполнить одним из следующих способов:
· с помощью команды Скомпилировать и выполнить меню Выполнить;
· нажав кнопку Скомпилировать и выполнить (
Отдельно компиляция программы выполняется:
· с помощью команды Скомпилировать меню Выполнить;
· при нажатии кнопки Скомпилировать (
· при нажатии клавиш Ctrl+F9,
а выполнение программы:
· с помощью команды Выполнить меню Выполнить;
· при нажатии кнопки Выполнить (
· при нажатии клавиш Ctrl+F10.
Если при компиляции обнаружены ошибки, в окне Компилятор выводятся соответствующие сообщения:
Если же ошибок не обнаружено, выводится следующее диалоговое окно:
Если при компиляции и компоновке не обнаружено ошибок, в Dev-C++ открывается окно выполнения программы как окно приложения MS DOS:
Следует отметить, что при запуске программы в окне в Windows XP после выполнения оператора return окно выполнения программы автоматически закрывается и часто результат выполнения программы увидеть нельзя.
Чтобы этого не происходило, обычно перед оператором return ставят оператор
который вызывает функцию ввода символа. Эта функция, так же как и функция printf(), находится в разделе stdio. h стандартной библиотеки C. В этом случае окно выполнения приложения MS DOS закрывается при вводе любого символа (или просто нажатия клавиши Enter). Иногда программа уже ожидает ввода символов. В этом случае в программе необходимо два раза повторить вызов функции getchar().
Копирование результатов выполнения программы в другое приложение, например в Блокнот, выполняется с помощью команд Пометить и Копировать или команды Выделить все в подменю команды Изменить системного меню приложения MS DOS.
Следует отметить, что в редакторе Dev-C++ используется кодировка ANSI (Windows-1251), а в окне приложения MS DOS – кодировка OEM. Поэтому буквы кириллицы в строках формата функции printf() или в выводимых значениях строк будут передаваться неправильно. Чтобы этого избежать, следует использовать в строках только латинские буквы. Это не распространяется на комментарии в программе, которые можно задавать либо на английском, либо на русском или украинском языке.
3.5. Отладка программ в Dev-C++
Отсутствие в программе синтаксических ошибок не является гарантией того, что программа будет работать правильно, т. е. выдавать верные результаты. Обычно причиной неправильной работы программы является либо неверный алгоритм, либо неверная реализация правильного алгоритма, либо нарушение правил языка C (например, правил по преобразованию типов переменных).
Чтобы выявить ошибки при работе программы использовать один из следующих способов:
· вставить в «подозрительных» местах программы отладочные операторы printf();
· запустить программу в режиме отладки.
Операторы printf() можно вставить, чтобы проверить выполнение каких-либо фрагментов программы, например, выполнение цикла:
printf(«\nLoop begin»); /* Фиксация начала цикла */
Как правильно настраивать дев-окружение для веб-разработки?
Привет всем! Ребят, подскажите какие-то best practices как правильно организовывать dev окружение для веб-разработки. Имеется следующий конкретный кейс:
Международный портал, с несколькими отдельными сервисами. Например, как в Яндексе есть metrika.ya.ru, webmasters.yandex.ru, direct.yandex.ru и все это разные сервисы/кабинеты.
Допустим в компании работают три программиста. Есть dev-сервер со следующей структурой:
есть отдельный домен: company-dev.com и настроены виртуальные хосты для каждого разработчика:
Выглядит это как-то неправильно все. Не говоря уже о том, что в компании в разныз странах основной домен company.com может выглядеть как company.ru, company.de, company.fr etc.
Если в компании появляется новый разработчик, то приходится создавать ему 5 поддоменов и 5 виртуальных хостов.
Если в компании открывается какой-то новый сервис, то нужно добавить его каждому из трех (а в будущем больше) разработчиков.
Как сделать так, чтобы было 5 субдоменов на проде и 5 субдоменов на дев-сервере.
но каждый разработчик попадал в свою физическую папку? Чтоб не получилось, что три человека работают с одним файлом и мешают друг-другу. Кроме того, чтоб была возможность разработчику1 сказать тестеру или менеджеру, зайди ко мне посмотри оно работает. «зайди ко мне» имеется ввиду открыть его дев в браузере. Знаю что можно сделать своей ДНС сервер и для каждого сотрудника в компании по его айпи направлять его в нужную папку на сервере, хотя в браузере у всех будет один адрес. Но кажется что это слишком сложно. Может есть еще какие-то варианты. Как вообще люди это делают нормальные?
Есть еще мнение, что каждый разраб должен разворачивать себе локальное окружение на своем компе, но хз.
Кто решал подобные задачи, поделитесь советом, плз.
Оценить 1 комментарий
Домены будете создавать уже на продакшене. В простейшем случае склонируете на продакшн машину удаленный репозиторий проекта и в конфигах nginx нужно будет написать что-то типа такого
Есть еще мнение, что каждый разраб должен разворачивать себе локальное окружение на своем компе, но хз.
>>Разработчикам не нужен никакой dev сервер.
Иван Артамонов: с ДНС есть проблема если тестировщики внешние и у них ip не постоянные.
надо только определиться, что и как нужно:
1 сделать сборку для дев сервера (со всеми нужными хостами для разработки) те для каждого разработчика свой вирт сервер с настроенными хостами и 4 уровенем url
2 собрать выкатку на тест:
2.1 отдельной ветки [branch].service1.company.com
2.2 RC для [rc-branch].service1.company.com (c группой веток из 2.1)
2.3 выкатку на staging/pre-prod c полубоевой БД [staging].service1.company.com
и да Вам скорее всего нужен Админ ) часов на +/- 8-40 (при наличии расписанных хотелок ) для формирования системы разработки, и конечно разрешение сверху 
Иван Артамонов: разные версии php и прочего у разрабов не будут, если юзать какой-нибудь простейший Vagrant или аналоги. Прелесть в том, что у всех будет одинаковая среда. Вообще, дельные варианты предложили, буду рад потом прочитать статью на Хабре о том, как вы все организовали 
Иван Артамонов: вы ошибаетесь. Полный url это domain.com/index.php/catalog/product и всё что после index.php это не папки, а обычная строка, так называемый роут. Картинку ищет не браузер, а веб-сервер и делать он это будет относительно той директории, которую вы ему укажите для домена domain.com. Если у вас
Иван Артамонов: index.php не убирают, а скрывают, но в любом случае все урлы по которым физически на сервере ничего не существует, он редиректит на точку входа index.php, который лежит в корне. Соответственно, какую страницу сайта вы бы не открыли, ваш current path всегда будет равен директории где лежит index.php т.к все страницы вашего сайта динамические и физически их не существует на сервере (они все генерируются через index.php). Соответственно на любой динамически сгенерированой странице сайта (через index.php) все ассеты будут резолвиться относительно этого current path. Я мог бы вам показать, что именно так это и работает и я уверен в этом на 100%, но мне лень тратить своё время и разворачивать для вас демо, чтобы что-то вам доказать. Достаточно понять, что ваш веб сервер всегда обращается к файлу index.php, какую страницу сайта вы бы не открыли, если у вас одна точка входа, незвисимо от того, видите ли вы index.php в урл или нет. И соответственно все картинки без начального слеша будут отдаваться относительно директории того файла, к которому вы обратились, а это index.php для любой страницы вашего сайта.
Про тестеров я вам уже не раз писал. Если у вас есть специально обученный человек, которому не жить как приспичило тестировать каждую ветку в отдельности, то он может скачать эту конкретную ветку себе на дев машину и делать там всё, что он хочет не заморачивая голову остальным. Но вообще в крупных компаниях тестировщики работают не так, они плевать хотели на все эти ваши ветки, они ничего в них не понимают. У них есть чек-листы и именно по ним они проверяют конкретный билд, который собирается выйти в релиз. Это не ветка и не одна фича, это то, что уже реально готово выйти на продакшн как next version. Если тестеры заворачивают этот билд, то разработчики правят то, что тестировщиков не устраивает и выкатывают новый билд. И для таких вещей есть stage. Ваша проблема в том, что вы сами же придумали себе проблему, а теперь пытаетесь героически её решить.
На этом всё. В дальнейшую дискуссию не вступаю, поскольку мне больше нечего сказать, по вашей теме.
И собственно ветка будет не для разработчика, а для фичи/фикса/дева
Про структуру репозитория почитать можно тут: https://habrahabr.ru/post/106912/
Как это реализовать, я не подскажу, так что это не более чем концепт.
P.S. как по мне, если разработчики правят один и тот же файл, то тут дело в постановке задач для них.
Иван Артамонов: как минимум он уменьшить количество. Допустим у вас будет 5 разрабов, а в работе 2 фичи для основного сайта и один фикс для service1. Таким образом у вас должны быть ветки: [dev|feature1|feature2].company.com и [dev|fix1].service1.company.com. Я думаю 5 доменов, вместо 10 неплохое сокращение. Да и к тому же это позволит вам понимать, что происходит на том или ином домене.
Иван Артамонов описанная Илья схема потребует введения в работу, к примеру Jenkins,
и вся работа будет строиться примерно так:





















