开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 25734|回复: 3
收起左侧

[火山PC教程] 【火山PC教程系列】第十二课 嵌入C代码

[复制链接]
结帖率:0% (0/1)
发表于 2020-11-11 18:49:51 | 显示全部楼层 |阅读模式   广东省揭阳市


在线视频教程观看
易语言TV    bilibili观看


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菜单 -> 帮助 -> 帮助手册


注:初学者无需过多的了解本课内容。本课主要面向类库模块开发者,
向类库模块开发者介绍了一些在类库模块开发中会用到的内容。
更多内容需要到官方开发文档中进行详细的查看。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
结帖率:85% (76/89)

签到天数: 1 天

发表于 2021-7-8 13:25:31 | 显示全部楼层   浙江省宁波市
我要赚点精币来学习
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2020-11-12 10:44:06 | 显示全部楼层   广东省深圳市
请问下老师,我在嵌入式方法中怎么返回方法所在类本身?
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2020-11-11 19:30:12 | 显示全部楼层   广东省深圳市
非常好,现在正好要用到了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表