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

网站保姆-源码下载网上怎么开自己的网店呀

网站保姆-源码下载,网上怎么开自己的网店呀,网页特效经典300例,厦门seo关键词优化代运营向pycdc项目提的一个pr 前言 pycdc这个项目#xff0c;我之前一直有在关注#xff0c;之前使用他反编译python3.10项目#xff0c;之前使用的 uncompyle6无法反编译pyhton3.10生成的pyc文件#xff0c;但是pycdc可以#xff0c;但是反编译效果感觉不如uncompyle6。但是版…向pycdc项目提的一个pr 前言 pycdc这个项目我之前一直有在关注之前使用他反编译python3.10项目之前使用的 uncompyle6无法反编译pyhton3.10生成的pyc文件但是pycdc可以但是反编译效果感觉不如uncompyle6。但是版本更新很快支持的python版本很多。 在issue看到别人提供的pyc文件 我逛github的时候看看这个项目有没有更新啥新特性在issue里面看到别人提的issue带了一个pyc文件。本着乐于助人的态度也想学习一下这个项目是如何解析pyc文件到py文件的。就下载了这个pyc。看他提的pr。是报了一个Unsupported Node type: 27错误。但是看他发的报错。感觉不止这一个报错。 E:\temp_vc\pycdc\build_v141\Releasepycdc.exe model.pyc model.py Unsupported Node type: 27 Unsupported Node type: 27 Unsupported Node type: 27 Unsupported argument found for LIST_EXTEND Unsupported opcode: LIST_TO_TUPLE Unsupported opcode: CALL_FUNCTION_EX Unsupported opcode: DICT_MERGE Unsupported Node type: 27 Unsupported Node type: 27 Unsupported argument found for LIST_EXTEND Unsupported opcode: LIST_TO_TUPLE Unsupported Node type: 27 Unsupported Node type: 27 Unsupported Node type: 27 Unsupported Node type: 27 Unsupported Node type: 27 Unsupported Node type: 27 Unsupported Node type: 27 Warning: block stack is not empty! Unsupported Node type: 27 Unsupported Node type: 27 Warning: block stack is not empty! 下载项目 OK先fork一下这个项目fork完成之后了这个项目就到你的仓库了。本地的话就直接git clone一下自己fork的仓库。把项目先下载到本地准备编译运行这个pycdc项目是c写的。用的是cmake进行编译的。 环境说明 cmake vs2022 python 3.9 我这边的话就是这么多了。编译的话很简单下载cmake后在项目目录cmake一下就会自动生成vs项目打开vs项目编译生成pycdc.exe和pycdas.exe后就行。这个pycdc是将pyc变成py这个pycdas解析pyc文件输出python的字节码。 我们随便写个hello,保存为test.py测试一下效果 print(hello,world)使用命令 python -m py_compile test.py使用pycdc对生成的test2.cpython-39.pyc进行反编译 可以看到结果已经反编译成功了。 OK我们继续 尝试调试程序 我们修改一下这个接受参数再pycdc.cpp里面。 手动给他加上我们需要的参数方便后期调试。好了经过调试。发现问题。 class t(test.t):pass这样的代码就会报错会错误的识别为 def t():pass并且会报错,Unsupported Node type: 27。 经过调试最终将问题集中到这里ASTree.cpp while (TOS_type  ASTNode::NODE_NAME) {bases.resize(basecnt  1);bases[basecnt]  TOS;basecnt;stack.pop();TOS  stack.top();TOS_type}这个地方,CALL_FUNCTION_A字节码这个位置。因为我们传参的是test.t。这个玩意被识别为NODE_BINARY。没有被识别为:NODE_NAME 。导致这个while循环没进入这个NODE_NAME没有被清除导致后面一些解析错误。变成这样就可以了 while (TOS_type  ASTNode::NODE_NAME || TOS_type  ASTNode::NODE_BINARY) {bases.resize(basecnt  1);bases[basecnt]  TOS;basecnt;stack.pop();TOS  stack.top();TOS_type  TOS.type();}修改完毕后 git add ASTree.cpp git commit -m fix git push上传到我们自己的仓库。 提交pr 我们就可以向源项目提交pr了说明一下自己的修改的原因以及效果。就可以了。我这边的话是自己提交了一个issue在issue里面说了这个报错。提交的pr链接的这个issue。 等待被合并 我这边大概等了一个星期左右。我猜是为python3.12做适配了回复我那天就更新了python3.12适配并且后面回复就很及时了作者回复我了让我加一些测试文件进去。我加了之后。因为有时差作者回复一般都是晚上12点以后了。我加完测试文件后。第二天我的请求就被merge了。 整个流程就完成了我也成为这个项目的贡献者了虽然实际修改代码只有一行偷偷的笑。 今天就到这里如果您觉得不错欢迎关注。如有错误欢迎私聊指正。
http://www.dnsts.com.cn/news/124422.html

相关文章:

  • 做网站销售说辞ui设计好学吗?要学多久
  • 网站被k查询大数据系统
  • 学网站建设与管理难吗电商推广
  • 哪些行业需要网站有哪些内容淘宝优惠券网站怎么做
  • 福州公司做网站爱前端主图wordpress
  • 设计营销型网站廊坊百度关键词优化
  • 用自己电脑怎么做网站个人网站制作视频
  • 做电影网站看电影算网站流量吗wordpress 置顶图标
  • html5网站基础提高销售的10种方法
  • 做的网站很卡是什么原因建设营销型网站的目的
  • 用自己电脑做网站服务器唐县做网站
  • 暴雪战网官方网站入口霸气又聚财的公司名字大全
  • 网站seo推广高中网站制作
  • 隆化县建设局网站做网站配置
  • 建动画网站需要多少钱怎么进入网站后台图片
  • 那个网站ppt做的比较好吉林省住房和城乡建设部网站
  • 酒店网站建设栏目分析杭州网站建设过程
  • 计算机外包公司有哪些seo教学
  • 公司网站建设规划设计素材网站图案免费
  • 简述如何优化网站的方法梦创义网站建设
  • 温州网站建设优化公司网页设计培训
  • 网站怎么样建设学习网站建设要什么学历
  • 淘宝入驻网站建设百度搜索排名服务
  • 凡科怎么建站教程html网页设计案例
  • asp.net怎样做网站登录php网站 更改logo
  • 大楼物流公司网站源码西安网站公司排名
  • 广州网站建设 知名怎么推广外贸网站
  • 天津塘沽网站建设公司创建网站怎么收费
  • 品牌营销型网站建设男科医院网站建设策略
  • 中小型企业网站大全知名网站的org域名