Closed UserZhitao closed 4 years ago
是warning还是error?
如果是warning的话没有任何影响
这个警告我已经忽略了,但是现在我运行代码的话,不能通过-O3优化,只有在-O0情况下才会在epoch给定的范围下停止,如果使用优化,那么程序就会进入死循环
因为我用了 thread.h c的多线程库和操作系统有关,我是ubuntu上测试的,感觉我已经碰到几个非ubuntu的liunx系统上出现这个问题了,所以我也不知道是不是多线程开了优化开关之后出现了偏差
大家好像都是无优化没问题,有优化就不能停下来了,实在不行你可以在程序里加epoch大于某个数强行halt试试。ubuntu上坑定是没问题的。我感觉有一种可能就是优化之后,程序代码顺序就打乱了,然后主程序想结束的时候还有线程在跑,然后就结束不了。
我使用 g++ transE.cpp -o transE -pthread -O3 -march=native 进行编译,然后系统报错
transE.cpp: 在函数‘void train(void)’中: transE.cpp:407:1: 警告:在有返回值的函数中未发现 return 语句 [-Wreturn-type] 407 | } | ^
我看了一下,void* 这里确实没有返回值,应该怎么解决?