C++ 표준입출력 STDOUT 비활성화

HeungJun Kim·2022년 8월 30일
0

디버깅

목록 보기
4/4
post-thumbnail

프로그램을 개발하다보면 printf, cout 등의 표준입출력을 이용해 메세지를 출력하거나 값을 확인하는 경우가 많다.
또 외부 라이브러리를 사용하는 경우에도 메세지가 출력되는 경우가 많은데, 출력 소스코드를 하나하나 찾아서 주석처리하거나, 라이브러리를 새로 빌드하는 것은 매우 번거롭다.

이런 경우 표준입출력을 비활성화 시키는 간단한 코드가 있다.

#include<stdio.h>
#include<stdlib.h>

// 표준 입출력 비활성화
close(STDOUT_FILENO);
close(STDERR_FILENO); 
fclose(stdout);
  

매우 잘 동작한다.

간혹 외부 라이브러리에서 lib_name_logger 형식으로 메세지 로깅 기능이 직접 구현된 경우에는,
위 코드를 사용해도 로그 메세지가 출력되기 때문에, 이런 경우는 직접 수정해줘야 한다.

profile
Computer Vision / ADAS / DMS / Face Recognition

0개의 댓글