전체 글 497

[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..

[ELF] 1. ELF 란?

1. 전체 목차 1. ELF 란? 2. ELF Format의 분석 하기 위해 알아야 할 사전 지식 3. ELF header 분석 2. ELF 란 무엇인가?? 리눅스에서 실행 가능(Executable)하고 링크 가능(Linkable)한 File의 Format을 ELF(Executable and Linkable Format) 라고 합니다. ELF 구조를 알면 파일변조 해킹이 가능 할까??? (이게 공부의 최종 목표) 3. ELF의 File Format 의 구조 - 출처 https://ko.wikipedia.org/wiki/ELF_%ED%8C%8C%EC%9D%BC_%ED%98%95%EC%8B%9D 4. ELF 구조의 상세 설명 - linux의 man page를 보면 상세 하게나와 있으며 앞으로 이를 번역 하면..

[AI] 1. AI , Machine Learning, Deep Learning 개념.

우선 저는 AI에 A 짜도 모르기에 지금부터 공부 차원에서 포스팅을 진행합니다. 1. AI(artificial Intelligence)의 사전 적인 의미 인공지능은 인간이 지닌 지적 능력의 일부 또는 전체를 인공적으로 구현한 것이다. 2. AI(artificial Intelligence)의 현주소(사람을 위협하는가?) 저와 같은 AI의 A짜로 모르는 사람은 AI는 인간처럼 사고하고 행동하는 것이 다 되는 건 줄 알고 있는 사람도 있을 겁니다. 그러나 제가 느낀 AI의 현주소는 하나만 많이 잘하는 사람이라고 생각합니다. 왜 이렇게 생각하냐면, 실제로 우리 주변에서 AI다 라고 소개하는 것은 딱 한 가지의 일밖에 하지 못하기 때문입니다. 예를 들면 사람 얼굴 인식하기, 알파고처럼 바둑만 잘하기 정도입니다. ..

[3D printer]- TMC 2209의 VRef(Voltage Reference)설정

1. VRef(Voltage Reference) 란 무엇인가?? 한글로는 기준 전압으로 표기됩니다. 그리고 motor driver에서 용도는 VRef를 조정하여 모터 드라이버에서 모터로 공급될 수 있는 전류의 한계치(current limit) 를 조정합니다. VRef의 조절 방법은 Motor driver의 Voltage on Vref pin 통해서 조절 가능합니다. * 용어 단위 - VRef의 단위 : V (Voltage) - 전류(Current)의 단위 : A (ampere) , (1A = 1000mA) 2. VRef를 왜 조정해야 하는가? motor에서 허용하는 전류 이상을 공급하게 되면 모터는 망가지고 발열이 발생하기 때문에 조절이 필요합니다. 3. VRef를 조정하기 위해 알아야 할 정보 1) M..

[C++ 개발자되기] 12. text file read 및 write

>>[C++ 관련 모든 글 보기] 1. 목표 text파일을 c++ style로 Read 및 Write하기 2. 필요 헤더 1) Read / Write - #include 2. 사용 하는 class 1) Read 할 떄 - std::ifstream("파일명" , "옵션") 2) Write 할 때 - std::ofstream("파일명" , "옵션") * 옵션 번호 옵션 설명 1 없음 기본 모드, 텍스트 모드 2 std::ios::banary 2진모드로 파일열기 * 참조 : [C++ 개발자되기] 8. binary file write 및 read 3 std::ios::app 파일의 끝에 추가한다 4 std::ios::ate 처음엔 파일의 끝에 추가되지만 그다음부턴 현재 위치에 추가된다 5 std::ios::in..

ProgrammingLang/c++ 2019.12.05

[C++ 개발자되기] 11. multi thread를 위한 lock 사용법

>>[C++ 관련 모든 글 보기] 1. lock 이란? multi Thread간의 동기화를 맞추기 위해서 사용하는 개념입니다. 이를 구현해 놓은 것이 c/c++에서는 mutex와 lock_guid 입니다. 2. lock은 꼭 필요 한가? multi thread 프로그램에서는 lock이 없다면 thead간 공유 데이터의 값이 엉망이 됩니다. 3. lock의 종류 1) mutex - c에서 부터 사용하던 lock 입니다. 2) lock_guard - mutex를 보다 안전 적으로 사용할 수 있게 제공되는 class 입니다. 4. lock 사용법 1) 기본 lock 사용자가 원하는 위치에서 lock을 걸고, 해제할 수 있습니다. int count(int n) { mutex.lock(); if( n < 10 )..

ProgrammingLang/c++ 2019.12.04