일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Android
- keras
- Raspberry
- 데이터
- C언어
- IMAGE
- MySQL
- tracking
- Python
- 정리
- Machine Learning
- FLASK
- 안드로이드
- 머신러닝
- 고급C
- 서버
- Linux
- detection
- tensorflow
- RapidCheck
- php
- Video
- 디버그모드
- Deep Learning
- sw
- 가상환경
- 영상분석
- 라즈베리파이
- 지능형
- Object Detection
- Today
- Total
목록고급C (4)
건프의 소소한 개발이야기
안녕하세요, 건프입니다. 이전 장에서 DBGMSG 매크로 함수를 정의해서 사용하는 방법에 대해서 알아보았습니다. 이번에는, 좀 더 유동적으로 컴파일시 디버그 옵션을 주면서, 디버그 메세지를 찍을지 말지를 선택할 수 있는 예를 알아보려고 합니다. 힌트는 매크로의 #ifdef endif 를 이용하는 겁니다 :) 코드는 다음과 같습니다. #include #ifdef DEBUG #define ANSI_COLOR_RED "\x1b[31m" #define ANSI_COLOR_RESET "\x1b[0m" #define DEBUG_PREFIX ANSI_COLOR_RED " > " #define DEGMSG(msg,...) fprintf(stderr, DEBUG_PREFIX "[%s %s %d] : " msg "\n" ..
안녕하세요, 건프입니다. 이번에는 C에서 매크로 함수를 이용해서 효율적으로 디버그로그를 찍는 방법을 알아봅니다. 다음 소스코드는 매크로로 함수를 만들었을때를 눈으로 확인하기 위한 예제코드입니다. SUM 함수는 정수 더하기 str1 : 두 문자열 연결STRCAT_1 : 문자열 연결STRCAT_2 : 말그대로 문자의 연결 => #x 는 x에 큰따옴표("")를 양쪽에 씌워달라는 것을 뜻합니다. STR : 넘어온 인자에 "" 로 둘러싸기 여기서 눈여겨 볼 부분은 str6 와 str7인데요.str6 은 MARGE_1을 이용해서, 글자그대로 str 이랑 1 이랑 이어서, str1 이 str6에 들어갑니다. 따라서 string1string2 이라는 값이 str6에 대입되었습니다.반면 str7은 MARGE_2를 이용해..
안녕하세요, 건프입니다. Debug Message 잘보는법(1) 에 이어서, 이번에 해볼것은 표준 입/출력에 대한 이해 입니다. 프로세스가 만들어지면, 기본으로 항상 열려지는 파일 디스크립터 를 표준 파일 디스크립터 라고 하고,unistd,h 안에 각각 STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO => 0, 1, 2 로 매핑되어 있습니다. 따라서, printf("stdout message\n"); fprintf(stdout, "stdout message\n"); 는 표준 출력 메세지 이고,fprintf(stderr, "stderr message\n"); 은 표준 에러 메세지 입니다. 아니, 어차피 화면에 보이는건 똑같은데 둘이 무슨 차이가 있냐고요?저도 처음에는 그렇게 생..
안녕하세요, 건프입니다. 이번에는 C 프로그램을 작성할 때,몰라도 상관없지만 알고 있으면 좀 더 유용하고, 간지(?)나고, 재밌게 코딩할 수 있는 방법을 알게 되서 소개하려고 합니다. 우선 첫번째 스탭은, 미리 정의된 매크로가 있다는 걸 알아야 합니다! 매크로 내용 타입 __FILE__ 소스 파일명 string __LINE__ 소스 줄번호 decimal integer __func__ 현재 진행 함수명 string __DATE__ 전처리기 수행날짜 string __TIME__ 전처리기 수행시간 string 바로 예제를 봅시다. 요렇게 작성해두고,결과 입니다. 이렇게 우리는, 어느라인에서 작업하고 있었는지를, 미리 정의된 매크로 를 이용해서 뽑아낼 수 있습니다.(우리가 평소에 사용하던 컴파일러의 디버그 메세..