흔히 쉽게 사용하는 디자인패턴 singleton 패턴과 객체의 복사를 방지하는 noncopyable전략. 이 두가지는 boost에서 이미 손쉽게 사용할 수 있도록 지원하고 있습니다. 우선 boost가 소스가 있어야 하며 링크되어 있어야합니다. linux 기준으로 boost는 apt를 이용하여 쉽게 설치가 가능하며 cmake에서 이를 바로 사용할 수 있도록 지원하고 있습니다. install : sudo apt-get install libboost-all-devcmake : https://gist.github.com/PuppyRush/59ae3c26ee4f68f76c0f5305b3a4526d 그런 후 소스상으로 다음과 같이 구현합니다. 이와같이 구현하면 무난하게 싱글턴을 구현해낼 수 있습니다. thread-..
*본 글은 https://www.programering.com/a/MjMycDMwATQ.html의 포스팅을 번역 한 뒤 직접 실험하여 부가설명을 제가 붙였습니다. 이상한 부분은 지적 부탁드리겠습니다. printf함수 호출 과정 추적하기 우리는 위의 과정들을 통해 printf(“Hello World\n”)가 puts 함수로 변환됐음을 알 수 있습니다. 또 우린 puts가 libc.a 에 포함되어 있음을 알 수 있었습니다. 그리고 elf 파일인 ioputs.o에 puts와 _IO_puts 가 저장됨을 알 수 있었습니다. 그럼 printf 의 call trace를 할 수 있을까요? 다시말해 printf 함수는 순서대로 어떻게 작동할까요? 마지막으로 리눅스에선 커널의 int 0x80번지(커널모드를 진입하기 위한..
*본 글은 https://www.programering.com/a/MjMycDMwATQ.html의 포스팅을 번역 한 뒤 직접 실험하여 부가설명을 제가 붙였습니다. 이상한 부분은 지적 부탁드리겠습니다. printf의 숨겨진 뒷 이야기. 프로그래밍 언어를 말할 때, C언어에서 아마도 제일 간단하고 많이 알려진 코드는 Hello World일 것 입니다. printf라는 간단한 함수는 그 자체로 완벽하며 명료합니다. 하지만 그 뒤에서는 무슨일이 일어나고 있을까요? 아마 대부분 사람들은 이를 신경쓰지 않을것입니다. 그래서 우린 이 뒷이야기를 한번 논의해 보려합니다. 빨간배경은 명령어 라인이며 파란배경은 소스 코드 혹은 코드의 산출물에 해당합니다.( o,as 파일 등) 아래의 소스코드는 컴파일러를 통해 운영체제가 ..
- Total
- Today
- Yesterday
- cpp
- C++
- peram jam
- 코드잼
- yiruma
- 여행
- python
- 피아노
- 문자열
- linux
- 정규표현식
- printf
- 카카오 공채
- 이루마
- Spring
- 드럼
- compile
- 사천
- 중국
- 중국여행
- regex
- kernerl
- 알고리즘
- 악보
- STL
- Algorithm
- Codejam
- Pointer
- C language
- link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |