VisualStudio.C++.C# ( 316 ) 문자열 복사. _tcscpy_s, strcpy_s, wcscpy_s, _mbscpy_s _tcscpy_s, strcpy_s, wcscpy_s, _mbscpy_s Copies a string. These versions of strcpy, wcscpy, _mbscpy have security enhancements, as described in CRT의 보안 기능. _mbscpy_s cannot be used in applications that execute in the Windows Runtime. For more information, see CRT functions not supported with /ZW. 구문복사 errno_t strcpy_s( char *strDestination, size_t numberOfElements, const char *strSource ); errno.. 2016. 1. 18. Window Types. Window TypesThis section contains the following topics that describe window types.Overlapped WindowsPop-up WindowsChild WindowsLayered WindowsMessage-Only WindowsOverlapped WindowsAn overlapped window is a top-level window that has a title bar, border, and client area; it is meant to serve as an application's main window. It can also have a window menu, minimize and maximize buttons, and scroll .. 2016. 1. 17. C++ std::thread 클래스 이용한 스레드. 클래스멤버함수를 스레드로 실행시키는 방법. 개요 std::thread 클래스 개요및 스레드 생성 코드 예, 클래스 멤버함수를 스레드로 실행시키는 방법 . C++11부터 std::thread 클래스 로 스레드 생성 가능하며, VC++ (Visual Studio 2012 이후 )에서도 사용가능하다. VC++에서 통상적인 스레드 생성하는 AfxBeginThread 방식(상세보기 -> http://igotit.tistory.com/211 ) 보다 많이 편하다. 헤더 : thread 클래스 프로그램내의 스레드 생성 관리. 설명 You can use a thread object to observe and manage a thread of execution within an application.A thread object that's created by u.. 2016. 1. 16. MFC 프로그래스 컨트롤 사용하기. Progress Control 1. 도구상자에서 "Progress Control" 선택하여 배치한다. 2. 상기1의 배치된 프로그래스 컨트롤의 속성에서 ID 설정한다. 혹은 기본 자동 생성ID 그대로 둬도 된다. 3. 클래스 위저드 실행하여 멤버변수 지정. 예. m_PgrsQBufDelayTime 4. 프로그래스 컨트롤 초기화. - 표현할 최소, 최대값 지정. 예. m_PgrsQBufDelayTime.SetRange(0,2000); 5. 프로그래스에 값표현. 값읽기.값 표현. m_PgrsQBufDelayTime.SetPos(100); // 100의 위치까지 바표현됨. 값 읽기. m_PgrsQBufDelayTime.GetPos(); // 함수 반환값으로 현재 위치 반환됨. 바 색상지정 함수 : SetBar.. 2016. 1. 16. Chart Director for C++ 개요, 설치. 설정. 개요 ChartDirector 는 개발중 프로그램에서 챠트기능을 구현할 수 있게 해주는 컴포넌트이며 거의 모든 언어 지원된다.지원언어 : C++, .net, ASP/COM/VB, JSP/Java, ColdFusion, PHP, Perl, Python, Ruby. 그릴수 있는 챠트종류 : Pie,XY,3D Surface, 3D Scatter, Polar/Radar, Pyramids/Cones/Funnels, Meter/Gauage. Chart Director는 각 언어별로 배포파일이 따로 제공되고 있다. 자유롭게 다운로드 받을 수 있고, 기간/기능 제한 없음. ChartDirector 도입한 응용프로그램이 상용인 경우 라이센스 구입해야함. 본 글에서 아래 3개 내용 정리된다.1. C++ 용 Char.. 2016. 1. 15. MFC 체크박스 사용하기. MFC 체크박스 1. 도구상자에서 체크박스 드래그드롭으로 배치. 2. 속성 : ID 기록 혹은 기본 생성값 그대로. 3. 체크박스의 멤버변수 추가.클래스위저드(ctrl shift x) -> 탭 멤버변수 -> 컨트롤 아이디 상기 2인 것을 클릭하여, 변수이름 기록하고, 4. 코드에서 체크박스의 상태 읽기 함수. m_CheckMarketDataView.GetCheck() ; 반환값 1이면, 체크 상태. 0이면 체크아닌 상태. 5. 코드에서 체크박스 상태 설정함수. m_CheckMarketDataView.SetCheck(1 혹은 0); //1이면 체크상태로 설정한다. 0이면 체크안된 상태로 설정한다. 본 글이 포함된 상위 정리 장소. Visual Studio/VC++/C/C# 활용정리 -> http:.. 2016. 1. 15. Thread Safety (스레드 안전) Interlocked. 함수들. 개요 Interlocked 류 함수들은 멀티스레드 환경에서 long 타입, 포인터타입의 공유변수들의 단순한 처리(+1, -1,더하기, 대입, 비교대입) 에 있어서 함수 자체에서 스레드 안전을 보장한다. Interlocked 함수들의 내부처리는 Atomic Operation 으로 이뤄지며, Atomic Operation이 "interrupt 당하지 않는(같은 말 : 컨텍스트 전환 이 생기지 않는) 처리 "이므로 함수처리 완료시까지 다른 스레드의 침범을 받지 않게됨. 코드예를 보면, 아래 예1의 비안전 코드를 예2처럼 InterlockedIncrement 라는 함수 사용하는것 만으로도 전역변수 gCount 는 thread safety 해진다. 비교 : 아래 gCount++; 구간을 크리티컬 섹션(상세보기->.. 2016. 1. 12. Thread Local Storage(스레드 로컬 스토리지) 개요. TLS (Thread Local Storage)는 각 스레드마다 유일하게 할당된 메모리 블럭인 "스레드컨트롤블럭(Thread Control Block)" 에 위치하며, 다른 스레드와 공유되지 않는 영역. 설명. 프로세스와 스레드 의 공유자원 일반. 프로세스 내의 스레드 들은 프로세스의 자원(주소공간, 파일핸들, 전역변수, 정적변수, 힙등)을 "공유"한다. 즉, 스레드 내의 지역변수를 제외한 힙, 전역변수,정적변수는 다른 모든 스레드 에서 접근 가능하다. TLS 이용한 경우, 스레드에서 TLS영역에 정의된 데이터는 다른 스레드와 공유되지 않는다. TLS 사용방식 2가지. 방식1. 키워드 __declspec ( thread) 이용하여 변수선언. 아래처럼 선언하고 코드에서 일반변수 사용하듯이 그냥 사용.. 2016. 1. 12. Windows 10 SDK 설치. Windows Software Development Kit for Windows 10. 개요. Windows 10 SDK 설치법 정리. 정식명칭 : Windows Software Development Kit for Windows 10. 필요성.- DirectX 12 개발 비롯한 기타 제공 기능 활용시.- 기타 Windows 10 SDK에서 지원되는 사항은 아래 주소 의 개요 설명글 참조하면 됨. Windows 10 SDK 개요 설명 및 설치파일 입수처 : https://dev.windows.com/ko-kr/downloads/windows-10-sdk 설치 Windows 10 SDK 사이트 https://dev.windows.com/ko-kr/downloads/windows-10-sdk 에서 버튼 "SDK 다운로드" 클릭 (아래 그림) 다운로드 받은 파일 실행. 하면 아래 그림같은 창이 뜨.. 2016. 1. 6. C++. 함수 인자로 포인터 전달하고 함수내에서 동적 메모리 할당 받기 2가지 방식. ** *& 문제 정의 통상적인 동적 메모리 할당은 아래와 같다. CMyClass * p_myclass = new CMyClass(); 그런데, 위와 달리 포인터변수 선언만 하고, 동적할당은 별도의 함수에서 하고 싶다고 하자. 즉, 아래 코드구조처럼 함수 function의 인자로 p_myclass 를 전달하여 function p_myclass 를 동적할당 받고 싶다. CMyClass * p_myclass; // 포인터변수 p_myclass 선언만 했다. function(p_myclass); // 이 함수호출하고 나면 p_myclass 동적할당 되게 하려함. 흔히 하게 되는 틀린 코드 사례. CMyClass * p_myclass; function(p_myclass); function(CMyClass * p_myclas.. 2016. 1. 4. MFC Collection Class. CArray, CList, CMap, ... The Template-Based Collection ClassesThe easiest way to implement a type-safe collection that contains objects of any type is to use one of the MFC template-based classes. For examples of these classes, see the MFC sample COLLECT.The following table lists the MFC template-based collection classes.Collection Template ClassesCollection contentsArraysListsMapsCollections of objects of any typeCArra.. 2016. 1. 4. ATL Collection Classes from MSDN. Visual Studio 2015 ATL provides many classes for storing and accessing data. Which class you decide to use depends on several factors, including: The amount of data to be stored Efficiency versus performance in accessing the data The ability to access the data by index or by key How the data is ordered Personal preference Small Collection Classes ATL provides the following array class.. 2015. 12. 28. C++. 파생 클래스에서 베이스 클래스의 인자 있는 생성자 실행되게 처리법 개요. C++ 에서 상속관계에 있는 "베이스 클래스 - 파생클래스" 에서 파생클래스 측에서의 생성자 처리법 정리. 요구사항. 1. 베이스 클래스에 인자있는 생성자만 정의해뒀다. 2. 파생클래스에도 인자있는 생성자가 정의되어있다. 2. 파생클래스 개체 생성시 상기1의 베이스클래스의 인자있는 생성자 호출되게 하고 싶다. 2가지 방법 가능. 방법1. 파생클래스에 인자있는 생성자의 선언 및 정의시 베이스클래스의 생성자 명시적 실행되도록 한다. 방법2. 파생클래스에는 별도의 생성자 만들지 않고 베이스클래스의 생성자를 상속받아서 사용한다. 방법2가 더 간단함. 방법1. // 베이스 클래스에 인자있는 생성자를 정의하였다. class CBase { public: CBase(int a); // 베이스 클래스의 인자 있는.. 2015. 12. 28. C++. 클래스 생성자 관련 기초 지식. - 디폴트 생성자/복사생성자/디폴트복사생성자/Shallow Copy/Deep Copy 등. 개요. C++ 클래스 생성자 기초지식. C++ 클래스의 생성자 관련 기초 지식들 정리. 1. 클래스의 디폴트 생성자. 2. 클래스의 복사 생성자. 3. 디폴트 복사 생성자는 shallow copy 수행함. Deep Copy 원하면 복사생성자 명시적으로 정의하고 복사생성자 내에 값복사코드 추가할것. 클래스의 디폴트 생성자. 1. 컴파일 과정에서 자동으로 추가되는 생성자 를 디폴트 생성자라 한다. 디폴트 생성자는 인자없고 디폴트생성자 내에서 처리하는것도 없다. 2. 코드 작성시 클래스에 생성자를 구현하지 않은 경우, 컴파일 단계에서 클래스에 디폴트 생성자가 자동삽입되고 클래스 개체 생성시 디폴트 생성자가 실행된다. 참고 : 소멸자를 명시적으로 정의하지 않은 경우에도 컴파일 단계에서 자동으로 디폴트 소멸자가 .. 2015. 12. 28. VC++ 프로젝트에 MFC CObject 파생클래스 추가하기.예: CyFinAPI프로젝트에 CCyItem 클래스 추가. 개요. VC++ 프로젝트에 MFC CObject 를 베이스로 하는 클래스 추가하기. 예 : CyFinAPI(MFC regular DLL) 프로젝트에 CCyItem 이라는 클래스를 CObject 를 베이스로 하여 생성. CObject 를 베이스 클래스로 하는 이유. CObject 에서 제공하는 기능활용하기 위함. 특히 파일저장 강력한 함수인 Serialize 등 활용. serialize 적용위한 클래스 필수 필수 요건. - 베이스 클래스 CObject 포함.- 디폴트 생성자 필수 - 클래스 선언에 DECLARE_SERIAL(클래스명) 매크로 기록. 동시에 클래스 정의파일에 IMPLEMENT_SERIAL(,,,) 기록.- CObject 의 virtual 함수인 Serialize() 오버라이드 하고 구현. 방.. 2015. 12. 26. 정수형 signed, unsigned 8, 16, 32, 64비트별 값 표현 범위. 정수 자료형. signed값 범위. 문자열 표현시 문자수.음수 부호표현 포함. int8_t -128 ~ 1274 int16_t -32,768 ~ 32,7676 int32_t -2,147,483,648 ~ 2,147,483,64711 int64_t -9,223,372,036,854,775,808 ~9,223,372,036,854,775,807 21 정수 자료형. unsigned값 범위. 문자열 표현시 문자수. uint8_t 0~255 (중심값 : 128)3 uint16_t 0 ~ 65535 (중심값: 32768)5 uint32_t 0 ~ 429496729510 uint64_t 0 ~ 18446744073709551615 20 본 글이 포함된 상위 정리 장소. Visual Studio/VC++/.. 2015. 12. 24. char*, const char*, char* const char* v; v는 문자, 문자열이 저장된 메모리의 첫주소를 저장할 수 있는 포인터변수. char* v = "문자열상수1"; 초기화 했어도 코드중에 언제든 변경가능. v="문자열상수2"; v="문자열상수3"; 등등. 모두 가능. const char * v; v는 문자열이 저장된 메모리의 첫주소를 저장할 수 있는 포인터변수, 금지되는것 : v 주소 메모리의 내용 변경불가. 즉, v는 "상수문자열" 의 포인트변수라는 의미. 한편, const 의 대상이 v 자체가 아니므로 v가 가리키는 주소는 변경가능함. 예를들면, const char* v = "난 문자열 상수1이다"; 로 초기화 했어도, 코드상에서 아래 처럼 다른 문자열의 메모리 주소를 대입가능하다는 말. v = "난 문자열 상수2임."; 가능함. v에 .. 2015. 12. 23. 문자열을 숫자로. atoi, _atoi_l, _wtoi, _wtoi_l,atol, _atol_l, _wtol, _wtol_l, atof, _atof_l, _wtof, _wtof_l atoi, _atoi_l, _wtoi, _wtoi_l Visual Studio 2015 Convert a string to integer. 구문복사 int atoi( const char *str ); int _wtoi( const wchar_t *str ); int _atoi_l( const char *str, _locale_t locale ); int _wtoi_l( const wchar_t *str, _locale_t locale ); 매개 변수strString to be converted. localeLocale to use. 반환 값Each function returns the int value produced by interpreting the input characters as a number.. 2015. 12. 23. 이전 1 ··· 12 13 14 15 16 17 18 다음