自动生成大量c文件,大量函数的Python脚本
有时候需要验证动态库和静态库的差别,需要一个很多文件的工程
file_count = 100
 fun_count = 500
def generate_c(file_index):
 with open("./print/print_%s.c"%file_index, 'w+') as file:
 file.write("// ./print/print_%s.c\n" % file_index)
 file.write("#include "print_%s.h"\n"% file_index)
 file.write("#include <stdio.h>\n")
 if file_index > 50:
 visibility_content = "attribute ((visibility("default")))"
 else:
 visibility_content = ""
 global fun_count
 for i in range(fun_count):
 file.write("%s void print%s%s(){ printf("lib print_%s_%s\n");}\n" %(visibility_content, file_index, i, file_index, i))
def generate_h(file_index):
 with open("./print/print_%s.h"%file_index, 'w+') as file:
 macro_content = "PRINT_PRINT%s_H_" % file_index
 if file_index > 50:
 visibility_content = "attribute ((visibility("default")))"
 else:
 visibility_content = ""
 file.write("#if !defined(%s)\n"%macro_content)
 file.write("#define %s \n"%macro_content)
 global fun_count
 for i in range(fun_count):
 file.write("%s void print%s%s();\n"%(visibility_content, file_index, i))
 file.write("#endif // %s\n" % macro_content)
for j in range(file_count):
 generate_c(j+1)
 generate_h(j+1)
