0
私のコードでシステムコールread()とwrite()を最小限に抑えるには?システムコールの回数を最小限に抑える方法は? Cコード
int copy(char* entry, char* exit){
char buf;
int in;
int out;
in = open(entry,O_RDONLY);
out = open(exit ,O_APPEND|O_WRONLY);
while(read(in, &buf, 1) != 0){
write(out, &buf, 1); }
close(in);
close(out);
return 0;
}
より大きなバッファを使用してください。 – tkausl
しかし、ファイルのサイズは50でも350でもかまいません。したがって、呼び出しの回数を最小限に抑えるバッファセットの大きさはわかりません。 – Henrix
バッファは任意の長さにすることができます。 1Kバイトの場合、システムコールの数を1000で割る。 'read()'の他に、読み込む残りのバイトがバッファ幅よりも小さい場合に読み込まれるバイト数が与えられます。 –