1. 개요MFC란 Microsoft Windows 운영체제 환경에서 작동하는 GUI 프로그램을 C++언어를 사용하여 개발할 수 있도록 Win32 API의 핸들과 C언어 함수들을 C++언어의 클래스화 한 라이브러리 이다. Visual C++이라고 하면 일반적으로 이 MFC를 가리킨다. 본 강의에서는 간단한 GUI 프로그래밍을 경험해보는 것 부터 시작하여, 어플리케이션을 개발하는데 까지 기초부터 차근차근 다룰 예정이다. 2. MFC 학습의 목적Microsoft Windows 환경에서 실행되는 GUI 프로그램 개발을 위해 사용된다. C언어 API인 Win32 API를 사용할 수도 있지만 생산성의 문제로 MFC를 사용하는 경우가 대다수 이다. C++ 언어는 C언어에 대해 생산성이 상당히 높으면서도 C언어의 강력..
정말 별것 아닌 문제인데 이 문제로 인해 너무 힘들었고 필요이상으로 시간을 낭비하게 되었다.나의 삽질경험을 이렇게 남김으로서, 많은 사람들이 삽질을 최소화 했으면 좋겠다. 로직상으로 오류가 없는 코드인데 컴파일을 해보면 위와같은 에러메세지가 뜨곤 한다. error C4996 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings error C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disabl..
이전 포스팅소켓 프로그래밍 : 소켓을 이용한 채팅 프로그램 만들기 예제(서버)http://andrew0409.tistory.com/103 클라이언트 역시 대화상자 형식으로 생성하도록 한다. 왼쪽 그림과 같이 만들면 되겠다. 주소, 포트, 채팅, 입력이 써있는 스태틱 텍스트와, 입력할 수 있도록 주소,포트,입력은 에티트 컨트롤, 채팅은 리스트박스를 만들어 두자. 그리고 연결, 끊기, 보내기 세개의 버튼을 만든다. 에디트 컨트롤과 리스트박스는 변수추가를 하도록 하자. 나는 순서대로 mIp, mPort, mHistory, mInput이라는 이름으로 변수를 추가했다. 마지막으로 세개의 버튼을 각각 더블클릭해서 처리기를 만들면 초반 설정은 끝난다. 아 언급하지 않았지만 app에서 WSAStartup이나 WSACl..
이번에는 채팅을 할 수 있는 프로그램을 예제로 공부하겠다. 1부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 1 (헤더파일)http://andrew0409.tistory.com/97 2부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 2 (서버cpp파일)http://andrew0409.tistory.com/99 3부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 3 (클라이언트cpp파일)http://andrew0409.tistory.com/100 기본적으로 MFC 프로젝트를 하나 생성하고, 지난 포스팅에서 만들어놓은 CClientSocket 과 CServerSocket의 헤더와 cpp파일을 프로젝트 폴더로 복사해와서 include 한다. 잘 모르겠다..
1부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 1 (헤더파일)http://andrew0409.tistory.com/97 2부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 2 (서버cpp파일)http://andrew0409.tistory.com/99 3부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 3 (클라이언트cpp파일)http://andrew0409.tistory.com/100 4부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 4 (메인cpp파일) 어제 서버쪽 메인 cpp 파일을 올려놓고 클라이언트쪽 코드를 안올렸구나 하는 생각이 문득 들었다.그래서 뒤늦게 올림...ㅋㅋ 서버쪽 코드를 이해하고 있다면 클라이언트를 짜는것..
1부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 1 (헤더파일)http://andrew0409.tistory.com/97 2부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 2 (서버cpp파일)http://andrew0409.tistory.com/99 3부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 3 (클라이언트cpp파일)http://andrew0409.tistory.com/100 소켓 기본 마지막 포스팅. 오늘은 지금까지 배운 CServerSocket과 CClientSocket을 이용해서 직접 서버에 연결하고 데이터를 전달해보는 예제 소스코드를 보고 연습해보겠다. 123456789101112void CChildView::OnKeyDown(U..
지난 포스팅에서는 서버클래스의 소스코드에 대해서 살펴보았다. 이번에는 클라이언트 클래스의 소스코드에 대하여 살펴보고 알아보는 시간을 가져보겠다. 123456789CClientSocket::CClientSocket(SOCKET sock) : mSock(sock){} CClientSocket::~CClientSocket(){ Close();}Colored by Color Scriptercs 생성자와 소멸자는 이전에 포스팅 했던 서버.cpp의 내용과 동일하니 코드만 올려놓고 설명은 생략하겠다.궁금한 사람은 이전 포스팅 http://andrew0409.tistory.com/99 를 참조하시면 되겠다. 1234567891011121314151617bool CClientSocket::Create(){ if (IsV..
지난 포스팅에서 MFC 소켓 프로그래밍을 하는데에 필요한 클래스 두개 서버와 클라이언트의 헤더파일에서 간단하게 각 멤버변수와 멤버함수의 사용법에 대해서 살펴보았다. 이번에는 본격적으로 cpp 파일의 소스를 하나하나 살펴 보겠다. 12345678CServerSocket::CServerSocket(SOCKET sock) : mSock(sock){} CServerSocket::~CServerSocket(){}Colored by Color Scriptercs 생성자와 소멸자이다. 소멸자는 기본적으로 주어지는 것을 그대로 사용하고 생성자는 default parameter를 사용하기 때문에 기본생성자를 따로 두지 않고 콜론 초기화를 사용하였다.만약 생성자를 별도로 호출하지 않으면 mSock은 default para..
소켓을 연결해서 통신을 하려면 기본적으로 서버와 클라이언트가 필요하다.또한 서버는 하나 뿐만이 아니라 여러 클라이언트에서의 연결을 계속적으로 받고, 처리하기 위해서 쓰레드를 사용해야한다. 아래에는 클래스로 만들어둔 서버와 클라이언트의 기본이되는 소스코드를 첨부하겠다. 편의를 위해서 모든 멤버변수는 public으로 처리하였다. 들어가기에 앞서 App 클래스의 InitInstance 함수 내에서 12 WSADATA data; ::WSAStartup(MAKEWORD(2, 2), &data);cs 위 코드를 사용하여 WSADATA를 반드시 스타트 업 시켜야 한다. 이 작업을 빼먹으면 소켓을 아무리 잘 짜놓더라도 프로그램이 동작하지 않는다. 더불어 할당을 했으면 반드시 해제를 해야하는데 ExitInstance 함..
MFC 쓰레드(Thread) 정리와 예제 이번에는 MFC에서의 쓰레드(Thread)에 대해서 정리해 보겠다. 12public: int m_offset = 0;cs 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556struct PARAM{ CRect m_rc; COLORREF m_color; CMy06_16_TESTView* m_view; PARAM(CRect rc, COLORREF color, CMy06_16_TESTView* view) :m_rc(rc), m_color(color), m_view(view) {}}; UINT FrameProc(void* p){ PARAM ..
- Total
- Today
- Yesterday
- 데이터베이스
- 자료구조
- 티라노 시그널
- MFC
- 파이썬
- 정렬
- 쓰레드
- socket
- 터미널
- C
- 액터
- C/C++
- 프로세스
- 티그널
- 유즈케이스
- 안드로이드
- 파일
- 라즈베리파이
- 클라이언트
- UML
- 디렉터리
- 소켓 프로그래밍
- 소켓
- Sort
- 리눅스
- 파이썬예제
- 악보
- 클래스
- C++
- 스레드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |