小编Kau*_*eru的帖子

如何在python中使用枚举?

我有一个枚举声明如下:

typedef enum mail_ {
 Out = 0,
 Int = 1,
 Spam = 2
} mail;
Run Code Online (Sandbox Code Playgroud)

功能:

mail status;
int fill_mail_data(int i, &status);
Run Code Online (Sandbox Code Playgroud)

在上面的函数中,status填充并将发送.

当我通过swig尝试这个时,我面临以下问题:

  1. 它没有显示细节mail.当我尝试打印mail.__doc__ 或者help(mail),它抛出一个错误,说没有这样的属性,虽然我虽然能够使用这些值(Spam,In,和Out).
  2. 如上所示,Swig不知道是什么main,所以它不接受任何函数参数mail.

python enums swig

6
推荐指数
1
解决办法
2265
查看次数

在SWIG编译中:在接口的头文件中无法解析其他头文件.

在接口文件中.我已经包含了一个头文件.在那个头文件中有很多头文件,但是来自顶层树基但是在Swig中无法识别那些

Eample:

main.h
#include<dir/second.h>
#define PAGE 1
Run Code Online (Sandbox Code Playgroud)

Swig无法在头文件中解析该目录

python swig interface

5
推荐指数
1
解决办法
3605
查看次数

C代码:解析到LinkedList结尾的有效方法

我有一个结构数据,这将是一个链接的消息列表.对于每个新消息,我需要在链接列表的最后一个附加.我有一个计数器,我知道有多少消息存在.而不是解析直到链接列表的结尾.有没有更好的方法来达到链接列表中的具体位置?

struct Data {
   char            *message;
   struct Data     *next;
}data;

int total_message;
Run Code Online (Sandbox Code Playgroud)

现在我解析如下:

struct Data *traverse;

while(traverse->next != NULL)
    traverse = traverse->next;
Run Code Online (Sandbox Code Playgroud)

我也在下面试过,我不确定为什么这个错误在逻辑上对我来说似乎是正确的.

data[total_messages - 1].next = new_data;
Run Code Online (Sandbox Code Playgroud)

除了将指针存储到Last Message之外,还有更好的方法吗?

c parsing linked-list

0
推荐指数
1
解决办法
74
查看次数

标签 统计

python ×2

swig ×2

c ×1

enums ×1

interface ×1

linked-list ×1

parsing ×1