Подтвердить что ты не робот

Любой способ отключить "tempnam" опасен, лучше использовать предупреждение "mkstemp" gcc?

Я использую tempnam() только для получения имени каталога, поэтому это предупреждение безопасности не распространяется на мой случай. Как я могу отключить его? Я не мог найти никаких переключателей для этого.

4b9b3361

Ответ 1

Если вам действительно нужно только имя каталога, используйте строковый константный макрос P_tmpdir, определенный в <stdio.h>.

Ответ 2

"Функция tempnam() возвращает указатель на строку, которая является допустимым именем файла, и такой файл с этим именем не существует, если tempnam() отмечен."

Предупреждение возникает из-за состояния гонки между проверкой и последующим созданием файла.

Вы хотите получить только имя каталога? Для чего это должно быть полезно?

Как уже говорил незнакомец, вы можете отключить это (и аналогичные предупреждения), используя -Wno-deprecated-declarations.

Ответ 3

Вы можете использовать параметр GCC -Wno-deprecated-declarations, чтобы отключить все предупреждения, подобные этому. Я предлагаю вам правильно обработать предупреждение и принять предложение о компиляторе.