当前位置: 首页 > news >正文

CAPL脚本函数不能返回数组的替代方案

代码测试环境:

电脑系统:win11 x64

CANoe版本:CANoe 12.0 SP5

这里可以明确告诉大家,CAPL脚本函数不能通过return直接返回一个数组,但是由于CAPL是一个类C的语言,我们可以像C语言一样让函数把数组传递出来。

on key 'k' { byte getval[4]; byte idx; testfunc(getval); for(idx=0;idx<elCount(getval);idx++) { writeLineEx(-3,1,"getval[%d] = 0x%x",idx,getval[idx]); } } void testfunc(byte outval[]) { byte var[4] = {0x01,0x02,0x03,0x04}; byte outval_length,idx; outval_length=elCount(outval); if(outval_length<4)return; for(idx=0;idx<outval_length;idx++) { outval[idx]=var[idx]; } }

输出结果:

这种方式也可以用来传递单个变量

on key 'k' { byte getval; byte idx; testfunc(getval); writeLineEx(-3,1,"getval = 0x%x",getval); } void testfunc(byte& outval) { byte var = 0x02; outval = var; }

输出结果:

http://www.jsqmd.com/news/1121029/

相关文章:

  • go:Timing Functions Pattern
  • 三步搞定跨语言障碍:STranslate翻译工具完全指南
  • 融云获 2022 中国技术先锋年度评选「中国技术品牌影响力企业」奖
  • AI开发工程化规范与实践指南
  • 关于const、指针和引用【C++复习】
  • Micro Journal开源硬件设计:3D打印外壳与PCB制作教程
  • 神经网络激活函数实战指南:从原理到工程选型
  • BetterJoy终极指南:让Switch手柄在PC上焕发新生
  • RTX A5000与PIC18LF45K42构建安全云连接方案
  • Springboot整合MybatisPlus【一】
  • 毕业生必备7款AI写作辅助平台,一站式搞定选题初稿与降重
  • 赞赞赞!融云收获行业媒体「组团打 Call」
  • 3分钟掌握npx skills:AI技能管理工具的革命性体验
  • Git最新教程通俗易懂----狂神说Java -- ---学习笔记
  • Elm-platform项目管理指南:使用elm-package管理依赖和发布包
  • Spectre性能调优技巧:从CPU到CUDA的完整优化路线图
  • Android WebView安全防护:从HTTPS到JS交互的全面防御方案
  • hexo成功后localhost拒绝连接
  • Scarab:让空洞骑士模组管理变得直观简单的跨平台解决方案
  • [前端高频面试] 2023年初级、中级面试题解
  • 3个平台限制下的架构突破:猫抓项目的技术演进启示
  • 酷睿Ultra X9 388H架构解析与性能实测
  • AI算力竞争加剧:从CUDA生态到多元硬件,开发者如何应对物理瓶颈与生态迁移
  • 微信小程序 App.js 公共方法 小功能
  • 10分钟上手NoDock:Node.js开发者必备的Docker容器化解决方案
  • YOLO目标检测算法全流程实战:从原理到部署的系统学习指南
  • STM32F107VC与A89307的BLDC电机FOC控制方案详解
  • 如何为Micro Journal开发自定义应用:Python与C++编程指南
  • 别再花冤枉钱了!驾照德语宣誓翻译去哪办?流程+费用全曝光!
  • gprMax devel分支中的重构:从过程式仿真程序到分层科学计算框架