Mat*_*cus 6 c stdio standard-library osdev bootloader
我一直对编程操作系统感兴趣.通过一些不同的网站进行研究,我遇到了一个有趣的概念(换句话说):如果你开始用#include编写你的引导加载程序,你已经犯了一个致命的错误.
我已经通过了K&R,整本书都包含在每节课中.在整个学习C中使用它,我不知道我学到了什么,使用stdio,什么没有.在没有stdio的情况下,你可以用C做什么?
C 标准 (ISO/IEC 9899:1999) 识别两种类型的实现(\xc2\xa74 一致性、\xc2\xb66):
\n\n独立式 - 实现(编译器加库)仅提供七个标头:
\n\n<float.h>\n<iso646.h>\n<limits.h>\n<stdarg.h>\n<stdbool.h>\n<stddef.h>\n<stdint.h>\nRun Code Online (Sandbox Code Playgroud)\n\n它们为语言提供了基本的功能,并且不声明任何函数(中的功能<stdarg.h>在标准中被明确定义为宏)。请注意,它不包括复数。
托管 - 实现提供标准定义的完整库。
独立实现的重点是允许您编写所需的任何代码,而不受一般标准库(特别是标准 I/O 函数)的阻碍。缺点是您不仅可以而且必须提供这些功能 - 或者使用实现提供的替代方案。请注意,在独立实现中,不需要调用程序的入口点main。
您正在寻求的是独立的实施 - 或者使用托管实施的独立部分。您将使用标头(除非您疯了),但除了列出的用于独立实现的标头之外,它们可能不是标准 C 库标头。
\n