1、嵌入C代码关键字: 嵌入代码的关键字:
@ + 空格
在类中间的空白处:
@begin
...
@end
这些程序行都将被视作嵌入行。
该嵌入行在编译时将被直接发送到目的平台编译器,由用户自身保证该行的语法正确性。
2、查看生成的文件:
查看编译生成的C源码文件:
在编译后,可以在目录中找到生成的C源码文件,来查看嵌入代码是否正常。
文件路径:
源程序路径\_int\base_test\release\位数\project\
vpkg_main.cpp -- 主文件
3、嵌入代码中的符号:
格式
| 解释
| 样例
| @<成员名称>
| 引用所指定的成员名称
| @<对象变量1>.test
@<对象变量1.成员1>
| @n<成员名称>
| 1、本格式文本仅加入最后一个成员名称
2、本格式文本引用成员时,不受静态成员访问格式限制
3. 本格式文本引用成员时,不受访问权限的限制
由于去除了这些限制,开发者必须谨慎使用此替换符,必须能够保证该替换符获得的名称在任何场合下均能正常工作.
| @n<对象变量1.成员1>=@<成员1>
@n<类1.成员1>
|
3、嵌入代码中的符号:
格式
| 解释
| 样例
| @dt<数据类型名称>
| 引用所指定的数据类型名称,包括: 基本数据类型/模板数据类型/类.
1. 不支持数组数据类型;
2. 如果本替换符后跟随的不是对象成员访问字符(譬如句点),别名类将使用其所封装的本地类名,常量类将使用其所对应的基本数据类型.
| @dt<整数>
@dt<模板类型1>
@dt<类1>
@dt<包1.类1>.静态变量1
| @pdt<参数名称>
| 将引用为指定的“参数名称”的数据类型,包括: 基本数据类型/类.
1. 所获取名称文本不包括数组数据类型的维定义部分;
2. 如果本替换符后跟随的不是对象成员访问字符(譬如句点),别名类将使用其所封装的本地类名,常量类将使用其所对应的基本数据类型.
|
|
格式
| 解释
| 样例
| @sn<特定名称>
| 引用所指定的特定名称,具体列表如下:
1. "current_class": 嵌入行当前所处类名;
2. "base_class": 嵌入行当前所处类的基础类名;
3. "this": 只能在非静态嵌入式方法中的嵌入行里使用,将被替换为调用该嵌入式方法时提供的调用对象;
4. "pm_types": 只能在嵌入式方法中的嵌入行里使用,为调用该嵌入式方法时所提供的全部调用参数的值数据类型列表字符串(列表两侧使用双引号括住,注意数组类型不包括维定义部分),列表内各项之间使用逗号分隔.
5. "rand_name": 一个随机生成的程序内唯一性名称
|
@sn<current_class>
@sn<base_class>
@sn<this>
@sn<pm_types>
@sn<rand_name>
|
4、嵌入代码子程序用到的属性:
属性名
| 解释
| 属性值
| @全局类
| 只能应用于类定义成员上,用作为指定当前类为全局类.
全局类中的所有静态公开方法在外部访问时都可以省略其类名指定(嵌入行语句中除外),此类方法被称为"全局方法".
| 逻辑型:
真、假
| @禁止流程检查
| 本属性只能应用于方法定义成员上,用作关闭编译器在该方法上的流程检查机制,主要包括以下内容:
1. 当方法定义有返回值时是否所有退出流程分支均返回了值
| 逻辑型:
真、假
|
5、更多的开发方法:
1、查看其他人已经开发好的程序,从其他程序中学习开发。
2、查看火山帮助文档,从官方文档中获得最新内容。
火山IDE菜单 -> 帮助 -> 帮助手册
注:初学者无需过多的了解本课内容。本课主要面向类库模块开发者,
向类库模块开发者介绍了一些在类库模块开发中会用到的内容。
更多内容需要到官方开发文档中进行详细的查看。
|