Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么使用mkdir()函数比使用system(';mkdir path';)快得多?_C++_Linux - Fatal编程技术网

C++ 为什么使用mkdir()函数比使用system(';mkdir path';)快得多?

C++ 为什么使用mkdir()函数比使用system(';mkdir path';)快得多?,c++,linux,C++,Linux,我正在创建一个应用程序,我需要创建多个文件夹,并且创建文件夹是在一个go内 必须进行最优化,然后我意识到mkdir()比系统('mkdir path')快得多 有人知道原因吗?系统(“mkdir路径”)调用一个程序mkdir,该程序将生成一个包含所有含义的新进程 mkdir()只调用一个系统例程。系统(“mkdir路径”)调用一个程序mkdir,该程序将生成一个包含所有含义的新进程 mkdir()。该函数在同一进程中运行 system('mkdir path')派生了一个新进程,该进程运行mkd

我正在创建一个应用程序,我需要创建多个文件夹,并且创建文件夹是在一个go内

必须进行最优化,然后我意识到mkdir()比系统('mkdir path')快得多

有人知道原因吗?

系统(“mkdir路径”)
调用一个程序
mkdir
,该程序将生成一个包含所有含义的新进程

mkdir()
只调用一个系统例程。

系统(“mkdir路径”)
调用一个程序
mkdir
,该程序将生成一个包含所有含义的新进程

mkdir()。该函数在同一进程中运行

system('mkdir path')
派生了一个新进程,该进程运行
mkdir
命令,该命令由
man 1 mkdir
记录,尽管名称相同,但它是一个单独的命令,为
mkdir
系统调用提供命令行界面。

mkdir()
调用由
man 2 mkdir
记录的系统调用。该函数在同一进程中运行


system('mkdir path')
派生了一个新的进程,该进程运行
mkdir
命令,该命令由
man 1 mkdir
记录,尽管名称相同,但它是一个单独的命令,为
mkdir
系统调用提供命令行接口。

从shell调用
mkdir
有大量开销(shell本身,生成一个新进程,等等),直到它最终调用相同的内核代码
mkdir()
直接调用。

从shell调用
mkdir
有大量开销(shell本身,生成一个新进程,等等),直到它最终调用相同的内核代码
mkdir()
直接调用。

Linux
是运行mkdir命令
还是运行sh-c mkdir
?运行什么并不取决于“Linux”。Perl的system()调用完全控制执行什么以及如何执行。您的问题的答案可以在perlfunc手册页的系统描述()中找到函数。
system
函数将其参数传递给系统shell以执行。Linux
是运行mkdir命令
还是运行
sh-c mkdir
?运行什么不是由“Linux”决定的。Perl的system()调用完全控制执行什么以及如何执行。您的问题的答案可以在perlfunc手册页的system()函数说明中找到。
system
函数将其参数传递给系统shell以执行。