gpt4 book ai didi

c++ - 将(手动)从 uint32_t 转换为 4 个字符

转载 作者:行者123 更新时间:2023-11-30 01:13:43 28 4
gpt4 key购买 nike

我有一个带有特殊 typedef 的程序,在许多地方用于为软件中的组件分配唯一代码。

typedef uint32_t FourCharCode;

在某个时候,我有一个函数使用这样的代码来完成它的工作。我需要在这个函数中调试

extern "C" ___DllExport void A_function(FourCharCode in_type)
{
FourCharCode x = 'KjfG';
FourCharCode y = 'tdkf';
FourCharCode z = '5vpO';

switch (in_type) {
case x:
// Do something
break;
case y:
// Do something
break;
case z:
// Do something
break;
default: break;
}
return XX::NoError;
}

显然,当我设置断点以查看 in_type 的值是什么时,我获得了一个无符号整数 ('1918980169')。

我的问题:

有没有办法在 MSVC 2013 调试器中将 uint32_t 值显示为可读的值?

或者

我可以手动做什么(使用计算器、python 脚本或任何其他有用的东西)来检索隐藏在这个 uint 后面的 4 个字符(我不反对使用纸和笔,但我不知道我是怎么做的可以计算)?

最佳答案

您可以创建一个 .natvis文件,它指定 VS 调试器(例如监 window 口)中 native C/C++ 类型的显示格式,如果您想将其显示为默认查看器以外的其他内容。 natvis 位于您的 %USERPROFILE%\Documents\Visual Studio 2013\Visualizers 目录中,并将在下次调用调试器时自动加载(无需重新启动 VS)。

您可以详细说明您的 natvis 文件,包括使用安装程序将它们变成一个完整的插件(又名。VSIX),但是,如果您不打算广泛分发,则只需手动将其放在该目录中是最简单的.

关于c++ - 将(手动)从 uint32_t 转换为 4 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31564182/

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