10

gccリンカーからの次の警告を抑制するにはどうすればよいですか?

警告:「mktemp」の使用は危険です。「mkstemp」を使用することをお勧めします

使うほうがいいのは知っていますmkstemp()が、どういうわけかmktemp()関数を使わなければなりません。

4

5 に答える 5

10

FILEパスは、パス名のみを引数として受け入れ、ファイル記述子やポインターを受け入れないライブラリに渡すため、パスが必要だと思います。その場合、一時ディレクトリを作成してmkdtempそこにファイルを配置できますが、ディレクトリのためにパスがすでに一意であるため、実際の名前は重要ではありません。

于 2009-04-12T21:44:25.563 に答える
4

を使用する必要ある場合は、libc.so.6からmktemp使用するセクションを削除する以外に、その警告を抑制するためにできることは何もありません。mktemp

なぜあなた使わなければならないのですmktempか?

于 2009-04-12T17:48:45.477 に答える
4

2つのこと:

  • mktemp標準機能ではありません
  • .gnu.warning.mktemp警告は、セクションとしてリンカに実装された特別なものです。

本当にディスクに書き込む必要がある場合は、ネイティブOSAPIを使用してください。またはmkstemp()提案されたように。

于 2009-04-12T18:53:37.800 に答える