바다 SDK의 기본 예제 중 하나인 Basic App을 추가하면, Project Explorer에 다음과 같은 파일이 자동으로 추가되어 집니다.
- BasicApp.cpp
- 메인 애플리케이션 컨트롤러
- Form 1/2/3.cpp
- 이 애플리케이션이 갖는 세 개의 폼에 대한 인터페이스
- FormMgr.cpp
- 폼 간의 이동과 같은 부분을 관리함
- BasicAppEntry.cpp
- 메인 엔트리 포인트로 바다 IDE가 자동으로 만들어주는 템플릿이므로 굳이 수정할 필요 없음.
- C언어와 C++에서 main function과 같은 기능으로써 애플리케이션이 실행될 때 가장 먼저 호출되는 곳.
BasicAppEntry.cpp 소스 코드입니다.
20번째 줄에서 int OspMain(int argc, char *pArgv[]) 함수를 보면, C언어와 C++에 Main 함수와 함수명만 빼고는 똑같습니다. 바다 플랫폼에서는 모든 애플리케이션이 이 함수부터 시작한다고 보면 됩니다.
22번째 줄에서는 unsigned long으로 정의한 result r에 E_SUCCESS를 대입하고, 에러나 익셉션을 발생시킨 부분은 변수 r을 수정하여 전체적인 프로그램 흐름을 잡습니다.
30번째 줄에서 Application Framework이 Osp::App::Application을 상속받은 BasicApp의 CreateInstance를 호출하여 실행합니다. 위에서 ArrayList로 인자값을 모두 할당하여 이 때 같이 던져주는 것을 볼 수 있습니다.
약간 특이한 부분이라면 34번 째 줄에서 r &= 0x0000FFFF; 으로 비트 연산하는 것을 볼 수 있는데, 이 부분은 OspMain 함수의 리턴값이 Integer형인데, result가 unsigned long으로 선언되었기 때문입니다. 모두 0xFFFFFFF 로 비트연산해도 무방합니다. 리턴할 때는 꼭 integer로 캐스트해주어야 빌드타임에 에러가 발생되지 않습니다.
'S/W Development > bada' 카테고리의 다른 글
바다(bada)의 2단계 생성자(Two-phase Construction) (0) | 2010.11.16 |
---|---|
추가 작성되어야 될 내용 (0) | 2010.11.15 |
바다 애플리케이션 동작에 대한 이해 (0) | 2010.11.15 |
[04] Hello bada 프로젝트 만들기 (0) | 2010.11.15 |
[02] 바다(bada) SDK Sample 실행하기 (0) | 2010.11.15 |