如何在 CANoe/CAPL 中包含 .h 或 .dll 文件



总目录链接==>> AutoSAR入门和实战系列总目录

总目录链接==>> AutoSAR BSW高阶配置系列总目录

文章目录


如何在 CAPL 中包含 DLL ?可以通过将要使用的所有函数创建一个包装器,通过查看\CANoe\Demo_AddOn\Capldll这种具有这种包装器的目录。这是一个将一些简单函数导出到 CAPL 的 MSVC 项目,例如
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}
}; 

一旦你成功地构建了你的包装器 DLL(如果重用这个例子,它将被称为 capldll.dll),你需要将它导入 CANoe,并且我们能够通过在导出表中定义的名称来调用该函数, 例如my_visa_init(1.0);

你可能感兴趣的:(汽车电子杂谈,capl)