在调试和发布配置中Windows API输出的差异

Difference in Windows API output across debug and release configurations

本文关键字:API Windows 输出 配置 调试 布配置      更新时间:2023-10-16

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

PathFindFileName(__FILE__);

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

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

对不起,如果这是一个不合适的问题

返回值

类型:PTSTR

如果成功,返回一个指向字符串地址的指针指针指向路径的开头,否则

FindPathFileName返回指向其参数的文件部分子字符串的指针。它不分配任何内存来复制结果字符串,其相同的缓冲区与相同的数据。如果你的调试代码得到的结果都是小写的,那就意味着,那个小写的字符串被传递给了函数。

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

PS: https://social.msdn.microsoft.com/forums/vstudio/en - us/17a395c7 b7dc - 41 - a4 - a19c dda7afa3e063/why -文件-返回不同的结果——-调试-和-释放- vs - 2012 ?forum=vcgeneral