C++ 找不到qsort.cpp(在Visual Studio中调试)
我在VS 2017中调试代码,并收到以下消息: 找不到qsort.cppC++ 找不到qsort.cpp(在Visual Studio中调试),c++,visual-studio,debugging,C++,Visual Studio,Debugging,我在VS 2017中调试代码,并收到以下消息: 找不到qsort.cpp You need to find qsort.cpp to view the source for the current call stack frame Original location: minkernel\crts\ucrt\src\appcrt\stdlib\qsort.cpp Locating source for 'minkernel\crts\ucrt\src\appcrt\stdlib\qsort.cp
You need to find qsort.cpp to view the source for the current call stack frame
Original location: minkernel\crts\ucrt\src\appcrt\stdlib\qsort.cpp
Locating source for 'minkernel\crts\ucrt\src\appcrt\stdlib\qsort.cpp'. Checksum: SHA256 {a4 7d 36 67 4b 4a f4 5c 68 59 42 17 a7 26 df b7 93 50 a6 d2 f5 76 aa ca cc d1 7 23 22 90 ee 76}
我应该怎么做?为什么要使用
std::sort
而不是qsort
std::sort
在C++11中是一个O(NlgN),其中未指定qsort
由于内联,排序可能会为其排序的类型生成最佳代码,qsort只能在void*上使用比较
std::sort
是类型安全的
测试表明,std::sort
比qsort
快250%到1000%
当然,在一些特殊情况下,排序算法的速度更快,例如,你知道值的范围是很少的离散值,你可以得到O(N)。我在我这边遇到与你相同的问题,如下面的屏幕截图,然后我单击浏览并找到qsort.cpp,在C:\Program Files(x86)中浏览此文件\Windows Kits\10\Source\10.0.15063.0\ucrt\stdlib,我可以正常地进入这个cpp文件
如果此文件存在,请尝试解决方法:关闭“选项->调试->常规->要求源文件与原始版本完全匹配”选项。注意:您可能没有每个C库函数的源文件(因此无法调试到其中)。如果您希望获取Visual Studio C运行时库的源代码,原因是什么?如果需要,请使用开源编译器。
C:\ProgramFiles(x86)\Windows Kits\10\source\\ucrt\stdlib
我应该怎么做?调试时,不要尝试单步执行运行时,除非您确实需要调试它的实现方式。