【问题标题】:how to save variables in visual studio如何在Visual Studio中保存变量
【发布时间】:2021-12-21 03:39:32
【问题描述】:

我在调试一个C++程序,有一个名为image的变量,它是一个二维数组,里面的每个元素对应一个像素。如何保存此变量以便在 Matlab 中对其进行分析?

我能想到的唯一方法是,在源代码中插入一个 sn-p,它使用 fopen() 打开一个文件并将数据写入其中。但这可能很乏味,因为我有很多图像变量需要导出,而且我到处都插入了 sn-p。

=================编辑============
在自动窗口中复制然后粘贴将不起作用。它给了我这样的东西

-       m_alMask    0x14da1389  char [512][1024]
+       [0] 0x14da1389 ""   char [1024]
+       [1] 0x14da1789 ""   char [1024]
+       [2] 0x14da1b89 ""   char [1024]
+       [3] 0x14da1f89 ""   char [1024]

我使用的是 Visual Studio 2008。这个版本是否太旧导致无法展开数组?还是数组太大无法展开?

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: visual-studio visual-c++


【解决方案1】:

我不知道Matlab的解析能力,但是在Visual Studio这边,有这样的代码,例如:

int a[3][3] = {0, 1, 2, 3, 4, 5, 6, 7, 8};

您可以在AutosLocalsWatch 窗口中右键单击该变量并选择Copy Value。这将复制这样的文本:

0x0090fc94 {0x0090fc94 {0, 1, 2}, 0x0090fca0 {3, 4, 5}, 0x0090fcac {6, 7, 8}}

你可以粘贴到任何东西。

如果 Matlab 可以读取此内容并忽略地址 - 你就完成了。

【讨论】:

  • 我以前试过这个。它不起作用。我在原始帖子中添加了该内容。如果我可以粘贴这样的东西,matlab 可以解析它。
  • @YannLegrands 我不再拥有 2008 年;它有Copy Value(不是Copy)选项吗?
  • 在自动窗口中,只有复制。上述结果由“自动”窗口中的“复制”给出。在编辑器中,当我将鼠标悬停在然后右键单击时,它确实有一个选项复制值,但它只会复制数组的地址。如果我手动展开二维数组(通过单击 + 图标),我可以复制单个元素两次。在VS2008中似乎没有办法复制整个数组。
猜你喜欢
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-03
  • 2021-10-27
  • 2014-03-22
  • 2011-03-04
相关资源
最近更新 更多