C_Free5 使用C++11标准小记及单步调试异常问题

      为了方便练手,安装了C_Free5和TDM-GCC-5.1.0版本的GCC编译器。挂接了对应的目录后,开始编程之旅。听过GCC从4.7开始支持C11标准,于是写了个测试代码验证一下,结果报错了,提示要加入编译参数-std=c++11 。方法如下:

在C-free的 构建->构建选项 里面,切换到 命令 选项卡,然后点击 附加动作边上的命令 选项卡,

在 C Compiler 的命令行里面改为:-std=c11 "$(FileName)" -c -o "$(Path)$(Name).o" $(CompilerOptions) -I$(IncPaths) -B$(ExePaths)

在 C++ Compiler 的命令行里面改为:-std=c++11 "$(FileName)" -c -o "$(Path)$(Name).o" $(CompilerOptions) -I$(IncPaths) -B$(ExePaths)

保存配置后,新建工程测试,std 的 vector 的列表赋值如: iVec({3,4,5,6}) ,就能编译通过了。

PS:特别注意,使用了TDM-GCC-5.1.0版本执行调试会出现找不到gdb.exe的提示,是由于GCC-5.1.0的这个文件被改名为gdb32.exe了,由于C_Free不能更改调试器程序的名称(灰色的 T_T ),那么换个思路,只要把gdb32.exe改成gdb.exe就可以了,当我把TDM-GCC-32\bin 下的gdb32.exe改为gdb.exe后,再测试代码里面下断点,发现还是有问题的,系统提示:无法成功加载调试器。好吧,看来貌似是gdb.exe的问题,于是我把刚才改的名称还原了,把TDM-GCC-32\gdb32\bin下的gdb32.exe改成gdb.exe ,然后再次测试,这下调试器工作正常了。有同样问题的小伙伴们一起试试吧!!


猜你喜欢

转载自blog.csdn.net/kingzhang2000/article/details/72877815