gpt4 book ai didi

c++ - 如何查看从 Matlab 中的 Mex 函数使用的 DLL 调用的 printf 的输出?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:17:29 26 4
gpt4 key购买 nike

我有一些从 DLL 调用函数的 MEX 代码。 DLL 有一堆散布在周围的 printf 语句,对调试很有用。但是,我无法在 MATLAB 命令窗口中看到它们的输出。我读过一些书,显然这是因为命令窗口未被视为可以发送 printf 输出的控制台应用程序。我试过使用这个 link's解决方案无济于事。我可以访问 DLL 的源代码。我正在 Visual Studio 2010 中针对 Windows 7 进行编译。我尝试使用 cout 并且有效;但是,我不想重写所有函数来使用 cout。我可以做些什么来将 printf 的输出重定向到 MATLAB 的命令窗口吗?

最佳答案

您需要调用 SetStdHandle DLL 加载和初始化其运行时库之前。您可以附加管道的写入端,并从另一端读取。

运行时库初始化后,它会将全局数据绑定(bind)到原始 stdout 句柄,并且可能不受将来调用 SetStdHandle 的影响。

关于c++ - 如何查看从 Matlab 中的 Mex 函数使用的 DLL 调用的 printf 的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31409661/

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