0
fprintf가 상속하기 때문에 fprintf(stderr, "Error occured with file %s\n", file);
의 fprintf 호출을 vfprintf(FILE * stream, const char * format, va_list arg)
으로 바꾸고 싶습니다. vfprintf를 사용하여 래퍼 함수를 작성하지 않고도이 작업을 수행 할 수 있습니까? 어떻게 든 va_list 인수를 생성합니까?래퍼 함수없이 vfprintf 사용?
'fprintf' 그렇게 "상속 fprintf와 부풀게는"한 vfprintf 실제로 그 자체로 vfprintf''의 매우 얇은 래퍼입니다. 그렇지 않으면 부 풀기가 정확히 무엇인지 설명해야합니다. –
나는 그것을 몰랐다. 고마워. 나는 다이어그램에 대한 코드를 링크하고 있는데, 컴파일 할 때 printf가 부풀어 오를 때 경고한다.'/opt/diet/lib-x86_64/libc.a(vfprintf.o) : 함수 \'vfprintf '에서 : (.text + 0x2e) : 경고 : 경고 : printf 함수는 몇 킬로바이트의 부 풀을 추가합니다 .' 부 풀기가 적고 경고가 없으면 어떤 해결책이 있습니까? – thpetrus
"bloat"은'vfprintf'를 포함하여 전체 printf 계열에서 나온 것입니다. 이것을 피하는 유일한 방법은 문자열 포맷팅 함수를 전혀 사용하지 않는 것입니다. – duskwuff