Рубрика «cmake» - 3

Сейчас уже никого не удивить микроконтроллерами с энергонезависимой (чаще всего Flash) памятью объемом 512 килобайт и более. Их стоимость постепенно снижается, а доступность напротив, растет. Наличие такого объема энергонезависимой памяти дает возможность писать «тяжелые» по объему занимаемой памяти приложения, облегчая при этом последующее сопровождение кода за счет использования готовых решений из различных стандартных библиотек. Однако это ведет к росту объема файла прошивки целевого устройства, который требуется каждый раз целиком заново загружать в энергонезависимую память микроконтроллера при малейшем изменении в коде.

Цель статьи — рассказать о методе построения проекта на C и/или C++, при котором, в случае изменения участка кода, отладка которого производится чаще всего, большая часть проекта не нуждалась в повторной перезаписи. А так же показать, почему данный метод не всегда является эффективным решением.
Читать полностью »

Задавшись этим вопросом я, в первую очередь, сформулировал требования: жесткие и опциональные (но желательные) для системы сборки и графической среды разработки.
Сразу хочу отметить что речь идет о написании C++ кода не под какую-то специфичную платформу типа Android или фреймворка, например Qt, — где все уже готово, как с построением так и с редактированием кода, а об generic коде не привязанному к конкретной платформе или фреймворку.
Читать полностью »

Добрый день, сообщество !

Вот и наступило время каникул у студентов технических ВУЗов. А значит пришло время для домашних проектов и покорения новых вершин микроэлектронной техники. Сегодня речь пойдет о моих изысканиях с платами на базе микросхемы NRF51822, которая является несколько устаревшим Bluetooth модулем от компании Nordic Semiconductor. Эта компания славится радио модулями с низким потреблением тока и микросхема NRF51822 — не исключение.Читать полностью »

Полное руководство по CMake. Часть третья: Тестирование и пакетирование - 1

Введение

Данная статья повествует о тестировании и пакетировании программ при помощи CMake, гибкого и универсального набора утилит для разработки различных программных продуктов. Строго рекомендуется прочитать первую и вторую части руководства во избежание непонимания синтаксиса и принципа работы CMake.

Читать полностью »

testУважаемые коллеги!

Приглашаем вас на финальный митап серии DEV Labs в 2018 году, который состоится 15 декабря и будет посвящён разработке на C++.

Для этого митапа мы собрали программу из трёх докладов, основанных на реальных примерах из каждодневной рабочей практики.

Подробнее о программе:

testМногопоточный С++ STL на графических процессорах. Дмитрий Микушин расскажет о том, почему программировать GPU трудно, но нужно и покажет реализацию некоторых подходов с помощью Thrust;

testАгрегатирование сборки сложного проекта. Андрей Вуколов рассмотрит применимость агрегатированной сборки в проекте с учетом встроенности в существующий ПАК и агрегатирует сборку на примерах qmake и CMake;

test«Что сейчас произошло?!» Станислав Ивочкин, отвечая на вопрос – «Что происходит после нажатия Enter в строке браузера?», заглянет под капот одного из простейших действий, совершаемых пользователем. Посмотрим на работу парсеров, компиляторов и интерпретаторов, графических фрейворков и системных библиотек.
Читать полностью »

Полное руководство по CMake. Часть вторая: Система сборки - 1

Введение

В данной статье рассмотрено использование системы сборки CMake, применяемой в колоссальном количестве проектов на C/C++. Строго рекомендуется прочитать первую часть руководства во избежание непонимания синтаксиса языка CMake, явным образом фигурирующего на протяжении всей статьи.

Читать полностью »

Полное руководство по CMake. Часть первая: Синтаксис - 1

Введение

CMake — это открытый и кросс-платформенный набор утилит, предназначенных для автоматизации тестирования, компиляции и создания пакетов проектов на C/C++. Написав однажды небольшой и понятный всем скрипт, Вы тем самым обеспечите одинаковую сборку вашего проекта на любых платформах, где доступен CMake.

Язык CMake, будучи транслированным в нативный файл сборки (например, Makefile или Ninja), определяет процесс всего управления проектом. В Вашем распоряжении, с функциональной стороны, есть лишь команды, которые могут образовываться в довольно сложные конструкции. С них мы и начнём.

Читать полностью »

Привет!

Не знаем, насколько жарко у вас за окном, но у нас в JetBrains эти недели точно жара — релизная. Одну за другой мы опубликовали обновленные версии 2018.2 почти всех наших инструментов на базе платформы IntelliJ: WebStorm, IntelliJ IDEA, PyCharm, DataGrip, GoLand, PhpStorm, RubyMine и CLion.

Для команды CLion этот релиз особенный, так как включает в себя результаты нашей работы по трем очень важных направлениям:

  1. Clangd как основа для нового экспериментального движка для разбора кода на C++.
  2. Улучшения производительности IDE за счет новых архитектурных решений.
  3. Новые проектные модели, поддерживаемые в CLion.

А также поддержка Google Sanitizers, возможность пересборки отдельного файла и многое другое!

image

Ниже мы поговорим про улучшения и нововведения подробно, а самые нетерпеливые могут прямо сейчас скачать бесплатную 30-дневную версию с нашего сайта и попробовать новые возможности на своем проекте или специально подготовленном демо-проекте с GitHub.
Читать полностью »

В этой публикации речь пойдет о том, как выполнить сборку C++ проекта, использующего GTest и Boost, при помощи Docker. Статья представляет собой рецепт с некоторыми поясняющими комментариями, представленное в статье решение не претендует на статус Production-ready.

Зачем и кому это может понадобиться?

Предположим, что вам, как и мне очень нравится концепция Python venv, когда все нужные зависимости расположены в отдельной, строго определенной директории; или же вам необходимо обеспечить простую переносимость среды сборки и тестирования для разрабатываемого проекта, что очень удобно, например, при присоединении нового разработчика к команде.

Эта статья будет особенно полезна начинающим разработчикам, кому необходимо выполнить базовую настройку окружения для сборки и запуска C++ проекта.

Представленное в статье окружение можно использовать как каркас для тестовых заданий или лабораторных работ.

Читать полностью »

Привет!

Вот и подоспел первый релиз CLion в этом году — 2018.1! В этом посте мы расскажем, что мы успели реализовать за эти месяцы и какие планы у нас на следующий релиз.

image

Cначала очень коротко о главном. В этот релиз вошли:

  • Поддержка языка C++
    • Поддержка возможности C++17: structured binding
    • Поддержка возможности C++17: операторы if и switch с инициализаторами
    • Множество баг-фиксов и улучшений

  • Возможность использовать файлы конфигурации Clang-Tidy в CLion, а также настраивать опции для проверок из Clang-Tidy в интерфейсе CLion
  • Улучшения для пользователей Windows
    • Компилятор Microsoft Visual C++ включен по умолчанию
    • Поддержка подсистемы WSL

  • CMake и не только
    • Вызов из IDE CMake Install
    • Шаблоны для создания файлов CMakeLists.txt
    • Возможность открыть файл или папку без проектной модели CMake

  • Экспериментальная поддержка hex view в отладчике
  • Улучшения редактора:
    • “Хлебные крошки” (breadcrumbs) для C/C++
    • Действие Unwrap
    • Сворачивание управляющих конструкций

  • Поддержка новых языков в CLion: Objective-C / Objective-C++, Rust, Fortran

Можно прямо сейчас скачать бесплатную 30-дневную версию с нашего сайта и попробовать новые возможности. Для этого мы даже подготовили специальный небольшой демо-проект. А ниже поговорим об улучшениях более подробно.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js