|
|
1
10
如果使用调试编译C代码(
$ pahole /bin/dd
…
struct option {
const char * name; /* 0 8 */
int has_arg; /* 8 4 */
/* XXX 4 bytes hole, try to pack */
int * flag; /* 16 8 */
int val; /* 24 4 */
/* size: 32, cachelines: 1, members: 4 */
/* sum members: 24, holes: 1, sum holes: 4 */
/* padding: 4 */
/* last cacheline: 32 bytes */
};
…
这应该比直接C更好地进行解析。 |
|
|
2
5
正则表达式在90%的时间里会起很大作用,然后在剩下的10%时间里会引起无尽的头痛。 令人头疼的是,在编写正则表达式时,C代码包含您没有想到的语法。然后你回到过去,意识到C不能被正则表达式真正地解析,生活变得不再有趣。 试着改变它:定义你自己的简单格式,它允许比C少的技巧,并从你的文件中生成C头文件和python接口代码:
然后您可以轻松地编写一些python来将其转换为:
还可以发出一个使用
|
|
|
3
3
|
|
|
6
1
ctypes-codegen
或
ctypeslib
(我想也是一样)会产生ctypes
|
|
|
7
0
我的一个朋友完成了C-Parser任务,他使用了COG。 |