gpt4 book ai didi

c++ - 跨调试和发布配置的 Windows API 输出差异

转载 作者:行者123 更新时间:2023-11-30 03:51:20 24 4
gpt4 key购买 nike

我在我的代码中使用以下代码记录错误。

PathFindFileName(__FILE__);

但是这个调用返回不同的输出(就字母大小写而言)。即,在发布中它给出了确切的名称,而在调试中它返回所有小写。

这并没有什么害处,但我只是想知道为什么相同 API 的输出会有所不同。

如果这是一个不恰当的问题,请原谅

最佳答案

Return value

Type: PTSTR

Returns a pointer to the address of the string if successful, or a pointer to the beginning of the path otherwise.

FindPathFileName 返回指向其参数的文件部分子字符串的指针。它不分配任何内存来复制结果字符串,它是具有相同数据的相同缓冲区。因此,如果您的调试代码得到所有小写结果,则意味着该小写字符串已传递给函数。

调试版和发行版之间的 Win32 API 方法可能没有区别,因为您从相同的动态链接库调用相同的方法。如果您得到不同的结果,这仅意味着函数参数不相同。

附言:https://social.msdn.microsoft.com/Forums/vstudio/en-US/17a395c7-b7dc-41a4-a19c-dda7afa3e063/why-file-returns-different-results-for-debug-and-release-vs-2012?forum=vcgeneral

关于c++ - 跨调试和发布配置的 Windows API 输出差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31313279/

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