编写C的包装器时如何处理Julia中的位字段
如何处理Julia中编写C的包装器时如何处理Julia中的位字段,julia,Julia,如何处理Julia中htsFile的位字段部分? 如果我不关心具体的值uint32\t is\u bin:1、is\u write:1、is\u be:1、is\u cram:1、dummy:28,我可以只使用Cuint变量在julia中重新使用它吗 我可以在julia中使用Cuint变量替换它吗 是的,路线将是相同的。如果确实需要这些值,可以使用位掩码选择所需的位 作为旁注,该包可能对处理复杂的结构[反]序列化感兴趣(尽管我认为它没有内置的位字段支持) 我可以在julia中使用Cuint变量替
htsFile
的位字段部分?
如果我不关心具体的值uint32\t is\u bin:1、is\u write:1、is\u be:1、is\u cram:1、dummy:28代码>,我可以只使用Cuint变量在julia中重新使用它吗
我可以在julia中使用Cuint变量替换它吗
是的,路线将是相同的。如果确实需要这些值,可以使用位掩码选择所需的位
作为旁注,该包可能对处理复杂的结构[反]序列化感兴趣(尽管我认为它没有内置的位字段支持)
我可以在julia中使用Cuint变量替换它吗
是的,路线将是相同的。如果确实需要这些值,可以使用位掩码选择所需的位
作为旁注,该软件包可能对处理复杂的结构[反]序列化(尽管我认为它没有内置的位字段支持)感兴趣。您可以使用julia'a逐位操作函数(&
,>
等)提取单个位。您可以定义方便的函数,如is_bin(x)=(x&0x01)>0
您可以使用julia'a逐位操作函数(&
,>
等)提取各个位。您可以定义方便的函数,如is_bin(x)=(x&0x01)>0
typedef struct {
uint32_t is_bin:1, is_write:1, is_be:1, is_cram:1, dummy:28;
int64_t lineno;
kstring_t line;
char *fn, *fn_aux;
union {
BGZF *bgzf;
struct cram_fd *cram;
struct hFILE *hfile;
void *voidp;
} fp;
htsFormat format;
} htsFile;