2009-02-12 1 views

답변

6

실제로 디렉터리 이름 만 필요하면 <stdio.h>에 정의 된 문자열 상수 매크로 P_tmpdir을 사용하십시오.

-3

GCC의 -Wno-deprecated-declarations 옵션을 사용하면 이와 같은 경고를 모두 사용 중지 할 수 있습니다. 그래도 경고를 올바르게 처리하고 컴파일러의 제안을받는 것이 좋습니다.

+4

저에게는이 경고 유형이 없어지지 않습니다. – Jack

+1

나를 위해 그것은 심지어 -W와 함께 침묵하지 않았다. – FabioCosta

+5

이것은 링크에서 생성 된 경고이며 단계를 컴파일하는 것이 아니므로이 경고는 아무런 효과가 없다. (링크 단계에 제공해도 작동하지 않습니다.) (g ++ 4.8.2 이상) –

0

"tempnam() 함수는 유효한 파일 이름 인 문자열에 대한 포인터를 반환하고 tempnam()을 검사 할 때이 이름을 가진 파일이 존재하지 않도록합니다."

경고는 파일을 확인하고 나중에 만드는 사이의 경쟁 조건으로 인해 발생합니다.

디렉토리 이름 만 가져 오시겠습니까? 그게 무엇에 좋은가?

낯선 사람이 이미 말했듯이, -Wno-deprecated-declarations를 사용하여이 경고 및 유사한 경고를 비활성화 할 수 있습니다.

+0

임시 디렉토리에 FIFO 파일을 만들어서 dirname (tempnam ...)을 사용해야합니다. – jackhab

관련 문제