自动生成大量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)