【问题标题】:How to see the implement of standard library of C/C++ by VisualStudio?如何通过VisualStudio查看C/C++标准库的实现?
【发布时间】:2015-02-16 06:03:51
【问题描述】:

我想看看VisualStudio的“strcmp strcpy atoi”等一些函数的实现细节

我按 F12 或跳转到定义 但是我只能看到下面的代码看不到实现细节

_Check_return_ int     __cdecl strcmp(_In_z_ const char * _Str1, _In_z_ const char * _Str2);

如何通过VisualStudio查看C/C++标准库的实现?

【问题讨论】:

  • 你可能做不到。你想要一个免费软件libc 来查看这样的实现细节。你可能对 Linux 感兴趣。
  • 用调用编写一个程序。在通话前休息一下。选择查看拆解。按 F11 直到代码进入 strcmp。对于 C 库中的所有其他例程也是如此。其中许多已在汇编程序中实现以提高效率。
  • 如何通过linux查看实现细节?我只知道“man strcmp”来查看 api 文档@BasileStarynkevitch
  • 在 Linux 上,您始终可以获取 glibcmusl-libc 的源代码并查看它们!
  • 这个链接可能有用 - lxr.free-electrons.com/source/lib/string.c

标签: c++ c visual-studio-2010 visual-studio c++-standard-library


【解决方案1】:

Express 版用户无权访问源代码。但如果您不想花钱,社区版会包含它。

安装后可以在:%VCINSTALLDIR%\crt\src找到。如果您不想手动导航到该文件夹​​,请打开Developer Command Prompt,然后执行explorer %VCINSTALLDIR%\crt\src

调试您的程序并单步执行此类函数也应该可以工作,因为 Visual Studio 然后会打开包含实现的源文件。这就是 VS 附带它的主要原因。

但这并不是所有的源代码。不包括数学函数(在 *nix 世界中称为 libm)。你也不能只是构建它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-17
    • 2012-02-28
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 2011-03-13
    相关资源
    最近更新 更多