일단 미안한게, 


코드 싸질러놓고 결과를 보여주지 않는 다는 점.


그 이유는 현재 필자의 디카가 고장나있기 때문임


05.png

<그림 1 :: Bricx CC>


Bricx CC를 실행시키면 <그림 1>과 같은 윈도우를 볼 수 있다.

우측의 윈도우는 커멘트 트리만 나열되어 있으며, 그 안을 들여다 보면 함수들이 정돈되어 있음을 볼 수 있다.

좌측의 윈도우는 프로그래밍 코드가 들어가는 곳이다.


06.png

<그림 2 :: main 생김새>


task 키워드가 무엇을 의미하는지는 모르겠다만, 아무튼 NXT 프로그래밍의 기본 틀은 다음과 같다.

C언어의 int main(void) { return 0; } 을 처음 접할 때와 비슷한 느낌이 든다.


07.png

<그림 3 :: 연결 표시>


장치가 연결되면 다음과 같은 메시지가 보인다.

NXT의 Output port A 및 B에 각각 동력 모터를 연결한 후에 아래와 같은 코드를 작성하고 디버그 해보자.


8.png

<그림 4 :: 코드작성> 


아마 디버그와 동시에 NXT의 양쪽 모터가 CW 및 CCW 방향으로 회전하는 것을 볼 수 있을 것이다.


09.png

 <그림 5 :: 세이브 타입>

파일 확장자가 NXC임을 알 수 있다.

그럼 C / C++ 코딩을 못하는 것일까?


10.png

<그림 6 :: 클래스 테스트>


일단 기본적으로 'class'화 하지는 못하는 것 같다.


11.png

 <그림 7 :: 구조체 실험 1>

 

<그림 7>의 컴파일은 에러가 나오지 않았다.

이래저래 해도, 역시 c 기반임을 알 수 있다.



12.png

 <그림 7 :: 구조체 실험 2>


그래도 혹시 몰라서 클래스 문장을 섞어 보았다. 결과는 컴파일 에러.

즉, 그냥 순수 구조체만 사용 가능하다는 얘기다.



13.png

<그림 8 :: 헤더파일 생성>


일단 소스코드를 저장시키고 같은 디렉토리에 Insolution 이라는 헤더파일을 하나 생성시켰다.


014.png

<그림 9 :: 헤더파일 포함>


그리고 헤더파일을 포함시켜보았다. 에러는 없었다.


015.png

<그림 10 :: 구조체 및 C++ 문법 활용>


구조체의 사용 예가 있는 반면, 

&a 과 같이

C++에서나 사용 가능한 참조자 타입 문법을 사용 할 수 있다.


016.png

<그림 11 :: 테스트>


비록 클래스는 컴파일 되지 못하지만, 불리안 변수를 사용할 수 있으며, for문에 바로 변수를 대입 할 수 있게 한 점 등은, 분명 C++문법과 유사하다.