极语言基础

极语言基础

目录

  • 目录

  • 快速入门

    • 启动与界面设计

    • 菜单设计

    • 窗体与对话框设计

    • 极语言语法

    • 控件内容操作

    • 编辑快捷键

    • 常见问题

      • 中文输入法问题及解决办法

      • 鼠标悬停信息

      • 对其他语言的兼容

        • 文本变量
        • 内存管理
      • 内存回收和安全机制

  • 自制中文编程环境

    • 安装目录说明
    • 文件类型说明
    • 使用极语言开发环境保存代码
    • 编译方法
  • 变量类型

    • 变量的定义与使用

      • 最简单的变量——整数变量

      • 局部变量与全局变量

        • 定义与范围
        • 全局变量的类型
        • 存储空间
      • 参数传递

        • 参数类型
        • 结构体和子类参数
      • 变量的作用

      • 变量类型转换

        • 转换语法
        • 示例
      • 文本操作

        • 文本拼接
        • 追加文本
      • 运算规则

      • 代码规范

    • 变量类型

  • 转义和标点符号

    • 转义
    • 标点
  • 运算符号

    • 一般运算符号
    • 浮点运算专用符号

快速入门

启动与界面设计

  1. 启动极语言编程,点击“初级程序”进入主界面。
  2. 若设计界面小窗口未显示图标,请关闭设计窗口后重新打开。
  3. 控件设计器可通过右键创建或拖曳鼠标绘制控件。
  4. 调整控件大小:按住鼠标左键拖动控件的四角或四边。
  5. 选中控件,使用鼠标滚轮调整大小和位置(通过左顶宽高属性)。
  6. 双击属性列表修改控件名称、文字、位置、尺寸等,控件编号为唯一标识符。
  7. 控件事件绑定:双击左键或右键单击,自定义事件名称(如按钮点击、列表双击)。
  8. 右键添加控件时,新控件将与前一个控件大小相同并自动对齐。

菜单设计

  1. 设计菜单界面,首个添加的自动设为弹出菜单(子菜单)。
  2. 添加子菜单项目,项目前自动空格缩进,区分菜单层次。
  3. 添加新子菜单时,需选中“弹出”复选框,添加后自动取消。
  4. 二级子菜单:在名称前加空格,选中“弹出”选项,继续添加项目。
  5. 菜单和快捷键可绑定事件,子菜单无编号,事件对应唯一标识编号。

窗体与对话框设计

  1. 窗体设计共用一个窗体消息接收系统事件,对话框按名称接收。
  2. 基础应用采用模式对话框,类似消息框,需关闭后才执行后续代码。
  3. 初级程序窗口设计自动添加控件对象全局变量,后添加的控件在前代码中不可用。
  4. 对话框设计不增加控件对象,窗体变量在代码中申请获取,可不用控件对象。
  5. 控件编号可在设计界面查看和修改,有效范围0到32767,不需编号可设为-1。
  6. 对话框窗体编号指定资源里的编号,与菜单资源绑定一致。
  7. 控件快捷键:在名称中加入&符号和大写字母(如:打开(&O)​),Alt+字母触发。
  8. 窗体图片框可指定资源图标或位图,文字属性设为#资源号显示图像。
  9. 对话框图标框直接指定文字属性为资源号或加#号,显示图标时修改风格为图标文件。
  10. 编译程序默认6.0界面风格,取消“新版界面”选择使用Windows 95风格。

极语言语法

  1. 关键语法:如果​、否则​、判断​、循环​(四种写法)。
  2. 循环​和循环于​是为迎合传统编程习惯,不推荐初学者使用。
  3. 程序段名称后可加小括号传递参数,无类型限制,可自由提交数值或变量指针。
  4. 程序段可无返回值或返回整数,返回小数需加冒号(如:返回(:值 * 6.5)​)。
  5. 参数变量可指定默认值,不指定默认为0,不写参数按默认值提交。

控件内容操作

  1. 获取控件文字内容使用~​符号,需申请文本变量(如:文本 内容[16];​)。
  2. 获取内容:内容 ~ 文本框1;内容 ~ 窗体;内容 ~ 标签1;
  3. 写入内容:文本框1 ~ 内容;标签2 ~ “你好”;窗体 ~ 内存;
  4. 写入内容右边的变量可为内存指针的整数变量或一段文字。

编辑快捷键

CTRL+Z 撤销
CTRL+Y 重做
CTRL+C 复制
CTRL+V 粘贴
Delete 删除
CTRL+F 查找
CTRL+R 替换
CTRL+P 编译
CTRL+W 关闭
CTRL+拖曳 复制文字
F1 编程帮助
F2 语法补全
F3 查找下个
F4 编辑模块
F5 水平平铺
F6 垂直平铺
F7 标点转换
F8 更新日志

常见问题

中文输入法问题及解决办法

问题:编译运行后,某些独占式运行的输入法会在新进程里自动开启,导致极语言编辑器的输入法关闭。
解决办法:
CTRL+F​弹出搜索框,然后切换开启输入法。
正常输入中文后,按Esc​取消搜索,输入法将被重新激活。
注意:有些输入法会自动跟随输入框,位置会随焦点窗口改变。

鼠标悬停信息

功能:在极语言编辑器中,选中带颜色的文字可查看相关解释,比搜索更方便。
效率考虑:鼠标指向文字的提示会产生多次鼠标移动事件,效率不高。建议使用键盘选中文字和进行语法补全。

对其他语言的兼容

文本变量

易语言和VB:采用整数指针。
其他语言:string​采用整数对象,与整数有严格区分。

内存管理

这些语言使用的整数先申请约64K内存,随数据量增加自动扩充。
变长文本与字符串概念不同。
字符​ vs. ​:字符为ASCII编码(32-127),字为支持各国文字的编码。
Windows编程API处理字符串时需提交缓冲区和长度,获取文本时返回实际长度。
极语言文本为指定长度的内存缓冲区,需指定长度配合API使用。
使用C库函数注意事项:可能改变堆栈地址,导致数据异常。建议将C库函数放到程序段中调用,以保持堆栈空间稳定。

内存回收和安全机制

内存使用:主要由开发者控制。
局部变量内存:离开程序段时自动回收。
全局变量内存:关闭程序时系统自动回收。
极语言无变长文本,不自动申请临时内存。
内存回收:只要内存被使用,就不能回收。编译和运行时最多能防止内存泄漏,增加安全性。
效率考虑:运行时监视每条执行指令会影响效率。建议开发者根据需要申请文本变量长度,自行控制内存使用。
安全性与透明度:极语言让开发者全透明地管理内存,提高安全性。相比C语言,极语言规则限制少,功能实现更轻松,无需增加复杂特性。

自制中文编程环境

安装目录说明

Sec.exe:集成开发环境(IDE)
Sc.exe:编译器(可配合其他工具编辑代码进行编译)

文件类型说明

.sec​:单文件二进制源码结构
.SEC​和.极​:多文件文本结构
其他扩展名(如.txt​、.c​、.张三​、.李四​等):单文件文本源码

使用极语言开发环境保存代码

保存时需加上扩展名,保存为纯文本源码。

编译方法

  1. 将保存的文件拖曳到Sc.exe上。
  2. 运行Sc.exe,点击打开保存的源码。
  3. 使用命令行编译:cmd Sc.exe 源码路径​(完整路径前后不用加双引号)。
  4. 自定义IDE编译:参考使用命令行的编译方法在Sc.exe后面空格加上路径即可实现编译。

变量类型

变量的定义与使用

最简单的变量——整数变量

最常用的变量类型是整数,例如定义一个名为“窗口”的整数变量。整数变量也可以作为万能的指针,在参数传递时,通常只有整数和小数这两种类型。

局部变量与全局变量

定义与范围

局部变量:在程序段内申请的变量,包括传递的参数,都是局部变量。它们的作用域限定在程序段或子类内部。
全局变量:在程序段和子类之外申请的变量是全局变量。全局变量的作用域覆盖整个程序。

全局变量的类型

全局变量可以包括以下类型:

  • 字符
  • 字节
  • 整形(短数)
  • 正数
  • 整数
  • 日期
  • 小数
  • 浮点
  • 大数
  • 子类
  • 对象
  • 自定义类型
存储空间

全局变量:使用静态数据空间存储。
局部变量:使用动态栈内存空间存储。

参数传递

任何变量在作为参数传递时,都是4字节的数值。对于大于4字节的类型(如文本、浮点和自定义类型),传递的是变量的地址,而不是值。地址通常大于0x400000。

参数类型

在大多数情况下,提交的参数都按整数类型处理。
当需要直接进行小数运算时,才需要特别指定小数类型。
因此,程序段的参数通常只有小数和整数这两种。

结构体和子类参数

结构体和子类参数前可以写上类的名称来定义参数,例如:

程序段 示例(坐标类 值)整数 横坐标 = 值.左整数 纵坐标 = 值.顶

示例: 计算函数

程序段 计算(角色类 人物)整数 伤害 = (攻击 - 人物.防御) * 1.5 - 人物.减伤
局部变量的申请与使用

变量的作用

变量的主要用途包括存储数据、传递参数、进行算法运算等。

变量类型转换

转换语法

变量类型之间可以通过等号进行相互转换,语法如下:

变量一 = 变量二

这表示将右侧的变量类型转换为左侧变量的类型。

示例
整数 数一; 小数 数二; 浮点 数三;
数一 = 数二; // 小数转整数
数二 = 数一; // 整数转小数
数一 = 数三; // 浮点转整数
数三 = 数一; // 整数转浮点

文本操作

局部文本和全局文本都可以像操作数组一样,读写其中每个字节。例如:

文本 s(16) = "abc"
s(2) = \d

也可以像其他变量一样,写入数字。例如:

s = 0  // 文本被清空
s = $31323334  // 文本开头等于4321

注意:十六进制是反转的,最后的34写入字符的第一字节,对应文字是4。使用s(1)读取出来就是52。

文本拼接

在转换文本时,可以进行拼接,例如:

文本 内容[16] = "结果:" + 数一 + " 浮点:" + 数三;

等号左边是文本时,会自动进行文本转换或拼接。

追加文本
内容 += 数一 + "\r\n"; // 向内容追加数字和换行符

运算规则

如果等号左边是整数,右边是混合运算,尽量将小数或浮点变量写在前面。
如果等号左边和右边都是整数变量,需要进行浮点运算时,等号后面要加上冒号。

数一 =: 数一 - 数二; // 整数浮点运算
数一 = 数二; // 小数或浮点转整数,无运算

代码规范

代码末尾需要加上换行符或分号,以明确区分浮点运算与整数的转换。

变量类型

|英文名称|中文名称|数值范围和|
||||
||||
||||
||||
||||
||||
||||
||||
||||
||||
||||
||||
||||
||||
||||

Bool 布尔 范围:真(1),假(0)。
数组写法:布尔 数组[16];
二维数组:布尔 数组[10,16];
自动长度写法:布尔 数组 = {真,假,真}
char,sbyte 字符 范围:-128~127。
数组写法:字符 数组[16];
二维数组:字符 数组[10,16];
自动长度写法:字符 数组={1,2,-3}
byte,uchar 字节 范围:0到256。
数组写法:字节 数组[16];
二维数组: 字节 数组[10, 16];
自动长度写法:字节 数组 = {1, 2, 3}
short 短数/整形 范围:-32768到32767。
数组写法:短数 数组[16];
二维数组: 整形 数组[10, 16];
自动长度写法:整形 数组 = {1, 2, -3}
ushort,word 正数 范围:0到65535。
数组写法:正数 数组[16];
二维数组: 正数 数组[10, 16];
自动长度写法:正数 数组 = {1, 2, 3}
int,dword 整数 范围:-2147483648到2147483647。
数组写法:整数 数组[16];
二维数组:整数 数组[10, 16];
自动长度写法:整数 数组 = {1, 2, -3}
single 小数 范围:-3.402823E38到3.402823E38。
数组写法:小数 数组[16];
二维数组:小数 数组[10, 16];
自动长度写法:整数 数组 = {1, 2.5, 0.3}
string 文本 申请指定长度的内存缓冲区,可用来存储文字或数据。
数组写法:文本 数组[10,16];
自动长度写法:整数 内容 = "文字";整数 数组 = {"你好", "在吗", "朋友"}
bytes 字节组 一组固定的数据,跟文本性质相似
字节组 数组[15, $20, 60, 128];
Double 浮点 范围:-1.79769313486232E308到1.79769313486232E308。
数组写法:浮点 数组[16];
二维数组:浮点 数组[10, 16];
自动长度写法:浮点 数组 = {1, 2.5, 0.3}
date 日期 8字节日期时间,Win32编程通常用文件时间类的两个整数结构来表示时间
long,ulong 大数 64位整数
范围:-9223372036854775808到9223372036854775807。
数组写法:大数 数组[16];
二维数组:大数 数组[10, 16];
自动长度写法:大数 数组={1, 2, 3}
type 结构 结构 窗口类{整数 句柄, 左边;文本 标题[64], 内容[256]}
用法:窗口类 窗一; 窗一.标题 = "你好"
数组写法:窗口类 窗一[10]; 窗一(0).标题 = "你好"
datab 数据表 数据表 人物表{整数 生命, 内功;字节 等级, 职业;}
用法:重置 人物表(100); 人物表(2).等级 = 10; 数 = 人物表(0).生命
object 对象 申请一个对象变量,结构是(类, 标识, 函数名..)
用法:对象 内存 = 内存对象;自定义对象:对象 未知($, $, 接口, 计数, 释放)
scls 子类 子类 类名{整数 变量1,变量2; 程序段 登陆(账号)...结束;}
用法:整数 测试 = 新建 测试类;数组写法:整数 测试 = 新建 测试类[10]

转义和标点符号

转义

转义符号用于特殊字符的处理,使得这些字符能够在文本内容中正确表示。例如,在极语言中,我们可以这样使用转义符号:

s = "您好\r\n世界";

这里的 \r\n​ 表示换行加回车。极语言的代码允许在字符串中间换行,以下是一些常用的转义符号及其含义:

  • \r​:换行符
  • \n​:回车符
  • \t​:水平制表符
  • \f​:分页符
  • \v​:垂直制表符
  • \"​:双引号
  • \0​:0字符
  • \1​:缩进符号
  • \2​:两个换行和回车符的组合

此外,可以使用 \ 将单个文字转换为编码值,例如:

查字符(str, \s);

或者写作:

查字符(内容, 's');

在极语言中,还可以使用以下方式获取编码值:

  • 0#中国​:取两个汉字的编码值
  • 0$abcd​:取四个英文的编码值
  • 0:1.2.3.4​:支持IP段、颜色值、字节高低位等转换为整数值

标点

标点符号在代码中主要用于区分文字、定义代码范围或行为性质等。虽然这些符号不直接生成执行指令,但它们对于规范代码结构和改变执行指令的生成具有重要意义。

符号 类型 中文释义和示例
@ 多用途 1. 标记
2. 取内存地址
3. 取已知内存偏移地址
|| 多条件判断
&& 多条件判断
\undefinedC7A"`​,把十六进制字符转换成二进制数据
` 宽字符文本 "`文字内容"​,ANSI转成宽字符文本
. 指针/连接符 读写指针偏移,也可在名称中使用
_ 指针/连接符 读写指针偏移,也可在名称中使用
"" 文字内容 文字内容前后用双引号
$ 声明文本 变量或函数后使用,代表是文本数据
: 标记 现在已取消冒号标记,请改用中文
标记 开头跳到 开头
: 转成小数运算 变量或函数前使用
: 返回小数值 返回(:4.5)返回(:结果)
# 表示浮点 浮点 值 = 45.63#;
\ 取文字编码 取单个文字(包括中文)的编码值
' 注释符号 符号后面一行内容为注释
// 注释符号 符号后面一行内容为注释
/* */ 多行注释 /*开始到*/之间的内容为注释
\undefinedD0A`​
0x 十六进制 数值 = 0x0D0A
0# 取文字编码 0#中国​ 取两个汉字的编码值
0$ 取文字编码 0$abcd​ 取四个英文的编码值
0@ 取日期数值 0@2019-4-5​ 取日期的整数型数值
0: 取字段数值 ip = 0:192.168.1.1
颜色 = 0:255.64.128
键值 = 0:70,2​ 即CTRL+F
( ) 小括号 如果(左 = 右);
相加(数, 值);
整数 组(10);
组(0) = 15;
数 = 组(1);
[ ] 数组或文本长度 文本 内容[16];
时间类 时间[5];
数 = 内容[2]
{ } 代码片段 用于条件判断或循环

运算符号

变量自加、自乘等,数 = 数 + 8​,数 = 数 * 10

也可以用+=​、-=​、*=​、/=​、|=​、&=​、%=​、^=​ 等等

也可以用更简单的a + 2​、a - 3​、a * b + 3​、a / 10​、a | b​、b & a​,即运算符号后面的等号可以不写。

一般运算符号

|符号|中文|释义和示例|
||||
||||
||||

+ 数值相加或者增加文字(数字变量自动转换为文本)。
中文写法:数 加 值​,内容 加 “文字”
数值相减或者增加文字(数字变量自动转换为十六进制文本)。
中文写法:数 减 值​,内容 减 数
* 数值相乘
中文写法:数 乘 值
/ 除法运算
中文写法:数 除 值
| 或运算。两个数值的比特位包含有1,则结果位就为1,否则为0。
中文写法:数 或 值
^ 异或运算。两个数值的比特位不相同,则结果位就为1,否则为0。
中文写法:数 异 值
& 运算表达式中 与运算:数 与 值
单独变量或函数前 取指针地址;
变量或数组后 取四字节内存值;
检索语句括号后 获取地址;
循环数组的数据变量后 每次读写四字节;
% 取两个数相除后的余数:数 余 值​,也可以在除法后单独使用:数 = 余​;
在变量或数组后面是取两字节内存值:数组(1)%​。
! 数值为0则为1,数值不是0则为0
中文写法:非 数
~ ~数,对每个二进制位进行反相,0变1,1变0
中文写法:反 数
= 右边变量或表达式的结果值,根据左边变量类型进行转换,然后保存到左边变量地址
++ 加一 数++;变量数增加1
中文写法:数 加一
-- 减一 数--;变量数减少1
中文写法:数 减一
= 等于 如果(数 = 值)​,比较两个变量数值是否相等。
中文写法:如果(数 等于 值)
!= <> 不等于 数 != 值​,比较判断数不等于值,也可以写作:数<>值
中文写法:如果(数 不等于 值)
< 小于 数 < 值​,左边数小于右边值
中文写法:数 小于 值
> 大于 数 > 值​,左边数大于右边值
中文写法:数 大于 值
>= 不小于 数 >= 值​ 左边数不小于右边值,即大于或等于
中文写法:数 不小于 值
<= 不大于 数 <= 值​,左边数不大于右边值,即小于或等于
中文写法:数 不大于 值
-> 写入 根据左边变量长度,向右边变量或表达式的地址处写入数据(字节字符1字节,整形短数正数2字节,小数整数4字节:数 写入 值+10
<- 读取 根据左边变量长度,从右边变量或表达式的地址处读取数据(字节字符1字节,整形短数正数2字节,小数整数4字节。
>> 右移 数 >> 值​,移位运算(支持小数)
中文写法:数 右移 值
<< 左移 数 << 值​,移位运算(支持小数)
中文写法:数 左移 值
~ 内容 ~ 文本框1​,读写控件内容。左边为文本变量读取右边控件; 左边为控件对象是把右边内容写入控件。详见控件内容操作。
? 取上次赋值的结果,即一号寄存器的数值
?? 纳秒 取纳秒计数器的低32位结果,高32位再用%获取。数 = 纳秒值 = 余

浮点运算专用符号

表达式的小括号之后使用,用法:(a+b)余弦​;(c)正弦​;(a * a + b * b)根​;(数)平方根​;(n)绝对值​;

中文 简写 释义
绝对值 变量或表达式取绝对值(含整数);(数 - 值)绝对值
余弦 变量或表达式取余弦;(数 - 值)余弦
正弦 变量或表达式取正弦;(数 - 值)正弦
平方根 变量或表达式取平方根;(数 - 值)平方根
正切 变量或表达式取正切;(数 - 值)正切
反正切 变量或表达式取反正切;(数 - 值)反正切

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/863426.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用标签策略规范资源上的标签

阿里云标签服务提供了标签策略功能,能够帮助企业解决在标签使用过程中遇到的漏打标签、标签拼写错误等问题,同时为用户提供了自动打标的能力。引言 阿里云标签服务提供了标签策略功能,能够帮助企业解决在标签使用过程中遇到的漏打标签、标签拼写错误等问题,同时为用户提供了…

java字符串拼接遇到null你会处理吗

现有一个场景,对于发票信息,需要把信息中的地址和电话进行拼接,开户号和账号进行拼接,那应该怎么做?最简单的方法是使用+拼接,但问题是如果有个字段为空,是null,那么拼接结果是什么样的?来个下面的示例public static void main(String[] args) {String a = null;Strin…

欧拉OpenEuler安装tomcat.241227

1. 安装tomcat unzip tomcat.zip mv tomcat /home/ cd /home/tomcat chmod +x *.sh cd bin chmod +x *.sh/home/tomcat下 三个sh 进行启动关闭 2. 开web端口 firewall-cmd --list-ports firewall-cmd --permanent --add-port=9090/tcp firewall-cmd --reload.zstitle { width:…

03CommonsCollections1

CC链的介绍Apache Commons 当中有⼀个组件叫做 Apache Commons Collections ,主要封装了Java 的 Collection(集合) 相关类对象,它提供了很多强有⼒的数据结构类型并且实现了各种集合工具类。 作为Apache开源项⽬的重要组件,Commons Collections被⼴泛应⽤于各种Java应⽤的开…

MYSQL数据库导出导入脚本.250102

以test数据库为例:一、导出数据库 /usr/local/mysql/bin/mysqldump -uroot -p test --routines | gzip > test_250102.sql.gz二、导入数据库 gunzip < /root/test_250102.sql.gz | /usr/local/mysql/bin/mysql -uroot -p test.zstitle { width: 280px; text-align: cent…

Github + Jekyll 搭建项目wiki

网站托管 创建新仓库 创建以自己名字为前缀, .github.io​为后缀的仓库 ​​ 在仓库的Settings中的Pages里设置Build and deployment​为Github Action​ ​​ 过一会即可跳转域名访问自己的页面 ​​ ‍ fork仓库 另外一种方法, 直接fork主题仓库,可以从官方主题这里获取更多。…

Postman安装及汉化教程 | 手把手教你轻松搞定

前言 Postman 是一款功能强大的 API 测试工具,深受开发者喜爱。然而,原版 Postman 是英文界面,对于习惯中文的用户可能不够友好。本教程详细介绍如何下载安装 Postman 并成功实现汉化,适合零基础用户。一、下载安装包 首先,获取 Postman 的安装包及对应汉化包: 👉 点击…

Postman安装及汉化操作全解(含图文步骤)

前言 Postman 是一款功能强大的 API 测试工具,深受开发者喜爱。然而,原版 Postman 是英文界面,对于习惯中文的用户可能不够友好。本教程详细介绍如何下载安装 Postman 并成功实现汉化,适合零基础用户。一、下载安装包 首先,获取 Postman 的安装包及对应汉化包: 👉 点击…

国产高性能CPU米尔瑞芯微RK3576赋能AIoT、工业、智能显示终端

随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,…

《IT项目管理》 - 课程笔记

Chapter 1. 项目管理概述 哪些是项目,哪些不是项目?为某银行客户开发、安装网上银行支付系统 √ 负责网上银行系统的销售工作 在2022年销售20套以上的网上银行系统 √ 为某银行的网上银行系统提供售后服务 建立客户售后服务热线 √ 管理售后服务热线,接听客户来电…

.net之阿里云短信服务集成

概念 集成阿里云短信服务 引用阿里云包封装AliyunSmsClient(二次封装阿里云短信基类)public class AliyunSmsClient{private readonly Client _client;private readonly AliyunSmsOptions _options;public AliyunSmsClient(IOptions<AliyunSmsOptions> options){_options…

Petalinux ARM设置自启动、自动加载驱动、自动挂载SD卡

一、在工程路径下新建app petalinux-create -t apps --template install -n myapp-init --enablepetalinux会在metausr目录下新建一个目录,结构如下 project-spec/meta-user/recipes-apps/myapp-init/ ├── files │ └── myapp-init ├── myapp-init.bb └── READM…