|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在Linux下运行某个程序,总是遇到Segmentation fault错误。同样程序在自己的PC windows下运行正常,查看Linux机器,内存足够。Intel 官网上给的解决方案是:http://software.intel.com/en-us/ ... segmentation-fault/
9 v2 i4 p2 k% z: J" r: S0 H! w9 V* Y* [. b* B+ K
On Linux*, the stack space can be increased using:' o3 F: Y# R8 d* @- ?" {
ulimit -s unlimited for bash shell, or ) C2 I8 a4 O3 t! `" Y
limit stacksize unlimited for csh shell., n5 V' R8 H1 R
: T' L9 j$ t8 h- j& y( p) @
3 M# W5 k6 T8 _' Y4 M原因是初始分配的stack空间不足,将其设置为 unlimited即可。 - ~: [* p" c! c& f/ f6 U m b
" \( r: F1 z3 Y2 i" `1 s% r& C$ e# P: ~/ m
Linux: 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.
- l$ ?' }) I1 v" k+ P( E3 f) P- M5 X" Q4 r; P- w
|
|