![]() |
1
31
如果有什么方法可以让你在没有太多痛苦的情况下完成这件事,那就去做吧。在等待用户按下一个按钮的情况下,cin.get()将很难被击败。在这种情况下,应用程序进程只会阻塞stdin,只设置内核可见的几个标志,最重要的是,不会分配新内存,也不会创建新的调度实体,甚至不会创建中断处理程序。
主意
在unixy系统上,大多数子进程都是在
|
![]() |
2
3
您应该避免使用此类调用,因为这会降低您的程序与其他操作系统协同工作的可移植性。我认为只有当你绝对确定你的代码是针对一个特定的操作系统时,你才应该使用这样的调用。 |
![]() |
3
3
当您无法使用自己的代码或库完成您试图完成的任务时(或者实现它的成本超过启动新流程的成本)。与cin.get()相比,system()在系统资源方面非常昂贵,因此它应该只在绝对必要时使用。请记住,system()通常会启动整个新shell和您要求它运行的任何程序,因此会启动两个新的可执行文件。 |
![]() |
4
3
顺便说一句 系统() 调用不应与具有 起诉 或 SGID 位集,从 man page
|
![]() |
5
2
为什么您的程序希望操作系统运行程序?嗯,有一些案例。有时,外部程序或操作系统命令可以执行在您自己的程序中很难执行的任务。例如,外部程序可能以提升的权限运行或访问适当的数据格式。
其他功能如
|
![]() |
6
1
|
![]() |
McGeek07 · Java实体组件系统-推理变量T具有不兼容的边界 6 年前 |
![]() |
Hazem Alabiad · 通过处理程序获取僵尸进程 7 年前 |
![]() |
Brink · Powershell循环提前退出 7 年前 |
|
user936965 · php系统(“npm安装”)不工作 7 年前 |
![]() |
bradley · 指定的填充模式对此算法-c#-系统无效。安全密码学 7 年前 |
![]() |
Luis Cano · 从Shining应用程序调用系统命令 7 年前 |
![]() |
KenProgrammer · Java十进制到十六进制的使用基础 7 年前 |
![]() |
Brady H · 防范Windows中函数调用之间的系统更改 7 年前 |