问题标签 [system-calls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
10437 浏览

c++ - 在 C++ 中调用“系统”时禁止控制台

system在 C++ 中使用命令来调用一些外部程序,每当我使用它时,控制台窗口都会在命令完成后打开和关闭。

如何避免打开控制台窗口?如果解决方案可以独立于平台,我会很高兴。我还想让我的程序等到命令完成。

0 投票
4 回答
132 浏览

c - 为什么以下(完全有效的)C 代码没有在 Objective-C 中显示文件的内容?

这是一个非常基本的 C 代码片段,用于打开和读取文件:

我还包括这些标准标题:

此代码在 C 中可以正常工作,并且由于 Objective-C 是 CI 的超集,因此希望它在 Obj-C 中也可以正常工作。但相反,我得到了所有垃圾数据,例如:

为什么?

0 投票
2 回答
534 浏览

unix - 写入套接字是 sendfile() 系统调用的任意限制吗?

序幕

sendfile()是一个非常有用的系统调用,原因有两个:

首先,它比/ (或者/如果你更喜欢那个 jive)循环的代码更少。 其次,它比上述方法更快(更少的系统调用,实现可以在没有缓冲区的设备之间复制等......)。read()write()recv()send()

更少的代码。更高效。惊人的。

在 UNIX 中,一切(大部分)都是一个文件。这是柏拉图理论与现实世界实践碰撞的丑陋领域。我知道套接字与驻留在某些设备上的文件根本不同。我还没有深入研究 Linux/*BSD/Darwin/任何操作系统实现的源代码,sendfile()以了解为什么这个特定的系统调用仅限于写入套接字(特别是流式套接字)。

我只是想知道...

问题

sendfile()允许目标文件描述符成为套接字以外的东西(如磁盘文件或管道)有什么限制?

0 投票
3 回答
1861 浏览

c - unix中的系统调用:目录和文件

嗨,我正在尝试理解系统调用:unix 上的目录和文件,.. 我发现这个网站他们用自己的例子解释了一些调用,但不理解这些代码片段..

我不明白比较以找出缺少哪个设备文件..有人可以帮助我理解吗?特别在这里..

欢迎对双方进行的比较提供任何帮助或解释 PD:对不起我的英语=P

链接显示整个代码示例 1,名为 estado.c

http://translate.googleusercontent.com/translate_c?hl=es&ie=UTF-8&sl=es&tl=en&u=http://malicia.super.unam.mx/wiki/index.php/Llamadas_al_Sistema:_Directorios_y_Archivos&prev=_t&rurl=translate。 google.co.ve&twu=1&usg=ALkJrhhwwFSx-UiPs4rtgSJADbrZy13v7A

0 投票
4 回答
3391 浏览

objective-c - Objective-C 中的 Unix 系统调用

是否可以在 Objective-C 中进行系统调用?

我有以下代码:

如何获得输出?

谢谢

0 投票
3 回答
745 浏览

linux - 在 Linux 中以编程方式限制文件系统的使用

我被分配为 Linux 内核编写一个系统调用,它奇怪地确定(并减少)用户每分钟的最大传输量(用于文件操作)。这个系统调用将被调用lim_fs_usage,并将获取所有用户在一分钟内可以访问的最大字节数的参数。简而言之,我将确定 Linux 中所有文件系统操作的带宽。该项目还要求选择适当的方法在用户之间分配此受限资源(文件访问),但我认为这不会是一个大问题。

我进行了长时间的搜索和扫描,但找不到以编程方式管理文件系统访问的方法。我想过将(mmap())硬盘驱动器映射到内存并管理内存操作,但这变得毫无用处。我还试图找到一个用于虚拟文件系统的 API 来监控和限制它,但我找不到。任何想法,请...非常感谢任何帮助。先感谢您...

0 投票
1 回答
976 浏览

windows - NtAllocateVirtualMemory 系统调用参数

我检查了 AllocateVirtualMemory 系统调用上 AllocationType 参数的所有可能值,发现它接受像 0x202000 和 0x203000 这样的值,因此应该有另一个未记录的可能标志,其值为 0x200000。在 WinNt.h 中,它被定义为 MEM_WRITE_WATCH。

我想知道它有什么作用?

谢谢你。

0 投票
6 回答
4551 浏览

c - 从文件系统“短读”,什么时候会发生?

很明显,通常 read(2) 系统调用可以返回比请求读取的字节少的字节。然而,相当多的程序假设在处理本地文件时,read(2) 永远不会返回少于所要求的内容(当然,除非文件更短)。

所以,我的问题是:在 Linux 上,如果从打开的文件中读取并且没有遇到 EOF 并且正在读取的数量最多为几千字节,那么在哪些情况下 read(2) 返回的值可能少于请求的值?

一些猜测:

  • 接收到的信号可以中断这样的读取,但不会使其失败吗?
  • 不同的文件系统会影响这种行为吗?jffs2有什么特别之处吗?
0 投票
6 回答
5985 浏览

c - 调用 fopen 或 open 时使用什么编码?

当我们在 linux 中调用像 ' ' 这样的系统调用open或像 ' ' 这样的 stdio 函数时fopen,我们必须提供一个 ' const char * filename'。我的问题是这里使用的编码是什么?它是 utf-8 还是 ascii 或 iso8859-x?它取决于系统或环境设置吗?

我知道在 MS Windows 中有一个_wopen接受 utf-16。

0 投票
1 回答
3531 浏览

linux-kernel - 如何从内核空间调用 Linux 系统调用?

我正在移植为 Linux 2.4 编写的 linux 内核模块以与 Linux 2.6 一起使用。代码中使用了一些通过syscallN()宏声明并包含在set_fs()调用中的系统调用。在没有这些宏的 Linux 2.6 中,我如何仍然使用 sycall?

我知道从内核空间使用系统调用是一种不好的品味,并且syscallN()宏在大多数平台上都被破坏了。任何在内核空间中替换getuid, geteuid, mknod, chown, unlink,系统调用的合理方法都值得赞赏。sched_yield