< 返回我的博客

ziyouwa 发表于 2022-07-22 15:12

Tags:bindgen time_t 进制

通过bindgen调用c库时,遇到两个问题: 1、想忽略某行include包含的头文件,试过了blocklist_type、blocklist_file、opaque_type、raw_line等,都没能达到目的。 2、define定义的十六进制常量,如何让bingen转换后还是十六进制? 具体如下

/*  a.h */

#include <time.h>

/*** 问题1
* 这个time_t我可以用libc::time_t代替,bindgen整了一大堆代码(约700行),有没有办法告诉bindgen用
* libc::time_t替代。我期望的结果是
* pub struct A {
*    pub tTimeStamp: libc::time_t,
* }
***/
typedef struct {
    time_t tTimeStamp;
}A;

/*** 问题2
* 这个转换出来是pub const ABC:u32 = 1;,我想的是pub const ABC: u32 = 0x001
***/
#define ABC 0x001

评论区

写评论

还没有评论

1 共 0 条评论, 1 页