⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mkchecker.py

📁 xen虚拟机源代码安装包
💻 PY
字号:
#!/usr/bin/pythonimport sys;from structs import structs;# command line argumentsoutfile = sys.argv[1];archs   = sys.argv[2:];f = open(outfile, "w");f.write('''/* * sanity checks for generated foreign headers: *  - verify struct sizes * * generated by %s -- DO NOT EDIT */#include <stdio.h>#include <stdlib.h>#include <stddef.h>#include <inttypes.h>''');for a in archs:    f.write('#include "%s.h"\n' % a);f.write('int main(int argc, char *argv[])\n{\n');f.write('\tprintf("\\n");');f.write('printf("%-25s |", "structs");\n');for a in archs:    f.write('\tprintf("%%8s", "%s");\n' % a);f.write('\tprintf("\\n");');f.write('\tprintf("\\n");');for struct in structs:    f.write('\tprintf("%%-25s |", "%s");\n' % struct);    for a in archs:        s = struct + "_" + a;        f.write('#ifdef %s_has_no_%s\n' % (a, struct));        f.write('\tprintf("%8s", "-");\n');        f.write("#else\n");        f.write('\tprintf("%%8zd", sizeof(struct %s));\n' % s);        f.write("#endif\n");    f.write('\tprintf("\\n");\n\n');f.write('\tprintf("\\n");\n');f.write('\texit(0);\n');f.write('}\n');f.close();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -