C++和Python使用同一个枚举的方法

C++和Python使用同一个枚举的方法,第1张

C++和Python使用同一个枚举的方法,第2张

为了快速修改程序的逻辑,我在C++程序中使用Python作为脚本。

程序需要从脚本中接收一些不同类型的消息。C++程序中使用枚举来区分这些消息。所以在写剧本的时候,我想:

如何在Python中使用这些枚举?如何只维护一个档案?

1.1中没有枚举类型。Python,所以我打算直接在文件中写一些变量并给它们赋值:
enum _ value 1 = 1
enum _ value 2 = 2
...

2.C++中的变量必须声明,所以只能使用枚举或者宏定义,但是“#”是Python中的注释,所以只能使用枚举,所以我打算用上面的形式写定义文件(假设文件名为:“Micro.py”),然后在C++中:
enum
{

但enum中的每个定义都要跟一个逗号“,”,否则不会用C++编译,所以我又加了一个只有一个逗号“,”的文件“Comma.h”,然后修改定义文件如下:
enum _ value 1 = 1
# include“comma . h”
enum _ value 2 = 2
# include“comma . h”
...

3.我们的定义文件中也应该有注释,否则其他人不会理解这些定义的意思。考虑到C++中的注释使用“//”,Python中的注释使用“#”,而“#”是C++中编译预处理指令的开始,所以我又这样重写了定义文件:
#define _C_PY_DESCRIBE1 "宏定义描述1 "
enum _ value 1 = 1
# include " comma . h "/br/]# Define _ C _ PY _ describe 2 "宏定义描述2 "
enum _ value 2 = 2
# include "逗号。...
结束了,呵呵,虽然变态,但至少宏定义统一了;

其他:
1。文件扩展名只能另存为”。py”,所以在C++中看不到语法高亮。
2。如果注释中包含中文,宏定义文件要保存为utf8格式,否则Python会提示解码方法未声明。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C++和Python使用同一个枚举的方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情