Файл с расширением .nbc, появившийся после компиляции программы для контроллера LEGO Mindstorms NXT, — это не ошибка и не вирус, а готовый исполняемый байт-код, который загружается в «умный блок» NXT. Аббревиатура NBC расшифровывается как Not eXactly C Byte Code — результат работы одноимённого компилятора, переводящего текст программы на языке NXC в команды, понятные прошивке робота.

Впрочем, у сокращения NBC есть и другие значения — от американского телеканала до военного термина. Ниже разберём все основные трактовки, но основной акцент сделаем на технической стороне: формате .nbc, языке NXC и практической работе с ними, поскольку именно с этим чаще всего сталкиваются энтузиасты робототехники и владельцы конструкторов Mindstorms.

NBC как язык и компилятор для LEGO Mindstorms NXT

В среде любителей робототехники под NBC обычно понимают целую связку: язык программирования NXC (Not eXactly C) и компилятор NBC, созданные разработчиком Джоном Хансеном. Язык синтаксически похож на C, но адаптирован под ограничения микроконтроллера NXT: датчики, сервомоторы, дисплей и связь по Bluetooth.

Принцип работы прост. Вы пишете исходный код в файле .nxc, затем компилятор NBC транслирует его в байт-код — файл .nbc. Именно этот файл прошивка NXT способна исполнять напрямую, без интерпретации на лету. Такой подход даёт более высокую скорость выполнения по сравнению с графическим программированием в стандартной среде NXT-G.

  • 🧩 .nxc — исходный текст программы на языке Not eXactly C;
  • ⚙️ .nbc — скомпилированный байт-код для исполнения на блоке NXT;
  • 🖥️ BricxCC — популярная среда разработки, объединяющая редактор, компилятор NBC и загрузку на устройство;
  • 📡 Загрузка программы на блок выполняется через USB-кабель или Bluetooth-соединение.

Компилятор NBC — консольная утилита. Типичный вызов выглядит так:

nbc -O=program.nbc program.nxc

Здесь ключ -O задаёт имя выходного файла. Если компиляция прошла без ошибок, в той же папке появится готовый .nbc-файл. При ошибках компилятор выводит номер строки и описание проблемы — это первое место, куда стоит смотреть при неудачной сборке.

💡

Если вы только начинаете с NXT, установите BricxCC: среда уже включает компилятор NBC, подсветку синтаксиса NXC и кнопку прямой загрузки программы на блок — отдельно возиться с командной строкой не придётся.