dprintf()을 사용할 때 경고 메시지 "dprintf의 암시 적 선언"이 표시됩니다. 그것은 필요한 파일이 포함되지 않았 음을 의미하는 경향이 있지만, 필요한 모든 것으로되어있는 stdio.h가 이미 포함되어 있습니다. dprintf에 필요한 다른 것이 있습니까?dprintf 암시 적 선언 경고
1
A
답변
3
의은 "feature_test_macros"절을 man 페이지는 stdio.h가 dprintf()를 선언하도록하기 위해 #include <stdio.h>
전에 먼저 #define _POSIX_C_SOURCE 200809L
(이상)을 사용해야 함을 설명합니다. 그 이유는 POSIX.1-2008까지는 dprintf()가 표준화되지 않았지만 <stdio.h>
은 그 코드가 "dprintf"라는 자체 식별자를 사용 했더라도 그 전에 작성된 코드로 작업해야합니다. (_GNU_SOURCE를 정의 또는 _XOPEN_SOURCE 또한 리눅스에서 작동,하지만 _POSIX_C_SOURCE 일반 휴대 성을위한 최고의 선택입니다.)
2
일부 매크로를 설정해야 할 수도 있습니다. 어떤 include
의 전에 파일의 상단에 넣어
#define _POSIX_C_SOURCE 200809L
#define _GNU_SOURCE
(그 중 하나는 충분하다하지만 난 당신이 사용하는 GLIBC 버전 모르는) 다음
0
당신은 fprintf()
here을 위해 찾아 볼 수 있습니다.
동일한 문제가 발생하여 POSIX 기반 컴퓨터에서 실행해야하므로 내 코드가 변경되어야합니다. 따라서 fprintf()
은 여러 가지 옵션 중 하나입니다. 예 :
fprintf(stderr,"file not found");
관련 문제
- 1. 경고 : 암시 적 선언
- 2. 암시 적 선언 'objc_lookUpClass'
- 3. 경고 : 함수의 암시 적 선언 TableCreate
- 4. 경고 : 함수의 암시 적 선언 'crypt_r'
- 5. 암시 적 함수 선언?
- 6. luaL_openlibs의 암시 적 선언
- 7. mkstemp 암시 적 함수 선언
- 8. ABCreateStringWithAddressDictionary 암시 적 선언
- 9. 'create_proc_entry'함수의 암시 적 선언
- 10. 'clock'함수의 암시 적 선언
- 11. C에서의 암시 적 선언
- 12. 함수의 암시 적 선언 glGenFramebuffers
- 13. 암시 적 캐스트 경고
- 14. 오류 : 암시 적으로 'proc_create'함수의 암시 적 선언
- 15. 함수의 암시 적 선언 usleep
- 16. 오류 : 'FIPS_crypto_set_id_callback'함수의 암시 적 선언
- 17. 함수의 암시 적 선언 x
- 18. 암시 적 클래스 변수 선언?
- 19. 경고 : 암시 적 기능 선언 - 물질을 포함하는 순서?
- 20. "함수의 암시 적 선언"이 단지 경고 인 이유는 무엇입니까?
- 21. 경고 : 함수 'getresuid'(및 'seteuid')의 암시 적 선언
- 22. 빌트인 malloc C 암시 적 선언
- 23. 함수의 암시 적 선언 'str [n] casecmp'[-Werror = 암시 적 함수 선언]
- 24. scandir의 암시 적 선언; alphasort가 선언되지 않았습니다.
- 25. 오류 : 함수의 암시 적 선언 'g_slist_free_full'
- 26. 암시 적 변수 선언 및 삼항 할당
- 27. 리눅스 semaphore_init : 함수의 암시 적 선언 'semaphore_init'
- 28. 시맨틱 문제 - 암시 적 함수 선언
- 29. C - "pthread_timedjoin_np"함수의 암시 적 선언
- 30. 경고 "암시 적 변환은 정수 정밀도를 잃습니다 ..."
또는'#define _XOPEN_SOURCE 700'. 또는'-std = gnu11'. –
@JonathanLeffler :'-std = gnu11'의 주석에 덧붙여 GCC가 파일의 맨 위에 놓이지 않는 옵션입니다. – deamentiaemundi