프로그램을 개발하다보면 printf, cout 등의 표준입출력을 이용해 메세지를 출력하거나 값을 확인하는 경우가 많다.
또 외부 라이브러리를 사용하는 경우에도 메세지가 출력되는 경우가 많은데, 출력 소스코드를 하나하나 찾아서 주석처리하거나, 라이브러리를 새로 빌드하는 것은 매우 번거롭다.
이런 경우 표준입출력을 비활성화 시키는 간단한 코드가 있다.
#include<stdio.h>
#include<stdlib.h>
// 표준 입출력 비활성화
close(STDOUT_FILENO);
close(STDERR_FILENO);
fclose(stdout);
매우 잘 동작한다.
간혹 외부 라이브러리에서 lib_name_logger 형식으로 메세지 로깅 기능이 직접 구현된 경우에는,
위 코드를 사용해도 로그 메세지가 출력되기 때문에, 이런 경우는 직접 수정해줘야 한다.