C#에서 Unmanaged Code(C++) 코드 호출하기 1) COM Interop COM Interop에 대한 기초적은 설명은 아래와 같습니다. COM Interop은 닷넷 프레임워크(.NET Framework)에서 공통 언어 런타임(CLR)에 포함된 컴포넌트 오브젝트 모델(COM) 개체를 상호 운용할 수 있게 만드는 기술이다. COM Interop은 COM 컴포넌트의 수정 없이 액세스할 수 있는 기능을 제공하며, COM 타입의 개체를 .NET 타입의 개체에 대응하도록 시도한다. 그리고 COM Interop는 COM 개발자들이 COM 개체에 액세스하는 것만큼 쉽게 관리 개체에 액세스할 수 있도록 허용한다. 구현방법은 아래의 링크를 참조하시길 바랍니다.COM Interop 자습서 : http://msd..
관리 코드(Managed Code)와 비관리 코드(Unmanaged Code) 이 글에서는 .NET 환경에서의 Managed Code와 Managed Code 이전의 Unmanaged Code에 대해서 알아보도록 하겠습니다. Managed Code는 Visual Studio 2003 버전이 발표되면서 Microsoft에서 만들어낸 개념입니다. 일반적으로 .NET Framework 환경에서의 C#, VB.NET 환경에서 만든 코드는 모두 Managed Code입니다. 그리고 이 개념이 나오기 이전의 코드들은 Unmanaged Code라 보시면 됩니다. C++은 기본적으로 Unmanaged Code라서 이 개념이 발표되었을 때 많은 혼란을 야기했다고 하네요. 하지만 이개념이 발표된 지 약 10년 정도 지났으..
프로그램 개발에 필수적인 Visual Studio 다운로드 링크입니다. Visual Studio에 대해서는 따로 말을 해드리지 않아도 어떠한 프로그램인지는 아실것 같아요.그래도 궁금하시다면 아래의 링크를 참고하세요. About Visual Studio with MSDNhttp://www.visualstudio.com/products/visual-studio-with-msdn-overview-vs Visual Studio 2010 Professional 평가판http://download.microsoft.com/download/B/3/8/B38A16DD-A088-4EEA-9031-450143063500/X16-57483VS2010ProTrialKOR.iso Visual Studio 2010 Ultimate..
ATL100.DLL 찾을 수 없음 (Missing Error) 해결방안 이번 포스팅에서는 특정 프로그램을 실행한 경우 ATL100.DLL을 찾을 수 없어 발생하는 에러에 대한 해결책을 알아보도록 하겠습니다. 프로그램 실행시 다음과 같은 에러 창을 보실 수가 있으시죠. 그럼 ATL100.DLL이 어디에서 사용되는지 용도에 대해서 알아보도록 할까요. ATL100.DLL은 Adobe Systems Incoporated 사의 DLL 로 Photoshop과 관련된 DLL입니다. 이에 대한 원인은 몇가지로 구분할 수 있는데요. 그 원인은 다음과 같습니다. 내부 바이러스 검사로 인한 파일 삭제파일 손상 혹은 손실로 인한 DLL 파일 로드 문제Windows 기반의 레지스트리 오류 DLL 에러에 대한 해결 방안은 생각보..
윈도우 버전에 따른 Visual C++관련 헤더 설정하기 (error C2065: undeclared identifier 해결 방안) 하위 버전의 윈도우에서 개발된 Visual C++관련 코드를 수정하는 경우가 발생할 때가 가끔은 있습니다. 이런 경우 프로젝트를 업그레이드 하고 컴파일을 누르면 컴파일이 되지 않고, 코드에는 선언이 되어있는 다양한 클래스 혹은 구조체들을 찾지 못해 에러가 발생을 합니다. 이에 대한 예를 알아볼까요? 위의 그림의 경우 PSCROLLBARINFO라는 개체를 인식하지 못하여 발생하는 에러입니다. 하지만 코드에서 PSCROLLBARINFO를 찾아서 들어가 보면 코드나 헤더상에는 반드시 이 개체가 존재합니다. 이러한 문제는 왜 발생하는지 알아보도록 하겠습니다. Microsoft V..