gpt4 book ai didi

c++ - 如何在 C++ 中查看 变量的值?

转载 作者:IT老高 更新时间:2023-10-28 12:35:52 24 4
gpt4 key购买 nike

我正在使用 gdb 调试 C++ 程序。

我有这个代码:

int x = floor(sqrt(3));

我想查看 x 的值。但是,gdb 声称 x 是“ ”。如何查看 x 的值?我应该更改我的编译器标志吗?

最佳答案

在高优化级别上,编译器可以消除中间值,正如您在此处看到的。有多种选择:

  • 您可以降低优化级别,使调试器更容易跟踪事物。 -O0 肯定可以工作(但会慢很多),-O1 也可以正常工作。
  • 您可以添加一些显式打印语句来记录输出值。
  • 您通常也可以强制编译器通过将其设置为 volatile 来保留此特定值(但请记住在完成后将其取消设置为 volatile!)。但是请注意,由于控制流在优化代码中也会发生变化,即使您可以看到变量的值,当您查看有问题的变量。

关于c++ - 如何在 C++ 中查看 <optimized out> 变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9123676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com