섹션 2 - 변수와 기본적인 자료
·
C, C++, MFC/따배C++
2.1 기본 자료형 소개* 1 byte = 8 bitsGroupType namesNotes on size /precisionCharacter typescharExactly one byte in size. At least 8 bits.char16_tNot smaller than char. At least 16 bits.char32_tNot smaller than char16_t. At least 32 bits.wchar_tCan represent the largest supported character set.Integer types (signed)signed charSame size as char. At least 8 bits.signed short intNot smaller than char. At l..
섹션 1 - C++의 기초적인 사용법
·
C, C++, MFC/따배C++
1.8 연산자와의 첫 만남*삼항 연산자(Ternary operator)int y = (x > 0) ? 1 : 2; // y = 1(조건) ? 조건이 참일 경우 return : 조건이 거짓일 경우 return; 1.12 헤더 가드가 필요한 이유헤더 가드 (Header Guards)헤더가 중복으로 선언되었을 경우를 대비하여 사용하는 것#pragma once// MY_ADD가 이미 include 되어 있으면, 다시 include 하지 말라는 뜻#ifndef MY_ADD#define MY_ADDvoid doSomething(){ add(1, 2);}#endif위 전처리기는 아래로 대체가 가능하다.#pragma once#include "add.h"void doSomething(){ add(1, 2);} 1.13 ..
섹션 0 - 시작해봅시다
·
C, C++, MFC/따배C++
0.4.0 통합개발환경의 기본적인 사용법 - 윈도우즈 비쥬얼 스튜디오 * 통합개발환경 : Integrated Development Environment (IDE) Menu - [File] - [New] - [Project] - Create a new project - Windows Desktop Wizard * Application type Windows Application (.exe) Console Application (.exe) Dynamic Link Library (.dll) : 다른 프로젝트에 기능을 제공하기 위한 것 Static Library (.lib) : : 다른 프로젝트에 기능을 제공하기 위한 것 * Additional Options Empty project : 빈 프로젝트 생성 Pre..
컴파일 날짜 표시 : __DATE__
·
C, C++, MFC
빌드 날짜를 표시해야 할 일이 있어서 전처리 매크로인 __DATE__를 사용했다. __DATE__ : 컴파일 날짜 __TIME__ : 컴파일 시간 __DATE__는 출력 시 Apr 5 2022 라고 나오기 때문에 용도에 맞게 변환이 필요했다. char s_month[5]; int month, day, year; static const char month_names[] = "JanFebMarAprMayJunJulAugSepOctNovDec"; sscanf(__DATE__, "%s %d %d", s_month, &day, &year); month = (strstr(month_names, s_month) - month_names) / 3 + 1; CString strVersion; strVersion.Form..
자료구조와 알고리즘
·
Data Structure
프로그램은 자료를 처리하기 위해 자료구조(data structure)를 사용한다. 또한 주어진 문제를 처리하는 절차를 알고리즘(algorithm)이라고 한다. 예를 들어 자료를 저장하는 배열이 자료구조가 되고, 배열에 저장된 값 중 가장 큰 값을 찾는 절차를 알고리즘이라고 한다. 프로그램 = 자료구조 + 알고리즘 알고리즘은 특정한 일을 수행하는 명령어들의 집합이다. 모든 명령어들의 집합이 알고리즘이 되는 것은 아니고, 아래와 같은 조건들을 만족하는 집합만이 알고리즘으로 정의된다. 0개 이상의 입력이 존재해야 한다. 1개 이상의 출력이 존재해야 한다. 각 명령어의 의미는 모호하지 않고 명확해야 한다. 한정된 수의 단계 후에는 반드시 종료되어야 한다. 각 명령어들은 실행 가능한 연산이어야 한다.
MFC Excel Automation (엑셀 자동화)
·
C, C++, MFC
일을 하다가 MFC에서 엑셀 라이브러리를 사용할 일이 있어 정리해본다. 0. 개발 환경 * windows 10 * Visual Studio 2015 * Excel 2016 먼저, ExcelAutomation이라는 프로젝트를 생성했다. 1. TypeLib의 MFC 클래스 추가 프로젝트 마우스 우측 버튼 클릭 후 [추가] - [클래스] 메뉴에서 TypeLib의 MFC 클래스를 추가한다. MSDN에는 레지스트리에서 Microsoft Excel 10.0 Object Library를 선택하라고 나오는데, 내 개발 환경에서 해당 라이브러리는 보이지 않았다. 그래서 파일을 선택하고 엑셀 설치 경로에서 EXCEL.EXE 파일을 지정해준다. 그리고 나면 인터페이스가 뜨는데, 필요한 것들을 선택해준다. MDSN을 참고하여..
토이 프로젝트 - 캘린더 프로그램 (2)
·
C, C++, MFC
캘린더를 수정했다. 수정 내역 1. 이전 달, 다음 달 캘린더 확인 기능 추가 2. 오늘 날짜로 돌아오기 기능 추가 3. 리사이징 4. 캘린더 년도, 월 표시 그밖에도 소스 정리도 좀 하고, 잘못된 코드도 고쳤다. 순수 캘린더 뷰잉 기능은 완료했다. 추가하거나 변경해야 할 것 - 이쁜 UI - 오늘 날짜 표현하는 방밥 바꾸기 - 시작 요일 설정 (일요일부터, 월요일부터 ...) - 아이콘 바꾸기 - 리사이징 잔상 kimgopa/mfc_project visual c++ mfc project. Contribute to kimgopa/mfc_project development by creating an account on GitHub. github.com
토이 프로젝트 - 캘린더 프로그램 (1)
·
C, C++, MFC
MFC 프로그래밍 연습 겸 토이 프로젝트를 하나 만들었다. 캘린더 프로그램이라 하기 민망한 그냥 오늘의 달력이다. 일단은 오늘 날짜 캘린더 표시하는 것 까지만 구현 완료했는데, 장차 일정 관리 기능까지 확장하는게 목표이다. 오랜만에 만들어서 그런지 너무 지저분한 코드였다. 함수로 묶으면서 다듬을 필요가 있겠다. 리스트컨트롤 주로 쓰고 리스트박스는 잘 안다뤄봐서 그런지 낯설었다. 그냥 MFC 자체가 낯설었던 것 같다. 추가하거나 변경해야 할 것 - 이전달, 다음달... 원하는 날짜의 달력을 볼 수 있는 기능 - 이쁜 UI - 오늘 날짜 표현하기 - 년도 표기 kimgopa/mfc_project visual c++ mfc project. Contribute to kimgopa/mfc_project devel..
OpenCV 설치와 Visual Studio 2019에서의 사용법
·
OpenCV
* 설치환경 OpenCV-4.5.2 Windows 10 Visual Studio 2019 OpenCV 설치 실행 파일을 이용한 설치 1. OpenCV 실행 파일 다운로드 OpenCV 사이트에서 Windows용 실행 파일을 다운로드한다. 그러면 opencv-4.5.2-vc14_vc15.exe 파일이 다운로드 된다. 2. OpenCV 실행 파일 압축 풀기 exe 파일을 실행하면 위와 같이 경로를 선택하는 창이 뜬다. 나는 C 드라이브를 선택하고 압축을 풀었다. 그러면 C드라이브에 opencv라는 폴더가 생성되고, 그 아래에 OpenCV 관련 파일이 생성된다. 3. OpenCV 환경 변수 추가 OpenCV 응용 프로그램을 실행하려면 OpenCV DLL 파일이 필요하다. 따라서 OpenCV DLL 파일이 있는 ..
동적 링크 라이브러리(DLL) - DLL 생성과 암시적/명시적 연결
·
C, C++, MFC
정적 링크 라이브러리 / 동적 링크 라이브러리 정적 링크 라이브러리 (Static Link Library) C++는 기본적인 문법사항만을 규정하며, 프로그래밍에 필요한 많은 유용한 기능들은 라이브러리 형태로 제공된다. 예를 들어 strlen() 이라는 함수는 라이브러리 형태로 제공된다. 프로그램에서 strlen 함수를 사용하면 소스코드가 컴파일 된 후 링크될 때, 라이브러리 파일에서 strlen 함수의 기능이 구현된 부분이 실행파일에 덧붙여진다. 이렇게 생성된 실행파일은 단독으로 strlen 함수의 기능을 수행할 수 있게 된다. 동적 링크 라이브러리 (Dynamic Link Library) 어떤 기능이 실행 파일에 직접 덧붙여지지 않고, DLL 파일에 독립적으로 존재하다가 프로그램이 실행될 때 동적으로 ..