简介
随着汽车电子测试的日益复杂,CANoe测试软件具有丰富的界面和数据处理功能。但是CANoe显然不能满足一个公司的私有函数和算法,但是CANoe提供了一个解决方案,通过自己的CAPLdll模板生成自己的动态链接库dll,弥补了纯CAPL编程的局限性。

CAPLdll模板
基于CAPLdll模板生成CAPL调用Dll。在生成Dll之前,了解CAPLDll模板的结构。
默认安装模板位置:C: users public documents vector canoe sample configuration s 13 . 0 . 155 programming CAPL DLL
CAPLdll模板路径进入VS 2017项目文件夹,双击打开capldll.sln由于我这里用的是Visual Studio 2019版本,会提示我升级,所以我们点击确定。
然后打开capldll.cpp文件,如下图所示。打开之后,我们可能会不知所措,不知道从何下手。接下来,解释一下模板。
CAPLdll模板初始界面模板结构
CANoe在表函数的帮助下将创建的函数导出为CAPL代码。我们首先在模板中找到下面的代码。

Capl_dll_INFO_LIST中的每一行都是Capl中dll的接口函数,如下所示。
如何声明导出的自定义函数需要遵循以下格式:
声明导出格式自定义函数定义格式:
示例:
实现一个加法函数,定义如下
函数定义出口声明如下:
{"dllAdd ",appAdd," CAPL_DLL ","这个函数将两个值相加。返回值是结果",' L ',2," LL ","",{"x "," y"}},

功能类别名称
数据类型
下表显示了CapL和C/C++中数据类型之间的对应关系
数据类型结束语
分享到此为止。如果你有任何问题,请在评论区留言。最后,如果不能使用CANode自带的CAPL模板生成dll,可以使用Visual Studio创建一个新项目。在模板中导入capldll.cpp和头文件也可以解决这个问题。


