static ser_map_t ser_map_ims[] =
{
#ifdef SERCLI
{"cmd_ops_check", icsCmdOsp},
#endif
#ifdef SERCMD
{"cmd_osp_check_s", icsCmdOspMain},
#endif
{NULL,NULL}
};
위에서 SERCLI와 SERCMD는 위 코드전에 선언이 되어져 있어야 한다. 아래와 같이.
#define SERCLI
#define SERCMD
만약에 아무리 찾아봐도 없다면(???????)
Makefile을 열어보면 답을 알수 있다.
------------------------------------------------------------------------------------------------------------
#define, -D옵션, CFLAGS, avr-gcc에서 Makefile의 CFLAGS, 인수(매개변수)가 있는 사용자 정의 함수
------------------------------------------------------------------------------------------------------------
CFLAGS=-DSERCMD 로 선언이 되어 있으면, 굳이 소스코드에 넣지 않아도 컴파일시에 반영이 되도록 할수 있다.
비고)Makefile
CC=gcc
SRC=./
EXE=./
INC=./
CFLAGS=-DSERCMD - DDEBUG -DLOGGING -I.
LIBS = -lcrypt -lnsl -lm
BIN=$(EXE)
all: $(BIN)/sample \
.c.o:
$(CC) $(CFLAGS) -c -g $*.c
$(BIN)/sample: sample.o
$(CC) -o $@ sample.o (LIBS) -s
clean:
rm *.o
'c 언어 > 중급과정' 카테고리의 다른 글
C# Timer.ElapsedEventHandler(tme_tick) 과 같은 효과(Linux) (0) | 2021.11.15 |
---|---|
구조체안에 선언되어진 함수 실행하기(함수를 구조체 변수로 갖는경우) (0) | 2021.08.06 |
컴파일과정에서 코드추가 가능(#define PIE 3.1416) (0) | 2021.08.05 |
Console Hexa, form Hexa by c language (0) | 2021.04.25 |
DateTime -> UnixTimestamp -> DateTime 변환 (0) | 2021.03.26 |