代码之家  ›  专栏  ›  技术社区  ›  Patrick

在c++中使用枚举并通过c++头使用c#

  •  4
  • Patrick  · 技术社区  · 14 年前

    enum {
        e_doThing1,
        e_doThing2
        ...
        e_doLastThing
    };
    

    所需枚举的值被放入发送到服务器的消息的第一个字节中,以便服务器知道该做什么。我现在正在写一个需要访问服务的客户。

    有没有什么方法可以将标题包含到C代码中,这样就不必在两个位置维护相同的列表?

    帕特里克

    4 回复  |  直到 14 年前
        1
  •  3
  •   Puppy    14 年前

    如果要将枚举放在命名空间中并为其命名,则可以直接将头文件添加到C#项目中。

    用最终解决方案编辑:
    这样的方法是行不通的,但是反过来,它会将头A .cs命名为C,并包含在C++项目中,然后包含C++。

        2
  •  1
  •   BlueMonkMN    14 年前

    你能用一个自动化的过程来生成文件的副本吗,比如在C项目中定义的预构建步骤?我认为,您所需要做的就是创建一个文件副本,在“enum”和“{”之间添加一个名称。

    编辑:

        3
  •  1
  •   codymanix    14 年前

    您可以使用托管C++来实现。在托管C++项目中包含头文件,您可以从C语言中使用它。

        4
  •  0
  •   Ram kiran Pachigolla    12 年前

    可以这样使用宏定义:

    public enum class eAlgId
     {
       ENUM_PARAMETERS
     };
    

    在cpp上:

    enum ProcAlgID
    {
     ENUM_PARAMETERS 
    };
    

    在双方都知道的.h文件中:

    #定义ALG\u ENUM\u参数\