クロスプラットフォームで利用できるにもかかわらず、system() 関数には注意が必要ないくつかの懸念事項があります。
system() 自体は複数のプラットフォームでアクセスできますが、呼び出されるプログラムはさまざまです。たとえば、ディレクトリの作成に使用される「md」コマンドはプラットフォーム固有です (Windows のみ)。 Linux の場合は、代わりに「mkdir」が必要です。この依存関係により、プラットフォームに潜在的な問題が発生します。
System() 呼び出しは、指定されたコマンドまたはプログラムを実行するための別の子プロセスを生成します。このプロセスは、インライン コードの実行に比べて時間がかかります。子プロセスを作成し、依存関係を読み込み、実行する必要がありますが、多くの場合、ネイティブ コードの実装よりも時間がかかります。
system() を使用せずに C で画面をクリアするには、代替の 1 つは、Visual Studio でサポートされている「clrscr()」関数です。ただし、CodeBlocks などの別のコンパイラを使用する場合は、次のオプションを検討できます:
以上がC および C で `system()` 関数の使用を避けるべき理由は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。