我一直很难处理那些没有任何意义的错误,还有一个更大的错误,试图弄清楚Code :: Blocks的调试器是如何工作的。如果有任何方法可以让它显示指针的内容,或者能够在范围变量之间切换,那么我的问题就会得到解决,但总是欢迎替代方案。
帮助我的人,在整个代码中散布couts是最反直觉和疯狂诱导的负担。 d |
编辑:操作系统是Windows
答案 0 :(得分:4)
VS2012 express是免费的啤酒。
答案 1 :(得分:1)
克++ http://gcc.gnu.org/ “GNU编译器集合包括C,C ++,Objective-C,Fortran,Java,Ada和Go的前端,以及这些语言的库(libstdc ++,libgcj,...)。GCC最初编写为编译器对于GNU操作系统.GNU系统被开发为100%免费软件,在尊重用户自由的意义上是免费的。“
答案 2 :(得分:0)
如果有办法让它显示指针的内容
是。在Code :: Blocks中,您应该能够在Watches列表中右键单击并指向并选择“Dereference pointer”。如果指针是对象的成员,则可能必须通过右键单击Watches列表并键入对成员的完整引用来手动添加它。
// Type 'pA->int1' in the 'Add watch' and code::blocks should add it.
class A {
public:
int int1;
};
int main()
{
A * pA = new A;
}
答案 3 :(得分:0)
要添加到其他答案(显然是GDB ......),LLDB是BSD风格的许可,这是更宽松的。它是LLVM Compiler Infrastructure的一部分。与GDB非常相似(参见comparison)。
在您的编辑之后:它还没有为Windows做好准备,但正在努力,所以应该很快。