전체 글 494

[tmux] 1. tmux 개념 및 설치 및 설정 변경 ~/.tmux.conf

tmux 란? - 개발시 화면을 전환 및 분활을 쉽게하여 개발을 편하게 해주는 도구 입니다. - 세션 기반의 프로램으로써 background로 프로그램을 동작 시키고 다른 것을 할수 있게 해줍니다. tmux 버전 - tmux.32tmux next-3.2 설치 1. CentOS Linux release 7.6.1810 (Core) 기준 #git clone https://github.com/tmux/tmux.git #cd tmux #./autogen.sh * 연관 라이브러리 설치 - 대체로 libevent-devel 과 ncurses-devel 이 없어 미리 설치 #yum -y install libevent-devel #yum install ncurses-devel #./configure - 없는 라이브러 ..

[C++ 개발자되기] 18. std::vector 기본 사용법

1. Vector 란? - 동적으로 확장/축소가 가능한 동적 배열(dynamic array)로 구현되어 있습니다. 2. Vector 메모리 구현 방식 - 일반적인 배열처럼 개체들을 연속적인 메모리 공간에 저장 합니다. 3. Vector 접근 방식 - iterator 를 통한 접근이 가능 합니다. - position index(operator [])로도 접근이 가능 합니다. 4. Vector Heder #include 5. Vector method 1) 생성자 method std::vector v1; empty vector 생성 std::vector v2(4, 100); size 4에 초기값 100으로 vector 생성 std::vector v3(v2.begin(), v2.end()); iterator를 ..

ProgrammingLang/c++ 2020.03.27

[C++ 개발자되기] 17. std::cout 출력 포맷 변경 iomanip

>>[C++ 관련 모든 글 보기] 1. std::cout 출력 포맷 변경 방법 c++ 에서는 iomanip에서 제공하는 함수를 사용하여 포맷을 변경 할 수 있습니니다. iomanip는 Input Output Manipmanipulation이라르 뜻 입니다. 2. 필요 헤더 #include 3. 사용법 - std::cout 에 포맷을 먼저 세팅 합니다. 그 후 표현할 정보를 입력 합니다. - 다음 코드에서 std::hex 로 표현 할 포맷을 세팅 합니다. std::cout

ProgrammingLang/c++ 2020.03.18

[C++ 개발자되기] 16. smart pointer

개요 c++에서의 smart-pointer가 무엇인지 살펴본다. Smart pointer란? - 포인터처럼 동작하는 클래스 템플릿으로, 사용이 끝난 메모리를 자동으로 해제해 줍니다. 사용 방식 생성 - smart_pointer에 자료 형을 동적 할당 소멸 - 클래스 이기때문에 사용이 끝나면 소멸자가 알아서 메모리 해제하고 사라짐 Ex) - smart_pointer sp = new int(5); Smart pointer 좋은점 개발하다 보면 메모리 할당 후 까먹는 경우가 매우 많다 그러나 smart pointer를 사용하면 이런 걱정을 안해도된다. , 다만 해제된 smart pointer 사용하는 헤프닝이 발생할 수는 있다. Smart pointer 종류 및 핵심 개념 1. unique_ptr - uniq..

ProgrammingLang/c++ 2020.02.24

[C++ 개발자되기] 14. millisecond시간 구하기

>>[C++ 관련 모든 글 보기] 1. 목표 millisecond단위 까지 시간 구하기, 사용하는 함수는 C함수 입니다. 2. 필요 헤더 1) #include - localtime_r() 사용을 위해 필요 - ftime() 에서 필요 - strftime() 에서 필요 2) #include - struct timeb 에서 필요로함 3. 필요 함수 1) void ftime(struct *timeb); - millisecond 까지 시간을 구하는 함수 2) struct tm *localtime_r(const time_t *timep, struct tm *result); - 지역 시간을 구하는 함수 4. 구조체 정보 1) struct tm #include // C++ 에서는 struct tm { int tm_s..

ProgrammingLang/c++ 2020.02.02

[Multi thread] Multi thread 에서 localtime 문제

1. 목표 multi thread에서 시간을 관리하는 방법을 알아 보겠습니다. 꼭 C++에 만 해당되는 내용은 아닙니다. C library를 사용한다면 발생 합니다. 2. multi thread에서의 시간 함수 사용시 주의해야 할 사항 multi thread 환경에서 gmtime() 함수와 localtime() 함수를 같이 사용하면 시간 값에서 충돌이 발생 합니다. 왜냐하면 내부적으로 gmtime과 localtime는 같은 시간 변수를 공유 하기 때문에 문제가 발생 합니다. 이걸 방지 하기위해서 C Library에서는gtime_r() 과 localtime_r()을 제공 합니다. 이 함수들은 내부적으로 "시간 변수" 서로 유 하지 않습니다. 1) 증명 (1) 코드 #include #include int m..

[ELF] 3. ELF header 분석

1. ELF Header의 역활 이 파일에 대한 메타 정보를 제공하는 역활을 합니다. 2. ELF Header의 파일에서의 위치 파일의 offset 0에 위치 합니다. 3. ELF를 구성하는구조체에 대하여 알아야 할 사항 [ 원문 ] All data structures that the file format defines follow the "natural" size and alignment guidelines for the relevant class. If necessary, data structures contain explicit padding to ensure 4-byte alignment for 4-byte objects, to force structure sizes to a multiple of..

[ELF] 2. ELF Format의 분석 하기 위해 알아야 할 사전 지식

1. 자료형 - ELF Format에서 자료형을 재정의해서 사용하기 때문에 자료 형을 알아야 합니다. - 해당 자료형은 man elf에 존재합니다. 2. ELF Format 구조 설명 [ 원문 ] The header file defines the format of ELF executable binary files. Amongst these files are normal executable files, relocatable object files, core files and shared libraries. An executable file using the ELF file format consists of an ELF header, followed by a program header table or a s..