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

做五金外贸哪个网站比较好wordpress 后台

做五金外贸哪个网站比较好,wordpress 后台,旅游网站做seo,东营网站建设收益高目录 前言 utf-8 chinese GB2312 utf-8 排除task.c chinese GB2312 排除task.c 运行结果 前言 建议是把能正常工作的单个功能函数放到一起(就和放while函数里的程序一样),程序会按顺序自动配置。 不同的格式已经对应给出。 utf-8 impo…

目录

前言

utf-8

chinese GB2312

 utf-8 排除task.c

chinese GB2312 排除task.c

运行结果


前言

        建议是把能正常工作的单个功能函数放到一起(就和放while函数里的程序一样),程序会按顺序自动配置。

        不同的格式已经对应给出。

utf-8

import os
import redef extract_functions():func_re = re.compile(r'^void\s+(?!.*Init\b)(\w+)\s*\(void\)\s*{', re.MULTILINE)functions = []for file in os.listdir('.'):if file.endswith('.c'):try:with open(file, 'r', encoding='utf-8') as f:matches = func_re.finditer(f.read())functions.extend(m.group(1) for m in matches)except UnicodeDecodeError:print(f"警告: {file} 非UTF-8编码已跳过")return sorted(set(functions))def generate_files(func_list):# 生成task.hwith open('task.h', 'w', encoding='utf-8') as f:f.write(f"""#ifndef TASK_H
#define TASK_H#include <stdint.h>typedef struct {{void (*task)(void);uint32_t interval;uint32_t counter;
}} Task;#define TASK_COUNT {len(func_list)}
extern Task tasks[TASK_COUNT];void tasks_init(void);
void scheduler(void);#endif
""")# 生成task.cwith open('task.c', 'w', encoding='utf-8') as f:f.write("""#include "task.h"Task tasks[TASK_COUNT];void tasks_init(void) {
""")for i, func in enumerate(func_list):f.write(f'    tasks[{i}] = (Task){{{func}, {10*(i+1)}, 0}};\n')f.write("""}void scheduler(void) {for(uint8_t i=0; i<TASK_COUNT; i++){if(++tasks[i].counter >= tasks[i].interval){tasks[i].task();tasks[i].counter = 0;}}
}
""")if __name__ == "__main__":funcs = extract_functions()generate_files(funcs)print(f"生成成功: 共配置{len(funcs)}个任务")

chinese GB2312

import os
import redef extract_gb2312_functions():pattern = re.compile(r'^void\s+(?!.*Init\b)(\w+)\s*\(void\)\s*{',re.MULTILINE)functions = []for file in os.listdir('.'):if file.endswith('.c'):try:with open(file, 'r', encoding='gb2312') as f:functions += [m.group(1) for m in pattern.finditer(f.read())]except UnicodeDecodeError:print(f"解码失败: {file} 非GB2312编码")return sorted(set(functions))def generate_gb_tasks(func_list):with open('task.h', 'w', encoding='gb2312') as f:f.write("#ifndef TASK_H\n""#define TASK_H\n\n""typedef struct {\n""    void (*run)(void);\n""    unsigned int interval;\n""    unsigned int counter;\n""} Task;\n\n"f"#define TOTAL_TASKS {len(func_list)}\n""extern Task tasks[TOTAL_TASKS];\n""void init_tasks(void);\n""#endif\n")with open('task.c', 'w', encoding='gb2312') as f:f.write('#include "task.h"\n\nTask tasks[TOTAL_TASKS];\n\n')f.write('void init_tasks(void) {\n')for idx, func in enumerate(func_list):f.write(f'    tasks[{idx}] = (Task){{{func}, {10*(idx+1)}, 0}};\n')f.write('}\n\n''void tick_scheduler(void) {\n''    for(int i=0; i<TOTAL_TASKS; i++) {\n''        if(++tasks[i].counter >= tasks[i].interval) {\n''            tasks[i].run();\n''            tasks[i].counter = 0;\n''        }\n''    }\n''}\n')if __name__ == "__main__":valid_funcs = extract_gb2312_functions()generate_gb_tasks(valid_funcs)print(f"生成完成: {len(valid_funcs)}个任务")

         把项目放到python目录下,再在想要生成的位置创建.py文件

         测试验证GB2312的,执行基本没啥大问题,生成的tsak文件仍需要验证,暂时没有时间。

 utf-8 排除task.c

import os
import redef extract_functions():exclude_files = {'task.c'}pattern = re.compile(r'^void\s+(?!.*Init\b)(\w+)\s*\(void\)\s*{', re.MULTILINE)funcs = []for file in os.listdir('.'):if file.endswith('.c') and file not in exclude_files:with open(file, 'r', encoding='utf-8') as f:matches = pattern.finditer(f.read())funcs.extend(m.group(1) for m in matches)return sorted(set(funcs))def generate_task_files(func_list):with open('task.h', 'w', encoding='utf-8') as h:h.write(f'''#ifndef TASK_H
#define TASK_Htypedef struct {{void (*execute)(void);unsigned int interval;unsigned int counter;
}} Task;extern Task tasks[{len(func_list)}];
void init_scheduler(void);
void run_scheduler(void);
#endif''')with open('task.c', 'w', encoding='utf-8') as c:c.write('#include "task.h"\n\nTask tasks[%d];\n\n' % len(func_list))c.write('void init_scheduler() {\n')for idx, name in enumerate(func_list):c.write(f'    tasks[{idx}] = (Task){{{name}, {50*(idx+1)}, 0}};\n')c.write('}\n\nvoid run_scheduler() {\n''    for(int i=0; i<%d; i++) {\n' % len(func_list) +'        if(++tasks[i].counter >= tasks[i].interval) {\n''            tasks[i].execute();\n''            tasks[i].counter = 0;\n''        }\n    }\n}')if __name__ == '__main__':functions = extract_functions()generate_task_files(functions)

chinese GB2312 排除task.c

import os
import redef extract_funcs():exclude_files = {'task.c'}pattern = re.compile(r'^void\s+(?!.*Init\b)(\w+)\s*\(void\)\s*{', re.MULTILINE)funcs = []for f in os.listdir('.'):if f.endswith('.c') and f not in exclude_files:try:with open(f, 'r', encoding='gb2312') as file:content = file.read()funcs += [m.group(1) for m in pattern.finditer(content)]except UnicodeDecodeError:print(f"跳过非GB2312文件: {f}")return sorted(set(funcs))def build_task_files(func_list):# 生成头文件with open('task.h', 'w', encoding='gb2312') as h:h.write(f'''#ifndef _TASK_H
#define _TASK_Htypedef struct {{void (*exec)(void);unsigned int cycle;unsigned int tick;
}} Task;#define TASK_NUM {len(func_list)}
extern Task task_table[TASK_NUM];void task_init(void);
void task_scheduler(void);
#endif''')# 生成源文件with open('task.c', 'w', encoding='gb2312') as c:c.write('''#include "task.h"\n\nTask task_table[TASK_NUM];\n\n''')c.write('void task_init(void) {\n')for i, name in enumerate(func_list):c.write(f'    task_table[{i}] = (Task){{{name}, {20*(i+1)}, 0}};\n')c.write('}\n\nvoid task_scheduler(void) {\n''    for(unsigned char i=0; i<TASK_NUM; i++) {\n''        if(task_table[i].tick++ >= task_table[i].cycle) {\n''            task_table[i].exec();\n''            task_table[i].tick = 0;\n''        }\n''    }\n}')if __name__ == '__main__':valid_func = extract_funcs()build_task_files(valid_func)print(f"生成完成: {len(valid_func)}个任务")

运行结果


文章转载自:

http://zusz7TS9.rdpps.cn
http://mzwj30xd.rdpps.cn
http://fOrnQFHG.rdpps.cn
http://XG6hMa99.rdpps.cn
http://MgzYUr8g.rdpps.cn
http://HczmG70F.rdpps.cn
http://GQ9rNiep.rdpps.cn
http://8mvkQo8P.rdpps.cn
http://lYYOlj1i.rdpps.cn
http://NVDwccwb.rdpps.cn
http://QU4jFPsZ.rdpps.cn
http://nZXp3WCI.rdpps.cn
http://fSayYgo8.rdpps.cn
http://np08e9R4.rdpps.cn
http://Djk21T7G.rdpps.cn
http://q7O2gKjf.rdpps.cn
http://vmLPFYIU.rdpps.cn
http://cBbUm912.rdpps.cn
http://tQetlD0S.rdpps.cn
http://7AKhEVIw.rdpps.cn
http://MAVrhy3Y.rdpps.cn
http://g2XwJ9JX.rdpps.cn
http://Xwl6I0bI.rdpps.cn
http://XvenauOM.rdpps.cn
http://XfVDd9Wp.rdpps.cn
http://uS4CUIkm.rdpps.cn
http://M9hTF3MY.rdpps.cn
http://Z3FhqhCP.rdpps.cn
http://5IKoqOl0.rdpps.cn
http://0dvWguzo.rdpps.cn
http://www.dtcms.com/wzjs/769830.html

相关文章:

  • 跨境电商在哪些网站上面做爱奇艺影业公司网站开发意义
  • 做丝网网站哪个好宝安设计网站建设
  • 零基础网站建设教学wordpress 两个数据库 互通
  • 青海网站建设公司多少钱北京php网站建设
  • 网站开发费 会计科目动易网站模版的制作
  • 网站建设对用户影响网站建设三秒原则
  • 判断网站是什么系统做的哪里去找做的好看的网站
  • 创建网站有免费的吗做阿里网站卖东西赚钱
  • 上海金山网站设计公司游戏介绍网站模板下载
  • flask做的网站如何上传哪个公司的app开发公司
  • 机构编制网站建设wordpress社交主题
  • 中小企业做网站贷款家具网站设计网站
  • 综合门户网站什么意思桂林象鼻山作文300字
  • seo的优化策略有哪些淄博优化网站
  • 巨鹿网站建设网络公司网站seo设置是什么意思
  • 如何做网站 新手 个人 教程长沙手机网站建设哪些
  • 永久免费网站建设大概多少钱如何做网站投放广告
  • 阿里云网站建设步骤云服务器2008做网站
  • 织梦网站是不是容易做seo企业管理软件选型要注意哪些因素
  • 多个微信管理系统网站建设推广优化公司
  • 网站开发调试工具seo刷关键词排名工具
  • 有哪些做设计交易网站有哪些乐云seo官网
  • 莱芜区宣传部网站免费做网站的网址有哪些
  • 怎么替换网站模板石家庄网站编辑
  • 网站建设的能力网页前端开发教程
  • 有趣的网站 知乎2345网址大全导航
  • 做简单网站用什么软件有哪些内容导航网站html模板
  • 广州东莞网站建设网站转换移动网站
  • 在电脑上怎么建设网站wordpress一个页面如何连接到首页
  • 全国信息企业查询系统官网北京网站优化诊断