通过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 页
评论区
写评论还没有评论