일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UNO
- Overloading
- SERIAL
- APP
- atmega328
- public
- inheritance
- compare
- mfc
- Unity
- digitalRead
- file access
- Read
- Barcode
- stream
- preprocessing
- Encapusulation
- aduino
- Binary
- sensor
- length
- Contour
- parameter
- java
- memory
- Android
- Class
- wpf
- flutter
- Pointer
- Today
- Total
목록C, C++, MFC (34)
폴크(FOLC)
# 1982년도에 버클리 대학(University of California at Berkeley)에서 탄생 > BSD(Berkeley Software Distribution) UNIX 4.1에서 처음 소개 됨. > 1986년 BSD UNIX 4.3에서 개정 ( BSD소켓 또는 버클리 소켓이라고 부름 ) # Windows Sockets API의 캡슐화를 상속(CAsyncSocket) 받음. > 높은 추상화 수준을 CAsyncSocket 에서 제공 # 통신을 사용하기 위해서는 기본 함수를 추가 해야 한다. > 프로젝트 생성 시점에 Windows 소켓(W) 추가 > 또는 Application 에서 AfxSocketInit() 함수 추가 # 통신을 위해서 사용하는 기본 함수는 다음과 같다. > HOST : 총 ..
# TCP/IP 로 통신을 진행하는 상태 확인 > 1:1, 1:N, N:1 > 통신 연결을 사용하고 있는 PC 의 Listen socket 과 연결된 socket 에는 동일한 파라미터가 적용됨. - 각 socket 별로 별도의 파라미터 적용이 가능 # Socket 에서 보유하고 있는 기본 기능( KeepAlive 기능 )으로 설정된 시간 동안 데이터 송/수신이 없는 경우 socket 을 제거하고 연결 상태를 해제 시킨다. ( 리소스 삭제 ) > 기본 2시간 대기 > 비 정상 종료로 인해서 socket 을 사용하지 못하는 경우 ( 예외 처리 용 ) > LanCable 을 제거 했거나 통신 선로 상의 문제가 발생하는 경우 ( 예외 처리 용 ) # 소스 코드 ( CSocket 상속 받은 클래스 ) struct..
Visual Studio S/W 에서 확장팩을 설치 해야 한다. 1. GitHub Extension for Visual Studio 설치 2. VSIX 자동 설치 # Modify 선택 3. GitHub 가입 - ID, PW 생성 # Repository 를 확보하기 위한 작업 4. 기존 솔루션 GitHub 에 연결 # Visual Studio 오른쪽 하단에 "소스 제어에 추가" -> Git(G) 5. 팀 탐색기 - GitHub에 게시 6. 솔루션 명과 설명을 작성 # 소스를 공개할지? 비공개로 할지? check -> 게시 7. 동기화 진행 # Local 에 있는 데이터를 GitHub 로 전송/수신 하면서 데이터 동기화 진행한다.
# 병렬 컴퓨팅(parallel computing) 또는 병렬 연산 > 크고 복잡한 문제를 작게 나눠 동시에 해결하는 데에 주로 사용되며, 비트/명령어/데이터/작업 병렬 처리 방식 > 오래전부터 주로 고성능 연산에 이용되었으며, 최근 컴퓨터 이용에서 멀티 코어 프로세서 구조로 주목 받음 # 병렬 처리 컴퓨터들은 대체적으로 하드웨어의 병렬화 방법에 따라 분류 > 클러스터, MPP, 그리드 - 여러 컴퓨터에서 한 가지 작업을 하도록 설계 > 멀티 코어나 멀티 프로세서 컴퓨터 - 여러 개의 CPU 를 한 기기에 탑재 # OPENMP ( Open Multi-Processing ) > 반복문의 구문을 각각의 스레드로 동작하게 할 수 있게 해주는 특수한 라이브러리 > Visual Studio 에서 기본 기능으로 지..
1. 포인터 # 메모리 주소를 가지고 있는 변수 # new 키워드 사용 # & 연산자와 new 키워드에 return 값을 갖음 ( 주소 값 ) # 동일한 자료형을 물리적인 메모리 공간에 연속으로 할당 받아서 이용한다. # 구조체/클래스를 이용해서 생성한 Object의 주소를 의미한다. > int iDataValue = 100; > int *pPointer_INT = &iDataValue; > float fDataValue = 1234.f; > float *pPoint_FLOAT = &fDataValue; > struct STRUCTTestSampleData > { > bool a; int b; float c; > } > > STRUCTTestSampleData *pPointer_STRUCT = new S..
1. 반복문 - STL 연동 # 특정한 부분의 코드가 반복적으로 수행한다. # vector, map 과의 연동 방식 ( STL 자체 iterater 존재 ) # for, while, do while 키워드와 조건식만 다르고 { } 함수 안에 내용은 동일하다. > vector vecData; > unsigned int iSumValue; > for(size_t i=0; i { > iSumValue += vecData[i]; > } > map mapData; > unsigned int iSumValue; > for(size_t i=0; i { > iSumValue += vecData[i].second; > } > vec..
1. 문자열 # 문자 자료형을 묶어서 관리 하고자 함. # CString 키워드를 사용한다. # MFC 라이브러리에서는 두 가지 방법으로 대량 문자 집합을 지원 # Unicode (유니코드) - wchar_t 와이드 문자 및 utf-16으로 인코딩된 문자열 # MBCS (멀티 바이트 문자 집합) - char 단일/더블 바이트 문자 및 로캘별 문자 집합으로 인코딩된 문자열 > Microsoft는 MFC 유니코드 라이브러리를 권장 하고 있다. > CString oldString = _T("This is a test"); > CString newString = oldString; > CString s1 = _T("This "); > s1 += _T("is a "); > CString s2 = _T("test"..
1. 조건문 # 명시한 불린 자료형 조건이 참인지 거짓인지에 따라 달라지는 계산이나 상황을 수행한다. # if, if ~ else, switch case 키워드를 사용한다. # 조건이 참인지 거짓인지를 비교할때 "==" 이렇게 사용한다. # if ~ else 문 에서는 else 구문을 빠뜨리지 않도록 한다. # switch case 문 에서는 default 구문을 빠뜨리지 않도록 한다. > if( a == 1 ) { printf(_L("a 는 1입니다."); } > if( a == 1 ) { printf(_L("a 는 1입니다."); } > else if( a == 2 ) { printf(_L("a 는 2입니다."); } > else { printf(_L("a 는 1 또는 2가 아닙니다."); } > s..
PC 환경(Windows10, Windows10pro)에서 MFC 개발 환경(IDE)을 구성하기 위해서는 MS 에서 제공하는 Visual Studio S/W 를 설치 해야 한다. 1. Visual Studio 사이트 검색 2. Visual Studio 사이트 진입 3. Download Visual Studio - Community 2019 클릭 # Community 의 경우에는 학생, 오픈 소스 기여자 및 개인을 위해서 무료로 공개 되어 있다. # Professional 은 소규모 팀, Enterprise 은 대규모 팀을 위한 기업용으로 구독이 있는 경우 유용하다. 4. Visual Studio Installer 를 설치하고 개발 환경을 선택한다. # C++ 를 사용한 테스크톱 개발 5. 설치 끝! # ..
1. 프로그램 구조 # main() 가 반드시 포함되어 있어야 한다. # main() 을 진입하면서 프로그램이 시작하고 빠져나오면서 종료한다. 2. 변수 선언 및 종류 # 정수형, 실수형, 문자형으로 나뉜다. ㄱ. 정수형 # short - 부호 있는 2바이트 # int - 부호 있는 4바이트 정수(16비트 운영체제에선 int는 2바이트) # long - int와 같은 부호있는 4바이트 정수 # long long int - 부호 있는 8바이트 정수 ㄴ. 실수형 # float - 부호 있는 4바이트 (부동소수점 자료형) # double - 부호 있는 8바이트 (부동소수점 자료형 - float 의 2배) ㄷ. 문자형 # char - 부호 있는 1바이트 (문자를 담을수 있는 자료형) *** 부호없는 정수를 선언..
1. 프로그램 구조 # main() 가 반드시 포함되어 있어야 한다. # main() 을 진입하면서 프로그램이 시작하고 빠져나오면서 종료한다. 2. 변수 선언 및 종류 # 정수형, 실수형, 문자형으로 나뉜다. ㄱ. 정수형 # short - 부호 있는 2바이트 # int - 부호 있는 4바이트 정수(16비트 운영체제에선 int는 2바이트) # long - int와 같은 부호있는 4바이트 정수 # long long int - 부호 있는 8바이트 정수 ㄴ. 실수형 # float - 부호 있는 4바이트 (부동소수점 자료형) # double - 부호 있는 8바이트 (부동소수점 자료형 - float 의 2배) ㄷ. 문자형 # char - 부호 있는 1바이트 (문자를 담을수 있는 자료형) *** 부호없는 정수를 선언..
MFC(Microsoft Foundation Class Library)는 C++용 프로그램 라이브러리이다. 윈도용 응용 프로그램의 통합 개발 환경인 마이크로소프트 비주얼 C++에 부속되는 클래스 라이브러리이다. Visual Studio 5.0 ~ Visual Studio 19 까지 지속적으로 지원하고 있다. 1. Visual Studio 97 (5.0) 2. Visual Studio 6.0 3. Visual Studio.Net (2002) (7.0) 4. Visual Studio.Net 2003 (7.1) 5. Visual Studio 2005 (8.0) 6. Visual Studio 2008 (9.0) 7. Visual Studio 2010 (10.0) 8. Visual Studio 2012 (11.0..
비야네 스트롭스트룹(덴마크)은 1979년도에 C 컴파일러에 클래스, 상속 클래스, 스트롱 타이핑, 인라인 확장, 기본 인수를 포함한 여러 기능들을 추가한 “C with Classes” 를 만들기 시작하였다. 그리고 가상 함수, 함수 이름, 연산자 오버로딩, 참조, 제약조건, 메모리 할당 (new/delete), 개선된 자료형 검사 및 1줄 코멘트(//)를 포함한 새로운 기능들을 추가하면서 1983년에 “C++”로 변경하였다. C++ 프로그래밍 언어는 공식적으로 표준 문서가 없던 (1985년) 시기에 발표되면서 기준 문서가 되어 버렸다. C++ 프로그래밍 언어의 공식적인 표준 문서가 정해지기 시작하였다. 연도C++ 표준비공식 명칭1998년2003년2007년2011년2014년2017년2020년 ISO/IEC..
켄 톰슨과 데니스 리치가 벨 연구소에서 1972년도에 유닉스 운영 체제에서 사용하기 위해 개발한 프로그래밍 언어이다. 켄 톰슨은 BCPL(Basic Combined Programming Language)언어를 필요에 맞추어 개조해서 “B”언어(벨 연구소의 B를 따서)라 했고, 데니스 리치가 이것을 C 언어로 변경했다. 유닉스 시스템의 프로그램은 C로 작성되었고, 수많은 운영 체제의 커널이 C 기반으로 만들어졌다. C 프로그래밍 언어는 아래와 같이 성장하였다. 1963년 – ALGOL 60에서 CPL이 파생 1969년 – BCPL 개발 1970년 – B 언어 개발 1972년 – 벨 연구소 (Bell Laboratories) 에 있는 Dennis Ritchie가 B의 후속으로 C 개발 1983년 – 미국 국..