본문 바로가기

c#

(4)
내가 C# 을 싫어 하는 이유. - 읽으시기에 앞서 - 이 글은 저의 극히 개인적인 글 입니다. 이점 이해 하시고 읽어 주시면 감사 하겠습니다. 세상엔 많은 컴퓨터 언어들이 있지만, 유독 내 눈에 거슬리는 컴퓨터 언어가 있습니다. 그 존재는 바로 C#. 마이크로소프트(이하 마소)에서 개념차게 만들었다 주장하는 이 C# 이란 존재는 탄생이 다음 목적들을 가지고 있습니다. 1. C/C++ 의 문법에, Visual BASIC 의 빠른 개발 장점을 가지는 언어. 2. 32bit/64bit 나 x86, ARM 등 서로 각기 다른 platform 에 독립적인 동작을 보장하는 소프트웨어. 3. WPF 를 통한 매우 시각적으로 있어 보이는 소프트웨어를 만들 수 있음. 뜻은 좋습니다. 하지만 제가 C# 을 본의 아니게 사용하고 격어 보면서 위의 것들은..
C# 에서 DLL 로드 동적으로 하기. C# 에서 C# 용으로 만들어진 DLL 이 아니고서는 C++ 이나 C , Delphi 등에서 쓰듯이 LoadLibrary 로 불러 쓰는 방법이 DllImport 말고는 방법이 없을까요? 물론 있습니다. 그 DllImport 를 이용하여 다음 세가지의 함수를 kernel32.dll 에서 import 해 온 다음 사용하면 됩니다. 가장 먼저 필요한 것은 LoadLibrary() , GetProcAddress(), FreeLibrary() 이 세가지가 되겠습니다. 그리고 이 세가지 함수는 다음 방법으로 제작하려는 class 내에 선언 해 주면 됩니다. [DllImport("kernel32.dll", EntryPoint = "LoadLibrary")] private extern static int LoadLib..
C# 에서 일반 DLL 가져다 쓰기. C# 이 편리한 언어라고들은 합니다만 .. 사실 저는 편한지 전혀 모르겠습니다 -_-a Java 처럼 가져다 쓰기 편하다는 의미로서는 그 의미대로 편한 것 이 맞는 말 입니다만 ... 개발자가 그런 편리함으로 "편리하다" 라고 하는 건 사실 개발자로서의 자질이 의심 된다고 생각 되네요 .. 어찌되었든.. minGW (gcc) 에서 빌드한 32bit DLL 을 C# 에서 쓸수 있는걸까? 라는 생각을 해 본 결과 : 된다 입니다. 다만 테스트 한 환경이 XP 인데다 32bit OS 이므로 64bit OS 에서는 void* 타입이 4byte 가 아니고 8byte 이므로 분명히 문제가 생길 것으로 생각 되는군요. 일단 이전에 공유한 SHARERES.DLL 을 붙여다 보았습니다. 동작은 .. 됩니다. DLL 을 ..
M$.NET/VS2005/C# 에서 USB camera 해상도 설정 관련 사항. WPF 란걸 써야 하는 조건이라면 어쩔 수 없이 개발자들은 M$ 의 덩치크고 메모리킬러 인 .NET + C# 이라는 조건을 받아 들여야 할 것입니다. WPF 란 이쁘고 화려한 UI 까지는 다 좋은데, 안타깝게도 이 방식은 제가 볼때 Layered Window 위에다 .NET 이 열심시 이미지와 각종 컴퍼넌트 등을 그리고 있는 걸 합니다. 또한 GDI+ 를 wrapping 한 듯한 rendering 속도를 보여 주는 걸로 보아 조금 답답한 면도 있구요. 일단 C# 선생은 제가 볼때 (절대 제 게인적인 생각입니다) 10년 전 부터 제가 써온 Delphi 가 채용하고 있는 Application Framework + 객체지향 개념과 java 등등이 잘 버무려져 있는 무거운 언어 입니다. 다른 점 이라면, WPF..