gpt4 book ai didi

c - Matlab 的单步 VC++ 2010 调试器

转载 作者:行者123 更新时间:2023-11-30 17:57:55 25 4
gpt4 key购买 nike

我有一个 C 函数,已移植到 Matlab

但是 C 版本产生的输出比我的 Matlab 版本好得多所以我希望Matlab版本生成所需的数据代码,然后加载到C中的变量中,并让C对数据点进行处理,反之亦然,这样我就可以比较两个程序在何处以及如何不同地工作同一组数据问题是一个数据集至少有 256 个浮点长,而且这样的数据集有数百个

如果我可以在Matlab中计算数据集,将它们存储在一个文件中并向C调试器发送一个确认信号,这样当它从Matlab获得信号时,它会继续单步执行它的代码,这会更方便,从磁盘上的文件加载我的 matlab 提供的数据

有可能做到这一点吗?如果可能的话,我也希望能够反向执行此操作,即 C 程序生成数据点并将其存储在文件中,然后指示 Matlab 继续单步执行其代码

编辑:

我觉得虽然VC++ 2010调试器非常容易使用,但它们使得与任何其他程序结合使用变得非常困难。因此,如果可以在 gcc 的调试器(使用 Codeblocks 或其他任何东西)中执行此操作,我想要一些关于如何执行此操作的建议(即不一定是 VC++ 的调试器)

最佳答案

如果您将 C 代码包装为 MEX文件中,您可以将数据直接从 MATLAB 发送到 C 代码中。然后,您可以将 VS 调试器附加到 MATLAB 进程,并像往常一样在 MEX 文件中设置断点。这将允许您单步执行 MATLAB 代码,然后单步执行 C 代码。 (请注意,当您单步执行 C 代码时,MATLAB 将无响应)。

实际上,我总是忘记但可能也有帮助的一件事是 MATLAB 的 LOADLIBRARY界面。这样就无需将 C 代码包装在 MEX 胶合板中。我从未尝试过,但我假设您可以在这里执行相同的技巧 - 将 VS 调试器附加到正在运行的 MATLAB 进程并设置断点等。

关于c - Matlab 的单步 VC++ 2010 调试器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12596237/

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