*본 글은 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 파일 등) 아래의 소스코드는 컴파일러를 통해 운영체제가 ..
centos vscode를 설치하려니 glibc 2.17을 요구합니다. 하지만 yum으로는 2.15까지만 설치가 되기에 수동으로 업데이트 해줘야합니다. 이를 위해 다음 명령어들을 \로 연달아 수행해줍니다. wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm \ wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm \ wget..
비주얼 스튜디오는 정말 많은 기능을 탑재하고 있습니다. 그중에서도 눈에 띄는 기능으로 원격 빌드가 있습니다. 기본적인 사용 방법은 다음과 같습니다. https://blogs.msdn.microsoft.com/vcblog/2017/04/11/linux-development-with-c-in-visual-studio/ 위 링크에서 제시된 순서대로만 따라한다면 큰 문제는 없을겁니다. 다만 리눅스 상에서 포트를 열어줘야 하고 공유기를 사용한다면 역시 포트포워드도 열어주어야 합니다. (버추얼머신으로 리눅스 사용하는 경우도 마찬가지 입니다. 저의 경우엔 라즈베리를 활용하여 리눅스 서버를 돌리고 있습니다) 위의 url에서는 기본적인 사용방법만 게재되어 있으며 몇가지 추가적인 기능들을 사용하기 위한 방법들을 안내합니다..
cent os 기준으로 설치하는 방법입니다. 우선 버전확인은 gcc -v로 확인가능합니다. 이전에 gcc를 yum으로 기존에 설치 하였다면 의존성 패키지들은 거의 설치되어 있을겁니다 yum build-essential으로 설치 하실 수도 있습니다. 위의 명령어들 대로 선행작업을 마치고 gcc configure를 함에도 의존성관련 오류가 뜬다면 http://stackoverflow.com/questions/9450394/how-to-install-gcc-piece-by-piece-with-gmp-mpfr-mpc-elf-without-shared-libra 위 링크에서 gmp 등의 의존성 패키지들을 설치하는 방법을 따라서 설치 후 다시 컴파일 해보세요.
- Total
- Today
- Yesterday
- cpp
- 중국
- compile
- 이루마
- kernerl
- Codejam
- 정규표현식
- STL
- C++
- 문자열
- 알고리즘
- 피아노
- Algorithm
- Spring
- 악보
- 코드잼
- 드럼
- C language
- 중국여행
- yiruma
- 여행
- printf
- regex
- 카카오 공채
- python
- link
- 사천
- linux
- Pointer
- peram jam
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |