Новый CodeBlocs. Версия 25.03
Запись от palva размещена 04.01.2026 в 01:33
Показов 2311
Комментарии 0
Оказывается, недавно вышла новая версия CodeBlocks за номером 25.03. Когда-то давно я возился с только что вышедшей тогда версией 20.03. С тех пор я давно снёс всё с компьютера и забыл. Теперь попробую установить новую версию с нуля настроить компиляторы си и фортрана, идущие вместе с CodeBlocks, и попробовать их. Я не буду вдаваться в теорию и уходить в подробности. Я лишь буду подробно объяснять те шаги, которые я делаю. Надеюсь, что мои заметки будут полезны начинающим, и они смогут пройти дальше меня и изучить подробности.Скачиваем. Открываю https://www.codeblocks.org/ Слева в меню есть ссылка "Downloads", которая открывает страницу скачивания. На ней есть ссылка "Download the binary release". На очередной странице под заголовком Microsoft Windows (64 bit, default) имеется пять вариантов скачивания. Выбираю четвертый вариант, о котором сказано: NOTE: The codeblocks-25.03mingw-setup.exe file includes additionally the GCC/G++/GFortran/Clang compiler and GDB debugger from WinLibs project (version 14.2.0, 32/64 bit). По сути это означает, что вместе с CodeBlocs скачивается набор компиляторов (перечислено), а также отладчик. Вам придётся скачать около 400 Мб. В то время как установочный файл CodeBlocks без компиляторов весит 50 Мб.Установка. Устанавливаем по умолчанию. В максимальном объёме. Со всем соглашаемся. В конце установки нажимаем кнопку открытия CodeBlocks. При первом запуске происходит поиск и присоединение компиляторов. В поставке идут компиляторы MinGW версии 14.2. Установка размещает директорию MinGW как поддиректорию директории CodeBlocks. Компилятор в CodeBlocks это не то что вы подумали. Это не программа, это набор программ на разные случаи жизни, которые для пользователя фигурируют под некоторым именем. Например, под именем GNU GCC Compiler собраны исполнительные файлы gcc.exe, g++.exe и некоторые другие. Всего этих компиляторов-имён несколько десятков, в каждом из них уже прописаны какие-то исполнительные файлы. Вот при своём первом запуске CodeBlocs и проверяет, для каких компиляторов местоположение исполнительных файлов указано правильно. Результат этой проверки показан в первом открывшемся окне. Мы видим, что GNU GCC Compiler имеет правильные установки. Он объявлен дефолтным. В списке оказались правильно прописанными еще два компилятора, которые нас не интересуют. Обратите внимание, что компилятора фортрана GNU Fortran Compiler среди правильно прописанных нет, далее мы будем прописывать его вручную. Нажимаем OK, и появляется второе окно первого запуска. Оно касается связи CodeBlocks с некоторыми файловыми расширениями. Нужно выбрать, какие файлы будут по умолчанию открываться в CodeBlocks. Я выбираю четвёртый вариант. Теперь все файлы с расширениями c/cpp, f/f90/f95, cbp и некоторые другие будут открываться при помощи CodeBlocks. Нажимаем OK, второе окно закрывается и, наконец, открывается сам CodeBlocks.Теперь нам надо проверить настройки компиляторов и поправить их, если что не так. Через верхнее меню открываем Settings -> Compiler.... Откроется окно Global Compiller Settings, которое в самом верхнем выпадающем списке содержит имена компиляторов. Нас интересуют два из них. Обычно там уже выбран и настроен компилятор по умолчанию GNU GCC Compiler. Нам надо зайти и проверить, всё ли правильно. Выбираем вкладку Toolchain executables, на которой должна быть указана директория компиляторов, у меня это C:\Program Files\CodeBlocks\MinGW, и указаны исполнительные файлы. У меня они такие:C compiler: gcc.exeЕсли мы в окне что-то исправляли, то нам надо нажать OK, и нас выбросит из установки компиляторов. Нужно снова открывать Settings -> Compiler....Теперь фортран. Ищем компилятор GNU Fortran Compiler. Снова выбираем вкладку Toolchain executables. Здесь CodeBlocks не нашёл правильных исполнительных файлов. Во-первых, надо исправить директорию компиляторов, а именно C:\Program Files\CodeBlocks\MinGW, а во вторых установить такие исполнительные файлы.C compiler: gfortran.exeДалее, на вкладке Linker settings в правом разделе вставляем строку -lgfortran Это подключение фортрановских библиотек. Теперь можно нажать OK и окно настройки компиляторов закроется.Посмотрите ещё настройки редактора кода. Settings -> Editor.... Здесь можно выбрать шрифт, размер, кодировку. Если вы будете создавать консольные программы, то для ввода/вывода русских букв будет удобно, когда ваша программа набрана в кодировке cpp866. В настройках она обозначена как WINDOWS-866. Можно оставить как есть WINDOWS-1251, но тогда надо в самой программе добавить некоторый код для переключения кодировки кириллицы.Для экспериментов создаём пустую директорию D:\Projects Сначала пробуем редактор. Из верхнего меню открываем File -> New -> File... окно создания файла. В нём кликаем по иконке C/C++ source Справа вверху нажимаем кнопку Go (Вперёд). Проходим по мастеру создания файла, задавая тип C++, имя файла main.cpp и директорию D:\Projects, в которой он будет создан. В результате созданный пустой файл будет открыт в окне редактирования Вводим в него следующий текст:
CodeBlocks существует много способов для выполнения одного и того же действия. При наведении курсора мыши на иконку панели инструментов возникает подсказка, за что отвечает эта иконка.Таким же образом, но кликая по кнопке Fortran source создаём файл main.f90, в который вводим следующий фортрановский текст:
CodeBlocks закрытием окна. CodeBlocks предложит нам сохранить фортрановский файл, с чем мы, конечно, соглашаемся.Теперь попробуем два раза кликнуть левой кнопкой мыши по файлу main.cpp. Как и положено, данный файл открывается в редакторе CodeBlocks. Далее кликаем по main.f90. Этот файл тоже открывается но во второй вкладке редактора. Для компиляции и запуска предназначены следующие кнопки на панели инструментов: шестерёнка Build, треугольник Run, шестеренка с треугольником Build and run и круговые стрелки Rebuild. Эти же действия можно вызвать через главное меню, имеются также горячие клавиши.Итак, встаём на вкладку main.cpp. Нажимаем Build and run. Запустится компиляция и в случае успешной компиляции запустится сама программа. При этом мы увидим чёрное окно, куда программой будет выведено приветствие, затем появится просьба нажать клавишу для закрытия окна. Типа, работает. Посмотрим, какие файлы появились в нашей директории. Мы видим исполняемый файл main.exe и его полуфабрикат объектный файл main.o. Теперь, не закрывая CodeBlocks, кликаем по вкладке редактора main.f90. На этот раз, если мы нажмём Build and run, создание исполнительного файла не завершится. Будет выдана информация о неразрешённых внешних ссылках. Казалось бы, мы уже подключили фортрановские библиотеки. Но давайте разбираться. В самой первой строке сообщений о работе в скобках написано (compiler: unknown). А в этом случае запускается компилятор по умолчанию, то есть компилятор GNU GCC Compiller. Убедиться в этом можно переключив вкладку сообщений. После попыток компиляции там будут открыты Сообщения при сборке (Build messages). Если переключиться на Журнал сборки (Build log) то мы увидим две строчки -- два запуска программы g++.exe. Довольно неожиданно. Оказывается, программа g++.exe по расширению файла умеет выбрать нужный компилятор. Причем в её ассортименте не только C и C++, но и фортран. Теперь понятно, почему настройки GNU Fortran Compiler не сработали. Настраивать нужно тот компилятор который используется, т. е. компилятор по умолчанию. Но вы уже умеете это делать. На вкладке Linker settings компилятора GNU GCC Compiller в правое окно впишите строчку -lgfortran и нажмите OK. Теперь компиляция фортрановской программы пройдёт. Если вам нужен только фортран, то корректнее не заниматься настройкой компилятора GCC, а сделать компилятор Fortran компилятором по умолчанию. Для этого заходим в настройки компиляторов, выбираем GNU Fortran Compiler и ниже нажимаем на кнопку Set as default. Правда, в этом случае программы си компилироваться не будут.Итак, мы умеем прямо из редактора кода компилировать и запускать программы на си и фортране. Для кого-то это окажется достаточным. Главный недостаток такого режима разработки это невозможность запустить отладчик. А для отладчика файл с программой должен быть не сам по себе, а находится в рамках проекта. В проекте можно выбрать компилятор, включить в него множество файлов с кодом, переключать режим Отладка/Релиз и многое другое. CodeBlocks отслеживает, какие файлы были изменены разработчиком, и при очередной сборке делает только те перекомпиляции, которые требуются. В проекте можно установить различные параметры компиляции, которые будут перекрывать параметры указанные в настройках компиляторов. Поэтому давайте уберём опцию -lgfortran из установок GNU GCC Compiller. Будем учиться работать с параметрами проекта. Прежде чем создавать проекты поговорим о некоторых других вещах:Если вы два раза кликните в папке по файлу main.exe, то он работать не будет. Вы увидите окно с сообщением, о том что программа не может найти библиотеку. Программа для выполнения требует среду, которая состоит из нескольких dll-библиотек. Эти библиотеки находятся в директории bin, и составляют суммарно более 7 мегабайт. В то время как исполняемый файл занимает килобайтов 60. Можно собрать исполняемый файл таким образом, чтобы он включал в себя весь требуемый код из библиотек. Но в этом случае его размер увеличится более чем в десять раз. Я привожу приблизительные цифры. Библиотеки среды выполнения можно скопировать в директорию D:\Project. В этом случае они будут видны из файла main.exe и файл запустится без осложнений. Я приведу здесь их список. Если вы захотите перенести результат компиляции на другой компьютер, то их тоже надо переносить. Возможно, список не полный. Но для наших программ он достаточный.libgcc_s_seh-1.dllЗдесь часть библиотек нужна только для си, а часть только для фортрана. Можно решить проблему другим образом: не копировать библиотеки, а прописать директорию bin в переменную PATH. Вы наверняка умеете это делать. В этом случае среда выполнения MinGW также будет доступна. Только перезапустите после этого командное окно. Если вы не хотите трогать переменные среды, то можно модифицировать PATH из командного окна, а затем запускайте main.exe. Например, в директории D:\Project создайте следующий файл под именем run.bat
main.exe запустится и даже притормозится закрытие окна, чтобы вы могли увидеть результат работы.Теперь покажем, как запустить компиляцию из командного окна. Нажимаем Win-R, запускаем cmd. Дальше в окне выполняем следующие команды:D:Мы оказались в нашей директории. Чтобы модифицировать PATH, проще всего запустить уже созданный нами файлrun.batОн запускает main.exe, это нам не нужно, но при этом он делает нужную нам вещь -- модифицирует PATH. Теперь файлы компиляторов доступны, и мы готовы их запускать. Причем настройки в CodeBlocks никак не будут влиять на их работу. Пробуем такие команды запуска:g++ main.cppПервая команда компилирует файл C++ остальные фортран. Все команды изготавливают исполняемый файл с именем по умолчанию a.exe. Каждая следующая строка перезаписывает этот файл. Чтобы задать нужное имя выходного файла, можно добавить опцию -o main.exe Предпоследний запуск делает файл размером 64804, а последний -- 702597 байт. Зато последний файл работает автономно без среды выполнения. Автономный файл для C++ получится больше двух мегабайт. Для его создания можно, например, запустить командуg++ main.cpp -static -o main_static.exeВот. Получилось 2696659 байт. Теперь займёмся созданием проекта. Главный файл у нас будет на C++, а на фортране мы напишем подпрограммы. Итак, запускаем CodeBlocks. Нажимаем Create a new project. В открывшемся окне выбираем иконку Console application и нажимаем кнопку Go. Следующее окно пропускаем, в следующем выбираем C++, в следующем окне в Project Title пишем cppfor, Folder to create prоject in выбираем или пишем D:\Project. Нажимаем Next. Здесь нам предлагают выбрать компилятор. Выбираем GNU Fortran Compiler, поскольку в нём уже присоединены фортрановские библиотеки. Далее нам предлагают создать два режима: один для отладки (Debug) и второй в качестве окончательного релиза (Release). Оставляем обе галочки и нажимаем Finish. Проект создан. Слева в дереве проекта плюсиком открываем Sources. Единственный файл main.cpp удаляем. Создаём пустой файл File -> New -> Empty file. Мастер создания задаёт вопрос, следует ли данный файл присоединять к проекту. Отвечаем Yes. Предлагается задать имя файла. Задаём ccc.cpp и нажимаем Сохранить. Следующее окно для выбора Debug/Release. Оставляем обе галочки и нажимаем ОК. Файл открывается. Вставляем в него следующий текст:
for.f90 со следующим содержимым:
Build -> Select target, там стоит Debug. Нас это устраивает. Нажимаем кнопку Build and run. Всё компилируется и запускается. Закрываем чёрное окно нажатием клавиш.Теперь пробуем отладчик. На панели инструментов отладчику посвящена группа иконок правее. Она начинается иконкой с красной треугольной стрелочкой, при наведении на которую мышкой выплывает подсказка Debug/Continue. В коде for.f90 справа от номера строки 14 кликаем мышкой. В этом месте появляется красный кружок. Это точка останова. Запускаем программу нажатием на иконку Debug/Continue. Программа начинает работу в автоматическом режиме и останавливается на точке остановки. Поверх красного кружка появляется зеленый треугольник, который показывает, где мы сейчас стоим. Можно перейти на чёрное окно консоли и посмотреть, что программа туда уже успела вывести. Теперь мы хотим посмотреть содержание переменной a(2,3). Открываем окно переменных через верхнее меню Debug -> Debugging windows -> Watches. Переменная a в этом окне с плюсиком, поскольку это массив. Плюсиками добираемся до индексов (2,3), видим там значение 8. Теперь лезем в сишный код. Видим, что там этому значению соответствует индекс [2][1]. Всё правильно. Фортран в отличие от си хранит матрицы не по строкам, а по столбцам, а индексы начинаются с 1, а не с 0. Далее возвращаемся на фортрановский код и нажимаем иконку Next line. Зеленый треугольник в коде перемещается на следующую строку, а переменная i в окне переменных меняет значение с 0 на 1. Отладчик работает. Нажимаем ещё правее иконку с крестиком Stop Debugger. Чёрное окно и окно переменных закроются.Мы готовы к релизу. Меняем таргет. Build -> Select target, здесь галочкой помечаем Release. Запускаем Rebuild. Сборка успешна. Обратите внимание, исполняемый файл cppfor.exe в варианте Debug содержит информацию для отладки и занимает 116042 байтов. Файл Release не содержит этой информации и занимает 23040 байтов. Теперь предположим, мы захотели для релиза выпустить автономный файл. Для этого открываем Project -> Build Options... В левом дереве выбираем Release, далее на вкладке Linker settings в правом окне вписываем строку -static-libquadmath Нажимаем OK. Снова пробуем собрать. Собирается без ошибок. Заходим в папку cppfor\bin\Release и пытаемся двойным кликом запустить полученный cppfor.exe автономно. Запускается. Размер файла 1315328 байтов.На этом я закончил эксперименты. Возможно, многое я не понял и использовал неправильно. Информационный шум интернета бывает противоречив. Кое-какие вопросы, связанные с настройками компиляторов у меня остались неразрешёнными. Любые замечания и поправки приветствуются. | |||||||||||||||||||||||||
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии


