NJU-ProjectN/nemu

一个已经解决的问题(但还是想报告给老师,大概是Ubuntu22.04下的bug)

paperplane03 opened this issue · 4 comments

在/abstract-machine/am/src/native/platform.h中,__am__cpu_t结构体中有一个变量:uint8_t sigstack[SIGSTKSZ]
在用native测试时会显示‘variably modified array at file scope’,STFW后发现是不能把常量作为数组的大小。
https://stackoverflow.com/questions/13645936/variably-modified-array-at-file-scope-in-c)
暂时的解决办法是,输出SIGSTKSZ的值(在我的Ubuntu22,.04下是8192),换为uint8_t sigstack[8192]中即可解决这个问题。
另一个问题是,用native会提示缺少"SDL2/SDL.h",似乎Ubuntu22.04不自带这个库。我在解决的这个问题中遇到了一些麻烦,但最后还是解决了。
我知道下个学期上课后我会重做PA,应该也会更新用Ubuntu22.04来进行(我目前用Ubuntu22.04来做ICS2021,我自知是不合适的),于是我想报告一下这个问题(因为讲义上这两个问题都没见到),不知道这是否是需要被更新的问题,还是只是我个人的问题。

SIGSTKSZ的问题, 我们已经在其它分支解决了, 2022的分支还没发布.

SDL的话, 一生一芯有不少同学也用ubuntu22.04, 但好像没有报告这个库不存在的问题?

你好这个问题是怎么解决,可以解答一下吗

你好这个问题是怎么解决,可以解答一下吗