我正在学习Promela / Spin。我遇到的问题是我无法验证我的程序。
我使用以下命令创建我的pan文件:spin_64bits.exe -a x.pr ---一切都很好,直到这里。
现在,当我尝试通过 gcc pan.c (gcc -o pan pan.c,无论如何)编译pan.c时,我得到一个错误,即存在对srandom和random的未定义引用。 / p>
注意:当我分别用srand()和rand()交换它时它确实有效,但说实话,我不想打开pan.c并在每次想要运行验证时编辑它。
我是否必须使用其他编译器?我正在使用MinGW。
答案 0 :(得分:4)
修改:请参阅MaxGhost
的评论以获得更好的做法(“将这些编译标记添加到您的项目中:-Dsrandom=srand
-Drandom=rand
”)
好像一个人或另一个人偶然发现这篇文章,所以我不妨让那些对我有用的答案更加明显。
转到 MinGW 文件夹,搜索stdlib.h
(C:\ MinGW \ include)并输入(沿着其他#defines的某处,例如:#include< _mingw下方) .h>):
#define random rand
#define srandom srand