由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问一个C++下的Bug(Linux下)
相关主题
调试版链接时间特别长how to write C++ under Unix/Linux
弱问:搞数值模拟和计算,linux的优势到底在哪?【讨论】 你认为Linux里写C++代码用什么editor最方便:emacs (转载)
请教:Linux下gfortran一问good book on C/C++ programming under Linux/UNIX
[合集] LINUX下FORTRAN编程疑问哪位能推荐适于C/C++ 编程的linux/unix使用手册?
SAS在Linux环境下运行太难debug了Questions about C++ Linux Command Line Parsing
[转载] Is there any tools in Linux to watch mem[合集] 如果在自己的程序里调用external program (C++/Linux)
为什么大部分C or C++都在linux下做?Unix/Linux下的C++ coding 跟Windows下到底有多大不同? (转载)
怎样在LINUX下C++程序里延迟1ms不算小的一个c++项目的code可以用什么工具自动生成吗
相关话题的讨论汇总
话题: c++话题: bug话题: linux话题: 程序话题: 某些
进入Programming版参与讨论
1 (共1页)
y****e
发帖数: 23939
1
一个C++函数,是关于lapackblas的,可能是从FORTRAN code translate 到c++的。有一个奇怪的bug, 在某些
linux下程序执行毫无问题,但是在某些Linux下,程序会占用100%CPU而且永远不结束。我debug的时候发现,在某一
个程序调用之后打印一点东西,比如说printf("\n"); 只要不是打印空字符串,程序就能顺利执行。
这到底是什么问题呢?是不是memory的问题?为什么打印一点东西程序就正常了呢?为什么只在某些platform下出为题
呢?
l*****d
发帖数: 359
2
S*********g
发帖数: 5298
3
这个站是C++写得,你想揭发C++的bug
被C++和谐掉了

【在 y****e 的大作中提到】
: 一个C++函数,是关于lapackblas的,可能是从FORTRAN code translate 到c++的。有一个奇怪的bug, 在某些
: linux下程序执行毫无问题,但是在某些Linux下,程序会占用100%CPU而且永远不结束。我debug的时候发现,在某一
: 个程序调用之后打印一点东西,比如说printf("\n"); 只要不是打印空字符串,程序就能顺利执行。
: 这到底是什么问题呢?是不是memory的问题?为什么打印一点东西程序就正常了呢?为什么只在某些platform下出为题
: 呢?

t****t
发帖数: 6806
4
99.999% your problem. definitely NOT C++'s bug.
use valgrind to debug.

有一个奇怪的bug, 在某些
束。我debug的时候发现,在某一
就能顺利执行。
为什么只在某些platform下出为题

【在 y****e 的大作中提到】
: 一个C++函数,是关于lapackblas的,可能是从FORTRAN code translate 到c++的。有一个奇怪的bug, 在某些
: linux下程序执行毫无问题,但是在某些Linux下,程序会占用100%CPU而且永远不结束。我debug的时候发现,在某一
: 个程序调用之后打印一点东西,比如说printf("\n"); 只要不是打印空字符串,程序就能顺利执行。
: 这到底是什么问题呢?是不是memory的问题?为什么打印一点东西程序就正常了呢?为什么只在某些platform下出为题
: 呢?

f*****Q
发帖数: 1912
5
我估计lz原意是说C++编的程序里面出了bug,说话快了点。

【在 t****t 的大作中提到】
: 99.999% your problem. definitely NOT C++'s bug.
: use valgrind to debug.
:
: 有一个奇怪的bug, 在某些
: 束。我debug的时候发现,在某一
: 就能顺利执行。
: 为什么只在某些platform下出为题

y****e
发帖数: 23939
6
写错了,写错了,不是C++的bug,是C++程序的问题,想寻求各位有经验的大侠的建议
l**t
发帖数: 64
7
既然你都调试了,为什么不跟进去看看cpu100%时执行的是什么代码,一般跟进去基本
就能知道问题原因
某些linux下能正常运行并不表示程序没问题,因此,这个程序肯定是有问题的
printf的测试不容易看出问题,可能是程序多线程运行共享数据未作保护导致的,也可
能是程序本身内存越界问题,不同的操作系统、编译器对堆栈的设置的大小都是不同的
,使得越界访问造成的后果也不同,当然还有更多的可能性
但是归根结底一句话,你的程序有问题
LAPACK直接用fortran版的不是很好么,C++里也能调用啊,在矩阵传进去前转置一下,
算完后再转置回来就能避免矩阵按行存储和按列存储的差异,而且你在linux下用GCC的
编译器,不同语言交叉编译非常方便啊
我在windows下就用的C++调用fortran版的lapack,用了boost.ublas boost.bindings
lapack atlas,很方便。

有一个奇怪的bug, 在某些
束。我debug的时候发现,在某一
就能顺利执行。
为什么只在某些platform下出为题

【在 y****e 的大作中提到】
: 一个C++函数,是关于lapackblas的,可能是从FORTRAN code translate 到c++的。有一个奇怪的bug, 在某些
: linux下程序执行毫无问题,但是在某些Linux下,程序会占用100%CPU而且永远不结束。我debug的时候发现,在某一
: 个程序调用之后打印一点东西,比如说printf("\n"); 只要不是打印空字符串,程序就能顺利执行。
: 这到底是什么问题呢?是不是memory的问题?为什么打印一点东西程序就正常了呢?为什么只在某些platform下出为题
: 呢?

1 (共1页)
进入Programming版参与讨论
相关主题
不算小的一个c++项目的code可以用什么工具自动生成吗SAS在Linux环境下运行太难debug了
有没有软件可以分析code结构的。(code dependency)[转载] Is there any tools in Linux to watch mem
develop linux apps on Windows为什么大部分C or C++都在linux下做?
同样的C++程序,Linux下比Windows下慢很多怎样在LINUX下C++程序里延迟1ms
调试版链接时间特别长how to write C++ under Unix/Linux
弱问:搞数值模拟和计算,linux的优势到底在哪?【讨论】 你认为Linux里写C++代码用什么editor最方便:emacs (转载)
请教:Linux下gfortran一问good book on C/C++ programming under Linux/UNIX
[合集] LINUX下FORTRAN编程疑问哪位能推荐适于C/C++ 编程的linux/unix使用手册?
相关话题的讨论汇总
话题: c++话题: bug话题: linux话题: 程序话题: 某些