https://gall.dcinside.com/mgallery/board/view/?id=github&no=49214
옛날부터 궁금했던 c언어 의문점c언어에서 출력을 할 때 보통 printf나 puts를 쓰는데 이 함수들은 컴파일러에 내장된 게 아니고 다른 함수들처럼 stdio.h에 들어있는 거란 말이지 그렇다면 헤더파일을 선언하지 않고도 hello world를gall.dcinside.com예전에 작성하던 비공개된 내용에서 캡쳐해옴
어셈블리나 레지스터, elf 등의 내용은 생략함
참고로 epu는 어셈블러 번역과정에서 사라지는 값임
그냥 시스템콜 번호와 시스템콜 인수인 fd, *buf, count를 설정 후 콜하면 끝
세삼스레 C가 어셈 바로 위의 래퍼라는게 느껴지네 C++, Go, Rust도 다 비슷하게 동작하려나
안뜯어봐서 잘 모르는데 비슷하지 않을까요
그런 언어들은 결국 libc에 의존적일듯? POSIX write 래핑해서 쓸거같은데
이런거 잘 하면 먹고살 수 있나?? 재밌어 보이는데 취업은 해야되고...
저런거 배우면 깃허브 터줏대감 백수됨
결국 printf 쓰는거 아님?
시스템콜 쓰는 예제도 있습니다
printf 직접 구현하기 같은 경우 시스템 호출 만으로 짜야 됨.
직접 시스콜 때리는게 printf보다 더 로-레벨임
printf는 그냥 stdout에 write하는 거랑 내부 버퍼 쓰는 것 뿐임
unistd.h마저 안 쓸 수는 없음?