计软编译原理实验的debug记录

电专计软的编译原理实验算是计科院一堆实验中很硬核的一个了,其他的都是什么智障(流汗黄豆),不过话说xb哥教的课的上机都是狠活。这几天用C++写这个深刻体会到了往年学长们想骂娘的感受。

LNK2005:常见的原因是多文件编程时头文件书写不规范,然而今天鼠鼠堆屎山时发现了另一个原因:类的静态数据成员没有在类外显式初始化。

yacc生成的代码出现了命名冲突(INT,CHAR冲突):99%是把windows.h直接或间接的引入到了yacc的头文件中,而一般是在做存储引擎的时候用到了windows.h(读写文件)。

LNK2019:可能是声明了某函数或变量但没有定义它

C3646:可能是两个头文件互相引用造成了循环依赖

使用fseek的很邪门的地方:若用fseek移动了读写指针然后使用fwrite来写文件,文件写完后虽然读写指针到了下一个被读写的位置,但是还需要用两次fseek将读写指针移动到前面再移动到后面。否则的话使用fgetc判断EOF时会使文件扩大一个字节。

使用VS2019的调用堆栈窗口可以方便的查看不同函数中的变量

posted @ 2022-04-02 00:45  带带绝缘体  阅读(103)  评论(0)    收藏  举报