首页 > 解决方案 > 如何在 CAPL 中包含 .dll 文件?

问题描述

我尝试使用以下命令在我的 CAPL 代码中包含 .dll 文件,但收到以下警告:

(6,20) 处的警告 2102:无法打开 C:\Users\Desktop\OpenSSL_MacGen\OpenSSL_MacGen\Debug\OpenSSL_MacGen.dll,找不到指定的模块。

#pragma library ("OpenSSL_MacGen\OpenSSL_MacGen\Debug\OpenSSL_MacGen.dll")

标签: ccapl

解决方案


摘自 CANoe 帮助:

在 CAPL 程序中,您可以调用在您自己的 Windows DLL 中实现的函数。这样做时,DLL 中的函数通过函数表导出。

CAPL DLL 接口支持从 CANoe 5.0 版开始的回调函数。

每当在实时区域(即在 CANoe 的模拟设置中)调用 DLL 的函数时,它们都会在高优先级线程中运行。这会影响测量。

为了使 CAPL 编译器和 CAPL 浏览器能够识别 DLL,您必须将其链接到 CAPL 程序。为此,请执行以下操作:

在 CANoe 的选项对话框中输入 DLL。在这种情况下,DLL 将可用于所有 CAPL 程序。您可以使用#pragma library 命令在 CAPL 程序的包含部分中输入 DLL。在这种情况下,它将仅适用于该程序。

最简单的方法是使用安装了 CANoe 的 PC 上可用的模板。查看:C:\Users\Public\Documents\Vector\CANoe\9.0 (x64)\CANoe Sample Configurations\Programming\CAPLdll(或类似内容,具体取决于您的 CANoe 版本)


推荐阅读