我正在创建一个应用程序,我需要创建多个文件夹并创建文件夹。
要做最优化,然后我意识到mkdir()比系统快得多(' mkdir路径');
有谁知道原因?
答案 0 :(得分:3)
system ("mkdir path");
调用一个程序mkdir
,它会生成一个包含它所暗示的新进程。
mkdir()
只是调用系统例程。
答案 1 :(得分:2)
mkdir()
调用man 2 mkdir
记录的系统调用。该函数在同一进程中运行。
system('mkdir path')
分叉运行mkdir
命令的新进程,由man 1 mkdir
记录,尽管名称相同,但它是一个单独的命令,为{{1}提供命令行界面系统调用。
答案 2 :(得分:0)
从shell调用mkdir
有加载开销(shell本身,生成一个新进程,等),直到它最终调用相同的内核代码mkdir()
直接致电。