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

网站建设情况自查报告网站制作新技术

网站建设情况自查报告,网站制作新技术,网站建设的出发点,买正品东西哪个网最好参考 鸣谢 CppHeaderParser - 官方文档Python解析C头文件win10直接获得文件绝对路径的方法总结 目的 解析CPP头文件中的类定义#xff0c;获取UML中的属性。用于画UML类图。如下所示格式#xff0c;图片来源-链接 即获取#xff0c;类名#xff0c;成员函数#x…参考 鸣谢 CppHeaderParser - 官方文档Python解析C头文件win10直接获得文件绝对路径的方法总结 目的 解析CPP头文件中的类定义获取UML中的属性。用于画UML类图。如下所示格式图片来源-链接 即获取类名成员函数成员方法。 后置函数返回值、参数类型。、-、# 区分不同的访问权限public,private,protected。 使用Python的CppHeaderPaser库完成CPP文件中类定义解析。 代码实现 import sys import CppHeaderParser import os import shutil import os import retype_hash {private : - ,protected : # ,public : }def get_mem_var(parse_conent,cur_class,target_type):for class_private_mem_var in parse_conent.classes[cur_class][properties][target_type]:# 组装private属性tmp_str type_hash[target_type] class_private_mem_var[name] : class_private_mem_var[type]print(tmp_str)def get_mem_func(parse_conent,cur_class,target_type):# 遍历方法 - publicfor class_mem_func in parse_conent.classes[class_name][methods][target_type]:tmp_str tmp_str type_hash[target_type] class_mem_func[name] (# 遍历函数参数if len(class_mem_func[parameters]): # 有参数p_cnt len(class_mem_func[parameters])tmp_cnt 0for one_param in class_mem_func[parameters]: # 一个函数的多个参数分多行tmp_cnt tmp_cnt 1tmp_str tmp_str one_param[name] : one_param[type]if tmp_cnt ! p_cnt:tmp_str tmp_str , tmp_str tmp_str ) : # 组装返回值tmp_str tmp_str class_mem_func[rtnType]print(tmp_str)if __name__ __main__:while True:# file input(文件路径: )file input(请输入头文件路径: )dest_dir_path ./# 源文件是否存在if os.path.exists(file):print()# 复制文件shutil.copy2(file,dest_dir_path)# 新的目标路径(file_path,file_name) os.path.split(file)file dest_dir_path file_name# 拷贝的临时文件是否存在if os.path.exists(file):# 去除新文件中的中文tmp_new_content with open(file,r,encodingutf-8) as f:old_file_content f.read()# print(old_file_content)tmp_new_content re.sub([\u4e00-\u9fa5],,old_file_content)# 重新打开清空写入with open(file,w,encodingutf-8) as f:f.write(tmp_new_content)# 解析parse_conent CppHeaderParser.CppHeader(file)# 遍历每个解析到的类for class_name in parse_conent.classes.keys():# 当前类print(###################################################)print(class_name \n)# 获取属性 - private - protected - publicget_mem_var(parse_conent, class_name, private)get_mem_var(parse_conent, class_name, protected)get_mem_var(parse_conent, class_name, public)print()# 获取方法 - private - protected - publicget_mem_func(parse_conent, class_name, private)get_mem_func(parse_conent, class_name, protected)get_mem_func(parse_conent, class_name, public)# 分割线划分不同类print()print(###################################################)else:print(拷贝文件不存在)else:print(源文件文件不存在)# 结束后删除临时文件os.remove(file) 使用 获取文件路径 shift 右键选择文件点击复制文件路径即可获取该文件的绝对路径。或者使用VSCodeClion右键选择文件复制文件路径。 启动程序输入路径即可。 这个类内容太多了这里就截取了一部分。类名成员变量成员方法之间用空行隔开。多个类直接用#隔开。 存在问题 部分新特性解析错误例如: // 定时触发的回调函数std::functionvoid() tick_;// 处理消息的回调函数std::functionStatus(proto::MessagePtr) step_;会识别为成员函数。 不完善的地方 构造函数析构函数的返回值类型为void,应该为空析构函数检测不到波浪号~ CppHeaderParser打开文件编码问题(已经解决)会提示如下报错 headerFileStr .join(fd.readlines()) UnicodeDecodeError: gbk codec cant decode byte 0x8c in position 830: illegal multibyte sequence原因: 给定文件中有GBK无法表示的字符。例如中文。 解决方法(已在上述代码中使用): 拷贝文件去掉其中的中文字符保存文件用GBK编码集保存。
http://www.w-s-a.com/news/740165/

相关文章:

  • 网站建设需要微信账号和密码网站建设工作汇报
  • 国家城乡住房和建设部网站西安私人网站
  • 天津高端网站定制seo实战教程
  • 网站文章怎么做才能被快速收录网站备案核验系统
  • 子网站建设方案l建设银行网站
  • 免费看舆情网站网站备案用户名忘了怎么办
  • 地方门户网站的分类网站的方案
  • 沧州哪里做网站网站的建设是什么
  • 设计公司海报秦皇岛seo网站推广
  • 网站导航规划wordpress做漫画
  • jsp体育用品网站建设wordpress 10万篇文章
  • 沈阳做微信和网站的公司网站在线支付接口
  • 重庆整合网络营销百度seo快速提升排名
  • 设计师网站外网百度分析工具
  • 旅游网站建设技术解决方案wordpress主题安装后找不到
  • 网站图片文字排版错误管理系统界面设计
  • 网站建设 台州广州惠科互联网技术有限公司
  • 网站页面尺寸大小四川鸿业建设集团网站
  • 做女朋友的网站局网站建设方案word
  • 做阿里国际网站会有成效吗科技网站有哪些
  • 高端公司网站建设北京两学一做网站
  • 黄埔网站建设设计wordpress 文件夹改名
  • 怎么什么软件可以吧做网站最火的二十个电商app
  • wordpress theme sage网站seo优化加推广
  • 建设一个大型电影网站公司网站建设工作总结
  • 传奇网站一般怎么做的宇泽佛山网站建设
  • google网站入口电商运营十大基础知识
  • 建设公司网站的细节中国建设网网站
  • 重庆美邦建网站宝安网页设计
  • 建网站的地址十堰做网站