作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 CAPL 中集成一个头 .h 或 .dll 文件(具体来说是 Visa32.dll、visa.h 或 sicl.h)来控制万用表 34461A。如何在 CANoe 中包含 .h 文件或 .dll 文件?
我创建了一个名为万用表的 ECU 模块。谢谢,
最佳答案
在 CAPL 中包含外部 DLL 是可能的,但您需要为要使用的所有函数创建一个包装器。
看看\CANoe\Demo_AddOn\Capldll
具有这样一个包装器的目录。这是一个 MSVC 项目,将一些简单的函数导出到 CAPL,例如 int f(int a, int b) {return a+b;}
.
您需要做的是将您的库文件(Visa32.dll、visa.h)添加到此 Capldll 项目,并为您要从 CANoe 调用的所有函数定义包装器。例如,如果您有 int visa_init(double arg)
在 Visa32.dll 中,您将创建一个包装器:
int CAPLEXPORT far CAPLPASCAL capl_visa_init(double arg)
{
return visa_init(arg);
}
CAPL_DLL_INFO CAPL_DLL_INFO_LIST[] =
{
{"my_visa_init", (CAPL_FARCALL)capl_visa_init, 'D', 1, "F", "\000"},
....
{0,0}
};
my_visa_init(1.0);
关于header-files - 如何在 CANoe/CAPL 中包含 .h 或 .dll 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33341136/
我是一名优秀的程序员,十分优秀!