Software 22

fmt 와 Variadic function 정리

fmt 는 format을 줄여서 표현한 부분이다. Formatted I/O with functions 이고 대표적으로 printf 와 scanf 가 있다. Variadic function이란 가변 함수란 의미이다. 정의가 되어 있는 않는 인수를 가지고 함수를 만들수 있다는 의미이다. printf 가 해당하는 함수 이다. A variadic function is a function of indefinite arguments or operands. C 언어에서는 stdarg.h header파일을 통해서 api를 사용할 수 있다. The stdarg.h is a header in the C standard library of the C programming language that allows function..

Sizeof()for struct and pointer with pack()  64bit system

64bit system을 사용하게 되면 기본적으로 알아야 하는 메모리 구조와 Struct 의 사이즈에 대해서 알아봤다. 64bit system에서 사용되는 메모리에 접근해서 처리하는 단위가 8byte 로 되어 있다고 보면 된다. 그래서 포인터의 사이즈를 읽어 보면 8byte로 되어 있다. 32 bit system (x86): 4byte 단위 64 bit system (x64): 8byte 단위 구조체에서는 멤버변수중에서 제일 큰 사이즈에 맞추어져서 패딩이 된다. 그래서 구조체의 사이즈를 읽어보면 패딩된 부분에 의해서 사이즈가 크게 읽히게 된다. 이렇게 시스템에서 한번에 읽기 좋은 구조로 패딩이 되면 빠른 처리가 되게 되지만 실제로는 메모리를 낭비하게 되고 각비트별로 값을 담아서 전달을 할때는 해당 값의 ..

C 프로그램 빌드 과정 정리

프로그램을 빌드하는데 4가지 단계 단계별 빌드 과정 #include int main(int argc, char **argv) { printf("Hello Main function\n"); return 0; } //main.c 파일 생성 //Processing 단계 main.i 파일을 생성 (-E 옵션: 전처리 과정의 결과 화면에 보여줌) ➜ 55_blog gcc -E main.c > main.i ➜ 55_blog ls main.c main.i //compiling 단계 main.s 파일 생성 (-S 옵션: 전처리된 파일을 어셈블리 파일로 컴파일까지 수행) ➜ 55_blog gcc -S main.i ➜ 55_blog ls main.c main.i main.s //Assembly 단계 as로 .s파일을 .o..

GNU make utility 기본 이해 (feat.makefile)

makefile 을 읽을 줄 알아야 프로젝트에서 코드를 컴파일 하고 실행파일을 만들수 . 최소한 읽을 줄 알고 자신만의 makefile을 정리해 두고 계속 사용하면 된다. Overview: GNU make - Richard Stallman, Roland McGrath 구현을 했다. Verisoin 3.76 이후는 Paul D.Smith 가 유지보수를 한다. - Make 유틸은 대형 프로젝트에서 재컴파일이 필요한 부분을 자동으로 결정을 해서 빌드를 해 준다. - makefile 은 make 를 호출 했을때 불려오게 되고 어떻게 컴파일을 하고 링크를 하는지 결정을 하게 된다. - Run and compile your programs more efficiently with this handy automatio..

Software/Dev Tools 2021.07.05