#define 이름 내용
이름 : 영문자로 시작하는 문자열 (공백이 있으면 안됨) |
내용 : 치환할 문자열 (공백 포함가능) |
문자열을 치환해주는 전처리기 입니다. 컴파일을 수행하기전 문자열을 치환해줍니다.
#define motorport 4
low motorport
위의 예에서 컴파일 할 때, motorport는 4로 치환됩니다. 단순히 상수에 이름을 붙이는 용도라면 CONST명령으로도 할 수 있습니다.
CONST motorport = 4 low motorport
다음 예와 같이 상수 하나가 아닌 특정한 문자열 자체를 치환하고자 할 때 사용할 수 있습니다.
#define FLAGREG1 2 #define f_led FLAGREG1.BIT0 #define susik (4+i)*256 f_led = 1 ‘ FLAGREG1의 비트0을 1로 만듭니다. If f_led = 1 then f_led = 0 ‘비트조작을 좀더 읽기 편하게 할 수 있습니다. j = susik ‘수식도 치환하여 사용할 수 있습니다.
#define에서도 다른 BASIC명령과 마찬가지로 대소문자를 구분하지 않고, 모든 문자를 대문자로 변환하여 처리합니다. 즉 #define ALPHA 0와 #define alpha 0는 같은 동작을 수행합니다.
#define FLAGREG1 2 #define f_led FLAGREG1.BIT0 #define susik (4+i)*256