1

我需要做的是使用系统调用模仿 std::cout 。

我已经看到使用数字进行系统调用的 syscall() 函数,使用带有命令的字符串的 system() 函数和 system_call() 在stackoverflow中为某人工作但她没有列出头文件或任何东西所以它对我不起作用。

我不希望你为我编写代码,因为这是一个家庭作业,但我想知道哪些是最好的解决方法,使用哪些头文件以及使用哪些函数,并研究更多深度。我不知道这些函数之间的区别,但理想情况下我想找到 c++11 函数。

我只找到了关于这些函数的模糊信息,所以我无法将任何代码放在一起。

4

2 回答 2

3

系统调用(如 API)是特定于操作系统 (OS) 的。

要使用 API,您需要包含适当的头文件并链接到系统的适当库。

同样,C++ 语言不涵盖特定于平台的功能,您需要在网络上搜索以找到适用于您平台的 API。

于 2013-09-29T19:16:28.883 回答
3

我需要做的是使用系统调用模仿 std::cout 。

您想write(2)在标准输出文件描述符(即文件描述符 1)上调用系统调用编号为 4 的系统调用。

读:

$ man 2 syscall
$ man 2 syscalls
$ man 2 write
于 2013-09-30T14:05:00.400 回答