在C#application

时间:2018-02-23 07:07:51

标签: c# c++ header-files

将C ++应用程序重写为C#时遇到了一些困难。基本上,C ++应用程序包含一个包含结构和枚举定义的C头文件:

想象一下:

标题文件:

/**********  myHeader.h *************/

#ifndef MY_HEADER_H
#define MY_HEADER_H

#define MY_CONSTANT    10u
#define OTHER_CONSTANT 20u


typedef enum 
{
  ACTION_ONE,
  ACTION_TWO,
  NUMBER_OF_ACTIONS
} myEnum;


typedef struct
{
  uint32_t member;
  uint32_t bitfield_msb : 24;
  uint32_t bitfield_lsb : 8;
} myStruct;

#endif

所以目前C ++程序引用了这些结构。它从.h文件中获取格式,并根据此数据构造结构。标题本身也包含在C项目中。这确保了两个项目之间的兼容性,因为它们都使用相同的数据结构。

有人能推荐一种在C#中实现此功能的好方法吗?或者这是不可能的任务。当然,我可以用C#格式单独定义结构,但在这种情况下,C项目和(要转换为C#项目的C ++)之间的连接将会丢失。

0 个答案:

没有答案