当前位置: 首页 > news >正文

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


http://www.mrgr.cn/news/53959.html

相关文章:

  • Java 中的【初始化块】
  • 深度解析模型调优与正则化:L1、L2正则化及偏差-方差的权衡
  • Vue中计算属性computed—(详解计算属性vs方法Methods,包括案例+代码)
  • 论文写作学习--POLYGCL
  • 前端_007_Axios库
  • 如何在Android中进行日志打印和调试?
  • python【类和面向对象】
  • 基于卡尔曼滤波算法处理感知车道线系数
  • 用实例来理解Java中的类和对象
  • stable diffusion 大模型及lora等下载安装使用教程及项目目录说明
  • ⌈ 传知代码 ⌋ 视频质量评价SimpleVQA
  • 代码训练营 day39|0-1背包问题,LeetCode 416
  • 基于语音识别的停车共享小程序(lw+演示+源码+运行)
  • setuptools封装自己python包
  • 图像梯度-Sobel算子、scharrx算子和lapkacian算子
  • 逆向工程入门02.if语句分析
  • 如何用联想电脑滚动截图
  • stablediffusion ControlNet选不了模型/报错/无效 的解决方法
  • 【Linux网络编程】Socket编程--UDP(第一弹):实现客户端和服务器互相发送消息
  • 14.归一化——关键的数据预处理方法
  • 【C++ 算法进阶】算法提升四
  • 【C++训练营】现代C++编程(隐藏)
  • 【Mysql】-锁机制-GAP锁
  • 2024年【N2观光车和观光列车司机】及N2观光车和观光列车司机模拟考试题
  • 【Hive】2-Apache Hive概述、架构、组件、数据模型
  • 好的口才是做领导的第一要务