FreePascal Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
FreePacal 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

FreePascal 팁&트릭
[3] WinCE상의 라자루스...
소지영(몽인) [neonim] 5827 읽음    2010-11-17 17:27
라자루스를 실무에 적용해 봤습니다.
몇가지 적어 봅니다.

[개발속도]
개발기간은 eVC,VC에 비해 많이 단축됩니다.
PC상에서 VC와 델파이 개발기간정도로 생각 하시면 되겠네요.

[커널사이즈]
C#을 사용하지 않을거면 .Net CF을 걷어낼수 있고 그러면 커널 사이즈가 대폭 감소됩니다.
커널사이즈는 부팅 속도에 영향을 끼칩니다.
많은 WinCE기기들이 Xip방식을 사용하지 않습니다.
부트로더를 이용한 많은 WinCE기기들은 부팅시 커널을 RAM에 복사하는 행위를 하기때문에 커널사이즈가 커지면 커질수록 부팅 속도가 느려집니다.
그러나 이 모든게 부트로더방식의 WinCE가 아니라 모바일버전이라면 의미가 없습니다.
모바일버전은 XIP니까요...

[바이너리 크기]
eVC, VC - 작다
라자루스 - 크다
C# - 크다
동일한 프로그램으로 비교해보지 않아서 정확하진 않습니다.
하지만 정확한 비교 없이도 eVC,VC에 비하면 라자루스나 C#은 거대할 정도로 바이너리가 큽니다.

[디버깅 환경]
eVC, VC, C#, 라자루스등 WinCE개발시 기본적으로 ActiveSync를 통해 디버깅을 합니다.
따라서 ActiveSync사용하는 방식은 동일합니다.
그러나 IDE상에서의 디바이스에 바로 물려서 디버깅을 하는데 있어서 eVC, VC가 월등 합니다.
이는 바이너리 크기와도 관계가 있는데 디버깅시 ActiveSync를 통해 바이너리를 디바이스에 복사하고 실행 하게 됩니다.
ActiveSync의 속도가 느려서 10~20M가 넘는 바이너리를 디버깅 하려면 세월입니다.
따라서 라자루스로 WinCE상에서 개발 하려면 다른 방법을 생각해야 합니다.

[디버깅 툴]
eVC, VC, C#은 메모리 누수나 퍼포먼스툴, 스파이프로그램등 다양한 툴이 제공됩니다.
편의성 제공면에서 상용툴과는 비교대상이 안되죠.
(부수적인 툴들은 라자루스로 개발 하면서 사용해도 됩니다.)

대충 비교해 봤습니다.

위에서 디버깅 환경에 있어서 라자루스는 뭔가 방법이 있어야 한다고 했습니다.
디버깅에 몇가지 방법이 있습니다.
1. 바이너리의 사이즈를 줄이는 방법이 있습니다.
LCL을 걷어낼경우 감탄할 만한 사이즈가 나옵니다.(당연하겠지만...) eVC와 비슷한 사이즈가 나옵니다.
그러나 LCL을 걷어내면 그 많은 컴포넌트들을 포기하는것이 되버립니다.
그냥 VC를 쓰는게 낫습니다.
2. 크로스컴파일을 적극 활용하는것입니다.
PC버전으로 만들어서 나중에 WinCE용으로 컴파일만 한번 해주면 됩니다.
그러나 PC와 WinCE와 동일한 환경이 아니기에 WinCE를 잘 모르는 상황이라면 개발이 더디고 힘듭니다.
3. 에뮬레이터를 활용합니다.
에뮬레이터를 활용해서 개발하면 PC환경보다 좀더 WinCE환경에 가까워 개발시 잇점이 여러가지 있긴한데...
WinCE를 잘 안다면 에뮬레이터를 쓰느니 차라리 PC환경에서 디버깅 하는게 낫습니다.
에뮬레이터상에서의 개발은 느리고, 장치와 100%호환되는것도 아닙니다.
WinCE에뮬레이터를 안드로이드나 아이폰 에뮬레이터로 생각 하시면 안됩니다.
WinCE의 에뮬레이터는 ARM용 바이너리가 구동되는것이 아님을 주의해야 합니다.

세가지 방법중 저는 크로스컴파일 기능을 이용해 PC에서 작업해서 WinCE용으로 컴파일 해서 쓰는법을 선택 했습니다.
그런대로 만족할만한 결과물을 얻었습니다.





너줄하게 적었는데 요약하면 이렇습니다.

고민>WinCE개발도구로 뭘쓸까?
대안>개발하면서 담배도 피고 밥도먹고 영화도 보고 할수 있다면  => eVC, VC
        부팅속도가 어쨌거나 화면이 100개씩이나 되는데 라이브러리 만들게 한두개도 아니고 편하게 개발하고 싶다 => C#
        춥고 떨리고 배고프고 얼렁 개발해야 한다 => 라자루스
박지훈.임프 [cbuilder]   2010-11-17 22:02 X
와우~ 멋집니다. 그런 모든 지식들을 검색과 경험으로 쌓으신 거겠네요.

이번 기회에, 라자루스 섹션을 따로 만들어보면 어떨까요..?
소지영(몽인) [neonim]   2010-11-18 00:28 X
있으면 뭐라도 하나씩 올라오지 않을까요...?
박지훈.임프 [cbuilder]   2010-11-18 08:23 X
흐흐흐~
오랑캐꽃 [oranke]   2010-11-22 22:50 X
춥고 떨리고 배고프고 얼렁 개발하려면 라자루스...
안구에 습기가 차는 사용기네요~~ 흑흑흑~~
잘 읽었습니다~~ 흑흑흑흑~~

+ -

관련 글 리스트
3 WinCE상의 라자루스... 소지영(몽인) 5827 2010/11/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.