|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在Linux下运行某个程序,总是遇到Segmentation fault错误。同样程序在自己的PC windows下运行正常,查看Linux机器,内存足够。Intel 官网上给的解决方案是:http://software.intel.com/en-us/ ... segmentation-fault/6 f( i# M, o: j% j& A
0 l+ [- j! b; D* z. Y
On Linux*, the stack space can be increased using:* V2 Y6 \2 Y- e2 `3 s1 l. {
ulimit -s unlimited for bash shell, or
9 ]5 M( ^5 V M& o6 z) Jlimit stacksize unlimited for csh shell.6 {. |' K1 Z! X# m( z/ W
" C6 B; V' C0 W0 d% k4 z+ A& z' D/ [; H u. u# ~
原因是初始分配的stack空间不足,将其设置为 unlimited即可。
# w) `* c4 L2 ^" P
9 E8 e( w6 ~7 O' M6 R8 d
+ B* O- G2 r$ T/ y; mLinux: The size of "unlimited" varies by Linux configuration, so you may need to specify a larger, specific number to ulimit (for example, 999999999). On Linux also note that many 32bit Linux distributions ship with a pthread static library (libpthread.a) that at runtime will fix the stacksize to 2093056 bytes regardless of the ulimit setting. To avoid this problem do not link with the -static option or the -fast option. Instead of -fast, use options: -ipo -O3 -no-prec-div -xP . This only affects the 32bit Linux distributions and does not apply to the 64bit Linux distributions.: y) P; F' V4 \+ w/ J" J
0 j' s' a' ]+ h4 T5 d& l6 d |
|