Показать сообщение отдельно
Старый 15.02.2018, 18:13   #7
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Альтернатива для C/C++ на Trim5/SMH4

Кроме языка/платформы Go, так же неплохо с кросс-компиляцией обстоит дело и с языком/платформой Rust.

Rust -- не такой попсовый и популярный, как Go, но он более "мощный", c использованием Markdown для комментариев в коде, с лучшей продуманной системой сборки и пакетным менеджером Cargo.

За большую функциональность приходится платить большей сложностью языка, одни только макросы на основе AST (Абстрактное синтаксическое дерево) чего стоят...

Для Windows, кратко инструкция по установке выглядит следующим образом.

1. Что бы проекты собирались для Windows, необходимо проинсталлировать средства сборки C/C++, установить "Build Tools for Visual Studio 2017" со страницы https://www.visualstudio.com/downloa...al-studio-2017, при этом отметить инструменты C++ при установке.

2. Что бы проекты собирались для ARMv7, необходимо проинсталлировать средства сборки C/C++, установить gcc-linaro-7.2.1-2017.11-i686-mingw32_arm-linux-gnueabihf.tar.xz со страницы https://releases.linaro.org/componen...nux-gnueabihf/

3. Загружаем дистрибутив Rust: https://www.rust-lang.org/ru-RU/install.html и устанавливаем его.

4. Устанавливаем библиотеки исполнения для ARMv7 со статической линковкой, выполняем команду:
Код:
rustup target install armv7-unknown-linux-musleabihf
5. Создаем файл конфигурации сборщика, файл %USERPROFILE%\.cargo\config с содержимым:
Код:
[target.armv7-unknown-linux-musleabihf]
linker = "....../bin/arm-linux-gnueabihf-gcc.exe"
где .... заменяем на каталог, в который установили gcc-linaro в пункте 2.

6. Создаем шаблон проекта "hello" командой:
Код:
cargo new hello --bin
7. Собираем версию под Windows командой:
Код:
cargo build
Результат будет в файле target/debug/hello.exe, размер ~140 Кб, слинкован с VCRUNTIMExxx.dll.

8. Собираем версию под ARM командой:
Код:
cargo build --target=armv7-unknown-linux-musleabihf
Результат будет в файле target/armv7-unknown-linux-musleabihf/debug/hello (размер ~1.9 Мб), время сборки ~1 сек.

Последний раз редактировалось Gel, 15.02.2018 в 18:31
Gel вне форума   Ответить с цитированием