gpt4 book ai didi

c - 从用户到硬件的跟踪代码

转载 作者:太空狗 更新时间:2023-10-29 16:02:41 26 4
gpt4 key购买 nike

我很好奇是否有人可以在这里为我指明正确的方向。我正在学习计算机系统编程(基础知识),我正在尝试通过不同级别跟踪代码以查看每个级别如何交互。一个例子是在 C 中调用 fgets() 函数或在 C++ 或类似语言中调用 getline()。这两个都会调用系统吗?有没有一种简单的方法可以查看调用的代码?

我在 Unix (Ubuntu) 上工作。这是 Windows 和 Apple 专有的东西吗?这种东西有什么好的资源吗?一如既往,谢谢大家!

最佳答案

至少在 UNIX 世界中,答案相当简单:“使用源代码,Luke”。

在您的示例中,您将查看例如 fgetc() 的源代码。它在 C 标准库中,找到源代码的最简单方法是在谷歌上搜索“C 库 fgets() 源代码”之类的东西。

当您获得该源代码时,您会看到一堆代码处理缓冲区等,以及一个系统调用,可能是read(2)。那里的“2”告诉您它已记录在手册的第 2 章中(例如,您可以使用 man 2 read 找到它)。

系统调用是在内核中实现的,所以需要阅读内核源码。从那里开始。

现在,你需要找到这一切而不必在源代码中随机阅读(虽然这是很多人学习它的方式,但效率不高)是找到一本关于 Linux 的书,比如 Kerrisk 的 The Linux Programming Interface ,它在比源代码更高的层次上解释了其中的一些事情。

关于c - 从用户到硬件的跟踪代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11024004/

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