当前位置:   article > 正文

CANOE动态链接库CAPLDLL生成_canoe dll文件位置

canoe dll文件位置

一、 运行CANoe自带CAPL Demo

1、Demo文件路径:

C:\Users\Public\Documents\Vector\CANoe\Sample Configurations 16.0.145\Programming\CAPLdll\VS 2017 Project

2、Visual Studio运行项目

找到工程文件,运行

项目->属性->C/C++/代码生成中,结构体对齐,改为默认(或许会报错)

平台选择WIN32,64位capl报错cannot open

3、生成DLL

根据配置的路径找到DLL

二、生成自己的DLL文件

1、Visual Studio创建项目

创建inc、src、lib文件夹

2、包含capl所需文件

将capldll的include文件放进inc里,capldll.cpp文件放到src里面

3、添加自己的源文件

在src文件夹中编写自己的代码,右键添加到项目中

4、设置include目录与lib
5、修改capldll.cpp

1)(capldll.cpp,保留class CaplInstanceData的内容,capl的demo可以删除appinit等,)

2)添加自己的头文件,添加自己的函数(格式如下)

  1. void CAPLEXPORT CAPLPASCAL  DemoCom(const void *data, uint32 length, uint8 *digest)
  2.  {
  3.      test(data, length, digest);
  4.  }

3)加入列表

  1. CAPL_DLL_INFO4 table[] = {
  2. {CDLL_VERSION_NAME, (CAPL_FARCALL)CDLL_VERSION, "", "", CAPL_DLL_CDECL, 0xabcd, CDLL_EXPORT },
  3. {"dlldemo1", (CAPL_FARCALL)DemoCom1, "CAPL_DLL", "iam test", 'V', 3, "BDC", "\001\000\001", {"data","length","digest"}},
  4. {"dlldemo2", (CAPL_FARCALL)DemoCom2, "CAPL_DLL", "iam test", 'L', 1, "C", "\001", {"cert"}},
  5. {"dlldemo3", (CAPL_FARCALL)DemoCom3, "CAPL_DLL", "iam test", 'L', 3, "CDC", "\001\000\001", {"challenge","challengesize","sign"}},
  6. {0, 0}
  7. };
  8. CAPLEXPORT CAPL_DLL_INFO4* caplDllTable4 = table;
7、cpp和c混合编译
  1. #ifdef __cplusplus
  2. extern "C" {
  3. #endif 
  4.     /*...*/  void md5Compute(const void* data, uint32_t length, uint8_t* digest);
  5. #ifdef __cplusplus
  6. }
  7. #endif 
8、注意事项

CANoe不能在DLL中运行太久(ms级),否则导致overrun或者停止工程运行等情况

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/674302
推荐阅读
相关标签
  

闽ICP备14008679号