질문있습니다.

하하의 이미지

WIPI라 하여 모바일 컨텐츠를 개발하려 합니다.

사용언어는 모바일 C 라고 합니다.

보기엔 C와 동일한데.

오늘 셈플 코드를 보다가 이런 문장이 있어.

static unsigned char bmpDmp[]={
#include "icon_use.hex"
};

static unsigned char bmpDmp[]={
#include "num1.hex"
};

위와 같은 코드가 C 컴파일러가 알아 들을 수 있나요?

모바일 C 이외에도 이러한 코드가 먹을 수 있는지.

있다면 어떻게 이해 하면 되는지 설명해 주실 수 있나요?

그럼 즐거운 하루 되세요........

espereto의 이미지

당연히 동작합니다.
#include 문은 그 자리에 그 파일의 내용을 가져와 붙이는거니까요.
코드 그대로 이해하시면 됩니다.

static unsigned char bmpDmp[]={
icon_use.hex 의 내용
};

아마 저 .hex 파일에는 0x00, 0x01 , .. 이런 식의 코드가 있을 것 같네요.
즉, static unsigned char bmpDmp[]={
0x00, 0x01, ...
};
이런 식으로 ...

pynoos의 이미지

C / C++ 언어에서는 소스라고 해도, 그 소스안에는

pre-processor
compiler
assembler

이 세가지가 각각 이해하는 것들이 뭉쳐있습니다.
하나의 명령어가 preprocess 단계에서 원하는 것인지, compiler에서 원하는 것인지 잘 봐야하지요.

더불어, flag도 gcc/g++ 같은 front end 에서는 모든 단계에 해당하는 녀석이 다 옵니다만, 알고 있는 flag가 어떤 단계에 적용되는 것인지를 정확히 아는 것이 중요합니다.

이는 embeded os 건, linux, unix, windows 모두 해당되는 이야기이지요...