您的位置:首页 > 编程语言 > C语言/C++

strcmp段错误引发的思考

2017-01-21 23:15 260 查看
        最近在解bug的时候,涉及到strcmp导致的偶现段错误问题。对于strcmp,自己在linux环境下进行了个简单的测试,

测试代码如下:

                      


代码很简单,但我代码中只写strcmp(),这一行时然后分别在linux环境和windows环境中的vs编译时,vs编译运行立马段错误,但是在linux环境下却没段错误。如果开启上图中,屏蔽的代码,在编译运行时,linux和windows环境都

段错误,对于此现象有点疑惑,后面就想到了gdb工具,于是在linux下就用gdb查看了下测试代码的汇编代码,对于

具体怎么使用gdb查看汇编代码,大家可以自己百度,通过查看汇编代码如下所示:



我们可以看到单独的未做任何操作的一句strcmp代码,是没有任何汇编代码对应的,所以对于我刚刚在linux环境下

单独测试strcmp一条简单语句未出现断错误就找到原因了,对于这未做任何事情的语句,编译器在编译时进行了优化。

问题很简单,这里记录下主要是记录解决问题的一种思路。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  strcmp 段错误 c c++