본문 바로가기

C#

(18)
C# Frequently Asked Questions for C++ programmers C# Frequently Asked Questions for C++ programmers Andy McMullan Last update: 3-Dec-2000 This FAQ tries to address many of the basic questions that C++ developers have when they first come across C#. I recommend that you read the .NET Framework FAQ before reading this one. If you have any comments, suggestions, corrections or criticisms, please e-mail me at andy@andymcm.com. Disclaimer: The conte..
Visual Studio 6.0에서 2005이상으로 넘어가야 하는 이유.. 정말 아직 VB6, VC6를 쓰는 사람을 보면, 존경스럽기까지 하다.. 물론, 여러가지 문제로 인해 아직 닷넷은 시기상조라는 말을 많이 듣긴 하지만.. 사실 VC의 경우는 아무래도, 2003정도는 써주는게 낫지 않을까.. 언제까지 98과의 호환성을 염두에 둘필요는 없지 않을까? 아직도, MS-DOS와의 호환이 필요한 몇몇 프로그래머를 제외하고, 일반 사용자 대상의 프로그램을 작성한다고 하면.. Microsoft는 업데이트에 꾸준히 .net framework를 배포중이고, Vista에는 이미 포함되어 있기도 하고.. 본인 역시도 Vista에 대해서는 회의적이나, 닷넷에 관해서는 환영이다. (사실 닷넷보다는, Mono Project때문일지도 모른다) 어쨌거나, 아직 VC6, VB6을 쓴다면 2005로 갈아타..
관리되는 DirectX 9.0 튜토리얼 출처 : DirectX 9.0 SDK 온라인 도움말 번역 : jacking@korea.com Tutorial 1: 디바이스의 작성 CreateDevice 튜토리얼 프로젝트에서는, Microsoft? Direct3D?를 초기화 하고, 단순한 청색의 화면을 렌더링하고, 최후에 셧 다운을 한다. 패스 소스의 위치: (SDK 루트)SamplesC#Direct3DTutorialsTutorial1 순서 애플리케이션 윈도우 작성 Microsoft? Windows? 애플리케이션이 실행시에 처음에 꼭 해야되는 것은, 애플리케이션 윈도우의 작성이다. 그 때문에 다음 샘플 코드의 Main() 함수에서는, 애플리케이션에서 정의한 CreateDevice 클래스의 컨스트럭션를 제일 처음에 호출한다. 이 클래스는, 디스플레이 윈도..
C# 관리되는, 되지 않는 리소스 사용에 대한 문제점과 해결방법 C# 관리되는, 되지 않는 리소스 사용에 대한 문제점과 해결방법 Written by ProgC 2007-05-31 C#은 CLR에 의해 모든 것이 관리된다. 그로 인해서 메모리 해제를 까먹는다거나 하는 실수를 하지 않게 된다. 실제 필자도 C계열 언어를 10년이 넘게 사용해오면서 메모리 관리가 그다지 쉽지 많은 않다는 것을 피부로 느꼈다. 근래 C#으로 프로그램을 작성하면서 굉장히 많은 이득을 얻을 수 있었는데 그 중 하나가 메모리 관리에 대한 부담이 사라진다는 점이다. C#에 마법은 없다. 관리되지 않는 리소스를 사용할 경우에 메모리 릭이나 프로그램이 멎어 버리는 현상이 발생하기 때문이다. 이러한 프로그램들이 문제인 것은 프로그램을 실행시켜보고 바로 다운되지는 않는다는 점이다. 단지 서서히 죽어갈 뿐이..
초보자들을 위한 공부 가이드 C 언어 초보자들을 위한 공부 가이드 C 언어 0. 소개 C 언어의 중요성에 대해서는 별로 언급할 것이 없겠습니다. 이 글을 읽으시는 분은 이미 그 중요성을 인식한 분일테니까요. 인터넷 검색 엔진에 "the c programming language"라고 쳐 넣을 후 결과를 보면 C 언어가 왜 중요한가에 대한 글이 끝없이 나옵니다. 덤으로 C 언어 강좌도 꽤 많은 것들이 있으니 한번 대충 훑어 보시는 것도 도움이 될 것 같네요. 어 쨌거나 요즘같이 C++, C#, JAVA, Delphi(Pascal), Visual Basic... 등등의 언어가 난무하는 시대에도 여전히 C 언어는 반드시 알아두어야 할 기본 언어입니다. 게다가 기초 문법만 따질 경우 일단 옛날의 베이직을 제외하면 가장 배우기 쉬운(제 생각에) 언어죠..
프로그래밍 습관 들이기 1. 전역변수를 사용할 수도 있다. 그러나, 그럴 필요가 없다면 사용하지 말라.2. 절대적인 경우가 아니라면 GOTO 문을 사용하지 말라. 대부분의 경우 거기에 필요한 보다 좋은 방법을 찾을 수 있다. 3. 어떤 변수나 다른 요소가 얼마나 많은 메모리를 필요로 하는 지 모를 때에는, 기록을 위한 배열을 그때그때 할당하라. 연결 리스트(linked list)와 트리 구조를 피하라. 자료 구조는 최대한 단순하게 유지하라. 4. 대부분의 자료 형을 32비트 자료 형으로 하라. 8비트나 16비트 형을 써서 메모리를 아끼려고 하지 말라. 속도가 가장 중요한 것이며, 32비트 데이터가 32비트 프로세서에서 훨씬 빠르다. (참고로 이 글을 발췌한 책은 윈도우즈 게임 프로그래밍 책입니다.) 5. 아주 많은 변수들을 넘..
Resources and Satellite Assemblies 2 Fusion 9 : Resources and Satellite Assemblies 2 ??¤?????? ???????³¼ ?????± ??´????¸???? ?·¸ ????²??§¸ ????°? ????²???¤. ??? (?°???´?????? ????????¤??¼ ??????) XML Compiled Resources ?§??¸? ?¹??§???? ????????¤ ?????¨??? ??°????°? ??´???????¼???´??? ??´??? ??¸?????´ ????????¤??¼ ?????¨?????? ?²½??° ( ?????¼??¤??´, ?????? ???????§?, ??¤??´??¼?¡??·¸ ?°???¤ ?????? ?º¡??? ????³´??? ?°????)?? ?????????..
시간 간격 구하기 시간을 계산해야 할 일이 필요했다. 내가 필요했던 부분은 경매사이트에서 DB에 들어있는 마감시각을 가져와서 현재시각과 계산하여 남은 시간을 계산하기 위해서였다. C#에서 DateTime이 시간이다. 보통 DB에도 "2007-07-23 오전 12:52"같은 형식으로 들어가는데 그럼 이것을 어떻게 계산을 해야하는가? 일단 그냥 빼기를 해서는 계산이 되지를 않았다. C#에서는 연산자 오버로드를 할 수 있으므로 연산자 오버로드를 해야하는가 하면서 이것저것 뒤지다가 나온 것인 TimeSpan이다. 둘다 System네임스페이스를 사용한다. TiemSpan은 시간 간격을 나타내는 구조체이다. DateTime을 계산하기 위해서 사용한다. 일단 소스를 보자. (Language : cpp) DateTime end = Da..