我知道linux内核源代码是纯粹的c。所以我想知道如何在不使用printf api的情况下在纯C中编写简单的Hello,World程序?
答案 0 :(得分:5)
我知道linux内核源代码是纯粹的。
肯定不是。 Linux内核因频繁使用GCC编译器的非标准扩展而臭名昭着。
所以我想知道如何在不使用printf api的情况下在纯C中编写简单的Hello,World程序?
printf
只是OS API函数的包装器。您是否想要询问如何仅使用Linux API函数编写printf?在C标准ISO 9899中定义了“纯C”,它与Linux OS无关。
答案 1 :(得分:3)
在任何操作系统的进程中运行时,您无法直接访问硬件资源。因此,如果没有要求操作系统为您完成任务,就无法打印任何内容。
您可以使用较低级别的API,而不是printf
,而不是write
。
您可以使用正确的机器指令(依赖于操作系统和体系结构)自行发出系统调用。这样您就不会使用任何库,但仍会依赖操作系统。