N年前学的makefile,当时还勉强能写一些简单的工程编译,现在已经基本忘了。makefile确实编写复杂,而且平时也不是经常使用,容易忘记。偶识了scons,一切都变的简单了。...最近研究了下scons,原来需要上百行的makefile编译过程,现在只需要十行不到,而且没有makefile那些繁杂的结构语法,完全使用python语言就可以进行编译脚本编写,非常好记忆和编译一些大的工程...直接使用apt-get install scons命令就可以完成安装,需要python环境。...编译脚本 Scons对应的编译脚本名称为SConstruct,就如同make对应的编译脚本为makefile SConstruct脚本编写 编译函数 Program():执行编译操作,生成可执行文件...编译参数 target,生成的执行文件名字 source,编译文件 LIBS,依赖库 LIBPATH,依赖库路径,有环境变量的可不添加,针对用户库或第三方库 CPPPATH,头文件路径
Sconstruct 文件 是scons用来控制编译的文件 2. Sconstruct 文件 是一个python脚本 3....java程序, User Guide 2.3, Chapter 25 Library : 静态库, 也可以使用 StaticLibrary替代 SharedLibrary...Execution Environment {{{2 当scons构建一个目标文件时,它所使用的外部环境和执行scons时的环境变量是不同的。...scons使用$ENV 构建变量 中 存储的目录 作为它执行命令的外部环境变量 > PATH POSIX 系统中默认的PATH是 /user/local/bin:/user...你可以在脚本中多次使用Help,帮助信息会被连接到一起 六、scons 命令行参数 {{{1 用户可以为scons指定三种类型的参数: > Options : 以
通过使用 GDExtension C++ 编写扩展插件,可以作为库文件在 Godot 中交互使用。...GDExtension 可以使用 C++ 原生库,提高了性能,还可以自编写游戏逻辑,无需和引擎一同编译。...MinGW 也可以在 Linux 平台下使用。MinGW 的编译目标仅兼容 32 位应用程序,于是衍生出了 MinGW-w64,支持 32 位和 64 位的应用程序。...GDExtension 的 godot-cpp 绑定工具就需要使用 scons 进行编译,所以需要配置 Python 和 scons 环境。...构建 Godot 项目首先通过 Godot 新建项目,也可以从已有项目导入,如上图所示。
scons 引用 rtt 文档中心的一句话来介绍 scons: scons 是一套由 Python 语言编写的开源构建系统,类似于 GNU Make,它采用不同于通常 Makefile 文件的方式,而是使用...这些文件也是 Python 脚本,能够使用标准的 Python 语法来编写。...使用 makefile 时,我们可以通过命令行输入 make 来编译工程,在使用 scons 时,同样的道理,我们也可以使用 scons 来编译工程,如图所示: ?...src 可以看到这里的 src 所代表的意思就是将当前文件夹下的所有 .c 文件加入到 Application 中,这里也可以控制指定的文件加入到对应的 group 中。...同时,RTT 采用 scons 来进行构建工程,通过 SConscript 控制文件和 group 加入到工程中进行编译。
Rust 的设计理念完全是嵌入式开发所需要的。 嵌入式软件在运行过程中出现问题,大部分是由于内存引起的。Rust 语言可以说是一门面向编译器的语言。在编译期间,就能够确保你安全地使用内存。...目前,嵌入式的主流开发语言还是 C 语言,不能上来就把底层的逻辑用 Rust 重新实现一遍。但是可以在 C 代码中嵌入 Rust 语言。...创建 lib 库 1、在 Clion 中使用 cargo init --lib rust_to_c 建立 lib 库。添加以下代码到 lib.rs 中,使用 Rust 语言计算两个整数的和: #!...{ loop{} } 2、生成库文件和头文件并放在 application 目录下 3、使用 scons 编译,链接时报错,在 rust github 仓库的 issues 中找到了...在 C 代码中调用 Rust,那么在 Rust 中也可以调用 C 代码。
用最简单的办法,实现rtt移植lvgl的过程。只需要加几个文件,就可以在使用最新版本的LittlevGL图形库了。...当然,如果手上没有树莓派硬件,也可以通过qemu进行体验。首先需要安装最新版本的qemu。建立如下的运行脚本即可。 if [ !...首先rtt采用的是SCons的方式进行编译,而LittlevGL却是采用makefile的方式进行。这里新增几个Sconscript脚本就可以了。...接着在lvgl/src也添加上述的脚本。...这样就可以使用scons编译lvgl了。 接着写对接驱动,为了不修改太多的lvgl相关的东西,我建立了一个lv_rtt_port的目录,专门对接lvgl。 ?
对于第一阶段的任务划分,规划如下: 1.riscv32工程模板的构建 输出目标:工程编译正常 该工作主要适配scons工程、目录结构、编译脚本,链接脚本、文件组织。...4.riscv32工程模板的构建 rt-thread是以scons脚本进行编译和链接的,所以在制作bsp时需要依据scons的构建规则进行统筹规划。...最简单的工程只需要包括 1.scons构建的必须文件 Sconscript、SConstruct 2.menuconfig配置文件 Kconfig 3.链接脚本文件 link.lds 4.rtt配置文件...接着就需要进行设计将代码能够正常的编译通过。 不改变其他工程代码,经过一些列的调整,将代码能够通过scons编译即可。...也会在近期选择riscv32的硬件平台进行选型以及移植测试。
介绍 SpiderMonkey是Firefox使用的脚本引擎,V8是Google Chrome使用的脚本引擎。.../1.8) 解压… 从“VC命令提示”进入控制台,然后进入到MSYS中,这样做的目的是为了让MSYS能使用VC的编译器。...另外,默认是使用VC的运行库的(即使用-MD编译参数),如果不喜欢,可以修改src/confg目录下的*.mk文件(比如把-MD改成-MT) 对于MinGW用户,请参考这里http://jargon.ca...的编译脚本软件,可以把它看作是“高级”一点的make。...:%include%,LIB:%lib%” 默认是静态链接,静态VC库,可以这样修改编译参数 scons library=shared msvcrt=shared env=… 输入scons –help
二、RT-Thread遵循的许可协议 RT-Thread的开源协议是进行过调整的,在2018年RT-Thread官方公众号发布的一篇文章[1]中,我们可以知道当时是使用的GPLv2协议, ?...支持GPIO和UART外设,支持SCons构建系统,可以输入scons调用env工具中包含的arm-gcc编译器构建工程,支持以下scons命令: scons:使用arm-gcc编译BSP scons...,至少应该包括以下部分: 内核移植,支持线程调度、线程间同步和通信 支持GPIO/UART外设,PIN/Serial设备驱动 支持SCons构建系统,可以使用arm-gcc进行编译,支持生成MDK工程,...BSP包,可以参考其他BSP文件夹下的README文件 提交关于BSP的代码,尽量确保代码改动仅限制于BSP中,而不影响到其他代码,否则可能会被拒绝[3]。...6.添加到CI自动化编译 如果是提交的完整BSP,可以将BSP添加到CI编译脚本,使用远程主机对BSP进行编译,和本地使用arm-gcc scons编译是一样的,如果本地编译正常,这一步基本也会通过。
链接脚本:修改KEIL5的连接脚本,因为GD32F350R8T6的flash大小为64K,SRAM大小为16K。所以要进行修改。...其实这一步不修改也是可以的,可以在KEIL中设置,修改内容如下图: 修改库: 下载官方的库文件,下载链接:http://www.gd32mcu.com/cn/download/7?...修改board.h中ram的大小配置。将128修改为16即可。 编译测试。...然后就可以正常编译通过: 系统时钟 提供给系统的是采用GD32的SysTick,代码如下,然后再rt_hw_board_init()函数初始化SystemClock_Config()。...关于兆易创新的GD32350R评估板的BSP目前我也已经提交到了RT-THREAD,应该过几天就可以merge到主仓库中。
SSH 密钥配置的时候,我们可以在远程主机上生成密钥,也可以在本机生成密钥,最终将配置关联就可以。....zip解压有惊喜哦 -- 在DevEcoDeviceTool\extension\deveco\tool您能得到HiBurn.exe,这个程序就可以用来烧录(相当于不使用 VSCode 的扩展在程序中配置烧录参数直接烧录...如果您和我一样还想尝试一下在 CentOS 上搭建环境,那就推荐鸿蒙社区的文章--在 CentOS 中安装鸿蒙 LiteOS 编译环境-海思 Hi3861[8],同样的也只取我需要的--我只需要编译部分的环境搭建...HarmonyOS Devic环境搭建-安装Scons 2.3 安装编译工具环境 我们需要用到的编译工具有交叉编译器 gcc_riscv32、 产生 ninja 编译脚本的 gn、执行 ninja...、构建和配置脚本 │ └── lite ├── build.py # 编译脚本文件 ├── device # qemu模拟不同内核运行在不同的单板
source=dlp SCONS编译器http://sourceforge.net/projects/scons/?...source=dlp Pythonhttp://www.python.org/ JsonCPP类库需要Scons编译器来编译,而Scons需要Python安装了才能使用。...输入以下命令: scons platform=linux-gcc 就会安装成功 3、 上述已经完成jsoncpp的编译,在解压目录jsoncpp-src-0.5.0/libs/linux-gcc...-4.8下可以看到生成了两个文件: libjson_linux-gcc-4.8_libmt.a libjson_linux-gcc-4.8_libmt.so 这两个分别是生成静态和动态库文件...当然,多数情况下是将动态链接库的名字改得简单些。 也可以将.a和.so的文件直接复制在工程目录下,那么就不用写那么长的路径,直接".
Linux环境用于代码下载、编译等。这里推荐大家只使用Linux环境即可,Linux可以使用Ubuntu 20.04版本。...关于Windows环境,大家可装可以不装,编写代码可以使用自己喜欢的IDE、下载的话,不同开发板都会提供不同的下载工具。本文也会列出来,但是后面官方可能会更新,导致本文不一定适用。...(2)具体开发板所需的开发环境:这个跟具体芯片、开发板相关,例如对应的交叉编译器、或者制作文件系统相关的脚本组件等。这些看自己所需的芯片环境是哪些。...sudo dpkg-reconfigure dash(3)使用如下apt-get命令安装编译所需的必要的库和工具sudo apt-get install gccsudo apt-get install...source ~/.bashrcShell命令行中输入如下命令,如果能正确显示编译器版本号,表明编译器安装成功。
0x00 前言 在Python中,可以使用py2exe或PyInstaller之类的工具将Python脚本编译成二进制文件,从而提升可移植性,并在一定程度上提升了性能。...为了测试不同编译方式的性能差异,这里统一使用python2.7中提供的test/pystone.py作为执行脚本。由于这个脚本不支持python3,因此做了下python3的适配。...-onefile: 这个参数可以解决--standalone参数会有多个文件的问题,保证最终生成的是一个可执行文件 --nofollow-imports: 不编译import进来的第三方库 --clang...: 强制使用clang作为编译后端 --static-libpython=yes: 静态链接libpython --show-scons: 显示编译C代码过程中的详细日志 通过观察可以发现,nuitka...而Nuitka相比Cython,可以同时编译多个Python脚本,功能上更加强大一些,性能也提升了不少。
编译 https://gitee.com/mirrors/godot.git python -m pip install scons scons -j6 platform=windows 场景Scene...,AutoLoad选项添加资源窗口中的全局脚本) GDScript 函数:func name(): 分支:if expresion: 循环:for var in varlist: 属性:var setget...object,signal) Node方法:gettree(获取场景树) , getnode(获取节点) Reference:资源文件init_ref、 unreference、 reference(可以查看...help中的api) Signal(Qt信号)、Connect(连接邮槽) Node属性: Process:idle Processing(脚本空闲处理帧数据)、fixed Processing(脚本固定处理帧数据...(“NodePath”)的快捷方式 @“A/B”, NodePath export导出,编译器可编辑 signal自定义信号,编辑器可见的事件信号 get、set属性 supper父类,3.x使用.访问父类
这也是我们的机会。RTT使用Scons来构建源码和系统,官网对Scons的介绍 ?...在ENV下如果直接输入Scons命令就会以自带的gcc来编译源码,而也可以指定生成iar/mdk,比较遗憾的是目前最新的版本里面k64的bsp还不适配iar,只支持mdk,而且是mdk4的工程,但我电脑上是...可以打开工程编译下,验证下我们生成的工程是否可以编译通过 ? 可以使用env带的menuconfig来添加不同的组件和软件包,一步步来添加功能。...可以试着添加和移植下我们多次讲的modbus通信和J1939通信,也可以自己动手来移植到iar环境下。...这时候在输入menuconfig命令就可以正常使用menuconfig了 ? 主要使用键盘上的上下左右键,空格,回车,和esc键来操作。
芯片框图如下: 原理图解析: RTT D1s RDC2022纪念版开发板使用了核心板+底板的设计方式,一般核心板使用多层板设计,完成最小系统设计后,底板可以使用双面板设计,这样可以节省制作成本,也方便开发板在项目直接购核心板...scons 命令编译 内核 编译完内核之后,会自动执行打包命令 ....lvgl也很方便,而且得益于rt-smart的内核态与用户态分离,我们可以很方便的借(zhao)鉴(chao)大佬们之前的研究成果。...然后我们需要修改scons的编译脚本,这里用任何喜欢的编辑器打开userapps目录下的SConstruct文件,翻到最后,添加一行编译media文件夹: 因为我手上只有一块不支持电容触摸的RGB-LCD...然后依然是使用scons编译用户程序,mksdcard.sh打包镜像,重新下载到贴片TF卡中后,即可运行lvgl程序下面是效果演示: 可以看到效果还是很不错的,480*272分辨率的屏幕能够达到60fps
在docs/building.md中是编译所需的依赖。...编译升级gcc 在gcc的官网找到下载页面。使用svn或者通过ftp镜像站下载源码. 我使用了一个ftp镜像站下载的源码压缩包。 然后进行解压和安装依赖。...之后编译 输出: 一般情况下, 就这样gcc就可以编译完成了。...再次上Python 官网 (官网真是个好地方2333)下载Python2.7的源码 编译过很多次了, 就只写主要的东西了 安装scons 在官网上找到源码包直接安装 编译安装MongoDB 最后的安装过程就不是这篇里面的重点了...查了一下,根据这篇只要在构建的时候,加上--disable-warnings-as-errors就可以解决了 本篇的重点是编译的过程,后续MongoDB配置部分抽空再写。 全文完。
依赖(Dependencies):这是生成目标所需的文件或目标。 命令(Commands):这些是生成目标时需要执行的命令。 Makefile 使用 GNU make 工具来执行文件中定义的规则。...Makefile 可以配置不同的编译器选项,比如优化级别、处理器特定的指令集,以提升执行效率和响应速度。 自动化构建过程:在嵌入式开发中,软件可能需要频繁地进行小范围的修改和测试。...Makefile 可以用来自动化固件的构建过程,包括编译、链接以及生成可直接烧录到硬件的二进制文件。 模块化构建:在复杂的嵌入式项目中,软件通常被分解成多个模块或库。...SCons: 用途:一个使用 Python 脚本代替传统 Makefile 的构建工具。 特点:SCons 能自动处理依赖关系,提供更精确的构建过程控制。它支持跨平台构建,非常适合复杂的嵌入式项目。...Bazel: 用途:虽然是通用的构建工具,但在需要处理大型源代码库的嵌入式项目中表现优异。
简介 本次实践是为尝试在嵌有华为海思芯片的Hi3861WIFI物联网开发板上配置开发环境并使用配套开发工具(HUAWEI DevEco Device Tool或HUAWEI LiteOS Studio)...将Demo工程编译烧录和运行。...info:HiSpark_Pegasus_Setup_Package文件夹内的SetupInstall.bat运行时可能出现“scons不是内部或外部命令...”的提示,此时请手动安装Scons并重新启动...4.编译器配置中:SConstruct脚本,点击文件夹右侧的放大镜自动搜索SConstruct脚本位置,正常搜索完点确认。 5.烧录器配置中:烧录方式选择HiBurner,确认。...完成安装后的板子,红框跳线需装上 7.F7编译,成功时终端输出紫色BUILD SUCCESS字样。 8.F8烧录,出现HiBurn程序窗口时,按一次Hi3861板上的Ret按键,烧录开始。