본문 바로가기

Visual C++

DLL(Dynamic Link Libraray)에 대한 이야기 DLL은 프로그램간에 공유가 가능하고 정적링크라이브러리와는 다른 기능을 가진다. 정적 라이브러리와의 차이점 정적 라이브러리는 실행 파일에 필요 라이브러리가 포함된것이며, DLL의 경우 실행파일에 포함되지않고, 실행파일이 메모리에 로드되어서 실행이 될때, 라이브러리가 메모리로 로드되어 실행파일과 링크된다. 결국 정적라이브러리일 경우 실행파일에 포함되므로, 실행파일자체가 커지지만, 독립적 사용이 가능하고, DLL은 파일의 용량은 상대적으로 적고 공유가 가능하지만, 독립적으로 사용하기는 어려워진다. 정적 라이브러리는 실행파일에 필요 모듈 호출부분에서 호출 모듈의 주소를 알아야 하지만, 동적 라이브러리는 실행파일이 메모리 상주할때나 되어야 라이브러리주소를 알수있다. DLL을 사용하면, 링크과정에서 포함이 된다고.. 더보기
Ellipse 그리기. 랜덤 함수를 써서 윈도우에 다양한 타원.. 간단하게 CDC::Ellipse() 함수를 이용해서 윈도우에 랜덤한 타원을 출력시키는 프로그램. CBrush와 CPen으로 브러시와 펜을 생성및 초기화 하고 SelectObject 함수로 DC에 선택한다. #include class CEllipseApp: public CWinApp { public: virtual BOOL InitInstance(); }; CEllipseApp theApp; class CMainWnd : public CFrameWnd { public: CMainWnd(); ~CMainWnd(); afx_msg void OnTimer(UINT nIDEvent); DECLARE_MESSAGE_MAP(); }; void CMainWnd::OnTimer(UINT nIDEVENT) { CClien.. 더보기
윈도우 그래픽 프로그래밍 OnDraw (환경 : VS 2005에서 실행하였다.) 간단하게 프로젝트에서 Line 이란 프로젝트를 생성한다. single document로 생성. 그중 view 클래스에서 OnDraw함수를 찾는다. CLineView::OnDraw() . 이넘이 실질적으로 윈도우에 그림을 뿌려준다... code ---------------------------------------------------------------- void CLineView::OnDraw(CDC* pDC) { CLineDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 여기에 원시 데이터에 대한 그리기 코드를 추가합니다. CPen penRed(PS_SOLID,0,RGB(2.. 더보기