가상 메모리란 운영체제가 물리적 메모리를 하나의 메모리 구조로 볼 수 있도록 해주는 것 가상 메모리가 없다면 "아! 이 변수는 캐쉬 36번지에 저장해야 할 텐데" "오! 이 연산 결과는 램 1024번지에 저장해야 하겠군" 가상 메모리가 있다면 "이 연산결과는 0x01240번지에 저장이 됩니다." 여기서 16진수로 표현된 주소 값 0x1240은 당연히 가상 메모리의 주소이다. 가상 메모리를 나누는 기준 코드 영역 : 실행할 프로그램의 코드를 올려 놓을 공간 데이터 영역 : 프로그램이 종료될 때까지 유지해야 할 데이터를 저장할 공간 (전역변수, static) 스택 영역 : 아주 잠깐 사용하고 삭제할 데이터의 저장공간 (지역변수, 매개변수가 저장 됨) 힙 영역 : 프로그래머가 원하는 방식으로 쓸 수 있는 공간..
핵심 C++에서 함수의 이름은 함수의 메모리 주소 그 자체를 가리킨다. 형식 : 리턴타입(* 객체이름)(매개변수타입 매개변수이름); 함수 포인터 변수 선언의 예 int FunctionA(int arg) { return 0; } int main() { int (* pFunction)(int); pFunction = FunctionA; pFunction(5); } 함수 포인터를 매개변수로 받는 함수의 예 int FunctionA(int (*pFunction)(int)) { pFunction(N); } 함수 포인터를 리턴하는 함수의 예 int (*Function(int nNum))(void) { return AddPorc; } int main() { int (*pFunction)(void); pFunction..
핵심 pragma는 컴파일러에게 그 뒤에 오는 내용에 따라 어떤일을 하라는 전처리 명령이다. pragma once 한번 컴파일 되면 더 이상 컴파일 하지 않는다. 여러개의 cpp파일이 있을때, 하나의 cpp파일이 수정되면, 그 파일만 컴파일하고 나머지는 하지 않는다 보통 .h파일의 최상단에 한번 언급한다. pragma comment(lib, "ws2_32") 컴파일 시 ws2_32.lib 파일을 링크하라는 명령. 보통 VS같은 IDE개발환경에서는 프로젝트 속성에서 해주는 경우가 있지만, 환경이 바뀔때를 대비해서 사용 pragma pack(n) 위에서, n의 값으로 1,2,4,8 등이 올 수 있으며 특히 네트워크통신쪽을 개발할때 구조체의 맴버들을 align할때 사용하는 것이다 상세 설명 : https://..
- Total
- Today
- Yesterday
- C
- Trouble shooting
- Lambda
- coordinate system
- bug
- rotator
- c++
- unrealengine
- 람다
- c++11
- UE4
- LambdaFunction
- double free
- 람다함수
- UE5
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |