본문 바로가기

CS연구소👨‍💻/C++

(4)
[C++] WCHAR, TCHAR, cstring 정리 이런 것에 대한 정보를 담고 있다WCHAR과 TCHAR이 무엇인지가변길이 문자열 vs 고정 길이 문자열cstring string의 차이WCHAR 문자열 만드는법.이런 것에 대한 정보는 담겨있지 않다1. WCHAR과 TCHAR이 무엇인지우선 WCHAR은 wind-character 이라고 하는 문자이다. 일반적으로 문자는 1바이트라고 배운다. 0부터 127까지의 비트로 문자를 구분해놓은 아스키(ASCII)가 대표적인 1바이트 문자이다. 그럼 당연히 wide string이라는건 2바이트 이상의 문자열을 의미하겠다 라고 생각할 수 있다.그렇다면 TCHAR은 무엇일까 TCHAR은 1바이트 문자 CHAR과 2바이트 문자 WCHAR을 통일해서 쓰기 위해 만들어졌다. 유니코드를 사용하는 경우 TCHAR은 2바이트 문자..
[C++] C++로 응용 프로그램 만들기, DLL과 LIB차이, CMAKE로 DLL 생성 이런 것에 대한 정보를 담고 있다C++ 프로그래밍 언어에서 실행 가능한 파일을 만드는 법lib파일과 dll파일의 차이점dll파일을 만드는 방법dll파일을 로드하는 방법중 하나이런 것에 대한 정보는 담겨있지 않다dll파일을 로드하는 방법중 나머지 방법들C++ 언어에서 실행 가능한 파일을 만드는 법은 컴파일러를 이용하는 법과 CMAKE를 이용하는 법 두가지가 있다.1.1 CMake를 사용하지 않고 실행 가능한 파일을 만드는 법clang++ -std=c++17 -I/usr/local/include-L/usr/local/lib -lboost_system -lboost_thread websocket.cpp -o websocket1.2 CMake를 통해 C++ 프로그래밍 언어에서 실행 가능한 파일을 만드는 법 : ..
[C++] 포인터, 참조 포인터는 C하면 가장 큰 특징으로 생각되는 용어다. 그만큼 질문도 많고 내용도 많다. 그러다보니 겉핥기만 허게되기 십상이다.우선 내가 여태까지 생각하던 포인터는 무엇인지 생각해 봤다.포인터는 데이터가 저장된 메모리를 가리키는 데이터인가포인터는 어떤 의미에선 참조와 비슷한 역할을 한다. 참조 역시 데이터가 저장된 메모리의 정보를 가지고 있다. 이렇게 되면 참조는 포인터와 대조군이다 그럼 참조랑 포인터는 정확히 뭐가 다를까.일단 내가 아는바에 따르면 참조는 선언과 초기화가 동시에 일어나며 한번 초기화하면 다시 초기화 할 수 없다.반면 포인터는 한번 변수를 초기화하고 다시 초기화 할 수 있으며 null값을 가질 수도 있다. G쌤한테 이걸 물어도 크게 틀렸다고 말하진 않았다. 그래도 궁금한건 왜 그런가였다. 아..
[C++] RTTI 한 개의 개념을 이해하기 위해선 절대적인 정의가 중요한게 아니라 상대적인 관계 속 위치가 중요하다.RTTI의 정의아예 RTTI에 대해서 아예 몰랐을 때 이렇게 정의해봤다RTTI는 실행시간에 일어나는 타입 결정자다. G쌤은 이 말에 대해서 틀렸다고 한다RTTI(Run-Time Type Information)는 "타입 결정자"라고 부르기보다는 "타입 식별자"나 "타입 정보 제공자"에 더 가깝습니다. "타입 결정자"라는 표현은 변수나 객체의 타입을 선언하거나 초기화할 때 사용되는 개념과 혼동될 수 있습니다. 예를 들어, 프로그램 코드에서 변수를 선언할 때 사용하는 타입(int, float 등)은 그 변수의 타입을 "결정"합니다.반면, RTTI는 프로그램이 실행 중일 때 객체의 타입 정보를 조회하거나, 객체 간..