페이지

글타래

2009년 6월 16일 화요일

개떡같은 MS-VS++ 플랫폼 및 MFC DLL

MSVC++ 1.0 , MFC1.0 부터 곧 정식릴리즈될 10.0 버전까지 십수년을 동고동락 했지만,MS의 것은 스케일만 거창하게 패러다임을 추구하는듯 폼만 잔뜩잡을 뿐 개발플랫폼과 개발자가 담당해야만하는 부분의 그 내실에 있어서는 갈수록 조잡해지는 느낌이다.
솔직히 똑같은 제품을 놓고 리눅스/유닉스/맥os/MS-Windows 중에 유일하게 돈내고 사서써야하는 동네가 MS 동네이다..개발자들의 물이 그만큼 순수하지도 못하고 오로지 기업정신에 의해 일관되게 운영되는 , MS 의 매니아나 알바생들에게 주는 MVP가 벼슬인양 으시대며 서로 신성하지 못하게 경쟁을 부축이며 치열한 각축을 벌이는 개발자VS 개발자, 매니아VS매니아, 알바생VS알바생,사용자VS사용자가 서로 MS의 그늘에 있음을 자랑스러워 하며 너보다 내가 MS와 더 친하고 잘났음을 뽐내는 초딩수준의 경쟁시대를 살아 왔다.MS가 경영 전략상 그렇게 분위기를 조장하고 부추기는 것이다.
그러니,일반 사용자나 학생,직장인,나름 전문가라 자칭하는 족속에 속한 분들... MVP다 뭐다 허울 좋은 그림의 떡에 혹해서 제발 ms 본사한번가서 사진찍고 관광이나 하고 시종잡배 생각으로 MS의 알바 1빠 노릇을 하기 보다는 고개를 들어 진정한 IT인 답게 Open Source를 지향하며 큰물에서 한번 놀아보기를 바란다. 뭐 큰물이라 봐야 지금까지 봐왔던 협소한 시선을 ms에서 돌려 좀 더 넓은 세상이 있음을 바라보라는 것이다.
사실 ms도 쫒아가기 바쁠것이지, 수많은 오픈 프로젝트의 일환 하나하나를 따라갈 수가 없다.
국내에도 많다.. 숨은 org 싸이트를 찾아다니자.
개떡같은 MS-VS++ 플랫폼 및 MFC DLL은 솔직히 mfc 를 만드는게 아니었다.WIN SDK 기반으로 좀더 심플하게 갔어야 하는데...... 차라리 WTL을 진작에 근본으로 했어야 할지도...
자바를 잡겠다고 C# 급조하고 .NET 플랫폼이라 내놓고,,, 이제 표준화를 넘어서 특화된 비표준화 방향으로 개발자를 사병으로 키우려고 한다...
어쨋튼 MFC는 클래스를 파생하여 나만의 클래스를 만들수 있는 DLL이 확장형 DLL인데,이놈은 정적라이브러리 링크로 빌드하지 못한다. MFC 공유 DLL들을 배포시 항상 같이 깔아야 한다.
강제로 정적으로 링크하면,MFC 내부에서 런타임오류가 나더라...
반면에 , 확장형 DLL말고 정규DLL이라하는것 은 MFC 내부클래스를 파생해서 Export 못한다.
해도 되는데 역시,MFC 내부에서 런타임오류가 나더라... 하지만 정적으로 링크가 가능하다는것..
결국 mfc 클래스로 코딩해서 쓰려면 그냥 공유 DLL 쓰라는 것이다.
MFC90의 버전 (VS2008) 의 MFC90.DLL 은 1MB 정도이다. (버전이 9.0.21022.8 이고 Windows/WinSxs/x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_a173767a에 존재한다) 그런데 이것이 VS2008 SP1 이라 불리는 Feature Pack (이것은 소스xx 싸이트들에서 돌아다니던 BCG 라이브러리를 MS에서 구매해 자신들의 MFC에 그 코드를 탑재한것) 을 설치하거나 그 VS2008 SP1 용 재배포 설치킷을 설치하면 MFC90.DLL의 크기만 4MB가 넘어버린다.(버전이 30729인가 어쩌구임-)
어쨌튼, 필자마져도 생각은 이래도 이런 패러다임을 한사람이 분위기를 확 바꿀수 있는것도 아니고 그저 묻어가지만....
알고는 쓰자는 얘기이다.. 최소한 GTK라도 좀 해 둘 것을...

사족을 덧붙이자면,,

IT 발전에 진정 헌신하고 공헌하길 원하는 사람은 MS맨이 되어서는 안된다는 것이다.

댓글 없음:

댓글 쓰기