关于编译原理VSCode的配置

……持续更新中

 0. 显示找不到make

来自21网安1班周家锋同学的回答: 如果你是用的是mingw,发生这个原因大概是因为make他不叫make, 好像是叫mingw-make64

来自"墲⃠穹芜烬"同学的吐槽: 不嫌慢也能让网站的工作流编译

来自老师对这条吐槽的吐槽: 确实, 但这个环境其实是我故意的让我大家去配的, 原因是更加贴近基本的编译环境. 如果全都一键就能搞好, 这个实验要填的又只有那么一两句代码, 对你们的锻炼根本为零. 下面一个例子正好是讲调试过程对人思路的锻炼

 

1.项目1在自己电脑上能过90/100分, 但在系统上总是60分, 能make但第一个case显示第一个符号识别出为ERROR.

先说结论: Git在同步的时候把\n替换成\r\n, 源代码的逻辑中没有识别\r的部分, 因此出错.

解决方案: 1. 在scan.c中增加相应处理; 2. 把readfile中的\r全部去掉.

 

发现的思路: 既然读到ERROR, 那就是读到奇怪的字符, 然后我就想办法在服务器端输出他到底读到了什么字符. 找到了之后, 就只要加一个额外处理就行. 服务器显示对应的符号十六进制是d, 因此就是13号ascii码, 也就是\r. 

 

 

2. 找不到colorama模块

首先要吐槽的是,这个模块其实根本没有太大作用,只是因为这个平台提供的test脚本为了好看,非要引入这坨东西。

错误原因:有很多可能,这里列举最常见的几个。1.python版本建议在3.8以下,因为理论上这个模块只支持到这个版本。(但事实上有些超出3.8的版本一样可以运行。)2.装了msys之后,里面的python和自己装的冲突了。msys里面的python没有pip,导致一直找不到相关模块。(具体原理有待进一步研究)3.系统装了好几个python,然后script路径也有好几个,也是互相冲突。

解决方案:(一一对应)1.换python。2.移到msys64装python的目录下面,把python移走。3.利用where命令找到当前的默认python路径,然后在它的目录下找到script目录,打开cmd切到这个目录下,再运行pip安装colorama模块。

 

3.项目2 (LEX) 出现如下错误:

 

错误原因:因为gcc路径不对找不到 libfl.a。

解决思路:根据gcc的帮助文件,它会去检索库的路径,但比较繁杂。特别地,它会在一个名为LIBRARY_PATH的环境变量中找库的路径。win下面一般没有,因此要手动添加。

解决办法:在系统变量中,增加名为LIBRARY_PATH的变量,值为你装msys64的路径下的usr\lib文件夹,比如我的是默认地址:“C:\msys64\usr\lib”。

 

错误原因:应该是没有装好flex

解决思路:估计是没有按照我的官方配置方法来做, 所以要么重新走官方路线, 要么手动安装下flex.

 

 

 

4. bj平台提示领取任务失败

 联系我,然后我会把你移出班级再重新加进来。注意保存已有数据。

 

 

……持续更新中

 

posted @ 2022-06-30 10:35  lynnzixing  阅读(414)  评论(0编辑  收藏  举报