문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
cubloc:define:index [2016/03/25 03:21] Comfile Technology 만듦 |
cubloc:define:index [2020/08/19 00:44] (현재) Comfile Technology [대상제품] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | ====== #define ====== | ||
+ | |||
+ | ''#define 이름 내용'' | ||
+ | | //이름 : 영문자로 시작하는 문자열 (공백이 있으면 안됨) // | | ||
+ | | //내용 : 치환할 문자열 (공백 포함가능) // | | ||
+ | |||
+ | |||
+ | ==== 설명 ==== | ||
+ | 문자열을 치환해주는 전처리기 입니다. 컴파일을 수행하기전 문자열을 치환해줍니다. | ||
+ | <code c> | ||
+ | #define motorport 4 | ||
+ | low motorport | ||
+ | </code> | ||
+ | |||
+ | 위의 예에서 컴파일 할 때, motorport는 4로 치환됩니다. 단순히 상수에 이름을 붙이는 용도라면 CONST명령으로도 할 수 있습니다. | ||
+ | <code c> | ||
+ | CONST motorport = 4 | ||
+ | low motorport | ||
+ | </code> | ||
+ | |||
+ | 다음 예와 같이 상수 하나가 아닌 특정한 문자열 자체를 치환하고자 할 때 사용할 수 있습니다. | ||
+ | <code c> | ||
+ | #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 ‘수식도 치환하여 사용할 수 있습니다. | ||
+ | </code> | ||
+ | |||
+ | #define에서도 다른 BASIC명령과 마찬가지로 대소문자를 구분하지 않고, 모든 문자를 대문자로 변환하여 처리합니다. 즉 #define ALPHA 0와 #define alpha 0는 같은 동작을 수행합니다. | ||
+ | |||
+ | ==== 사용예 ==== | ||
+ | <code c> | ||
+ | #define FLAGREG1 2 | ||
+ | #define f_led FLAGREG1.BIT0 | ||
+ | #define susik (4+i)*256 | ||
+ | </code> | ||
+ | |||
+ | |||
+ | [[cubloc:|명령어 목록으로 가기]] | ||