First-Chance Exception

코드 프로젝트에서 소스 코드를 하나 가져왔는데, 수 년이 지난 코드라 그런지 Visual Studio 2005에서 빌드하려니 이런저런 오류가 많이 났다. 어찌어찌 손을 보고 코드를 실행시키는데 이게 웬걸 First-Chance Exception이 발생한다. C++을…

2 Comments

C# 입문자를 위한 토탈 가이드

알립니다.이메일 내용을 그대로 옮겼습니다. 닷넷 경향 .NET Framework 3.0이 나왔습니다만, WPF 같은 최신 기술은 거의 윈도우 비스타에서만 적용되기 때문에 2.0을 주로 씁니다. 오래 전에 닷넷을 도입한 곳은 1.1을 아직 쓰기도…

3 Comments

Application Block for socket communication 2.0 Released!

C++에서 패킷을 struct로 정의해놓고 소켓 통신을 하는 경우가 많은데, C#에서 동일한 방식을 지원하려면 손이 많이 가서 만들었던 라이브러리입니다. 이렇게 바뀌었습니다. MIT 라이센스 채택. (쉽게 말해 상업적 용도로 써도 상관 없습니다.)…

0 Comments

어셈블리 동적 로딩의 문제점

당분간은 C++/CLI에서 손 떼고 Visual C++에 전념할 듯 하다. 그 전에 마지막으로 그 동안 해왔던 일을 정리해볼까 한다. 어셈블리 동적 적재와 해제 일반 DLL와 달리 어셈블리는 마음대로 불러들였다가, 떼낼 수가…

4 Comments

[C++/CLI] Mixed-Type 사용시의 메모리 해제 문제

네이티브 C++에서의 DLL을 CLR 환경에선 Assembly라 부른다. 그런데 CLR 환경에선 한번 불러들인(Load) 어셈블리를 마음대로 해제(Unload)할 수가 없다. 애초에 System::Reflection::Assembly에는 Unload에 해당하는 함수 자체가 없다. 단 독립적인 메모리 공간을 갖는 애플리케이션…

7 Comments

(2007.07.13) 오늘의 Visual C++ 소식

Microsoft Visual C++ 2005를 사용한 프로필 기준 최적화 요약 링크 시간 코드 생성(LTCG)과 프로필 기준 최적화(PGO)를 사용하면 20% 이상 성능을 향상시킬 수 있다고 한다. ATL 서버 라이브러리와 도구 소스코드가 공개되었다.…

0 Comments

Deep Inside .NET garbage collectors

GC 모드 값에 따라 가비지 콜렉터의 개수가 달라진다고 했었다. 그러나 의문이 남았다. 한 프로그램에 애플리케이션 도메인이 여러 개 있을 때는 어떻게 될까? C++/CLI에서 Managed Thread와 Native Thread를 혼용해서 사용하면 어떻게…

0 Comments

[C++/CLI] Thread Local Storage 사용 문제

Native C++로 작성한 소프트웨어를 C++/CLI로 포팅해야 하는 상황이었다. 컴파일러에 /clr 옵션을 주고 빌드하자 한번에 성공했다. 기뻐하며 F5 키를 눌러 실행시키는 순간, 런타임 오류가 발생했다. 각설하고 이틀 가량 조사하고 테스트한 결과,…

Comments Off on [C++/CLI] Thread Local Storage 사용 문제