C/C++

Advanced Programming in the UNIX Env. Chapter 4 review

4. Files and Directories 4.1 Introduction 4.2 stat, fstat, and lstat Functions file의 statistics를 읽어온다. lstat으로 링크파일을 열면 링크가 가리키는 파일이 아닌 링크 자체의 struct stat을 가져옴. 4.3 File Types Reg / Dir / Blk / Chr / FIFO / Sock / Lnk 가 있다. 과 같은 macro를 이용해서 type을…

‘offsetof’ macro

가 필요하다. 는 type에 해당하는 structure의 시작으로부터 해당 member까지의 offset을 구해준다. 이것을 이용해서 받은 인자가 속한 structure의 instance(정확한 표현은 아닌 것 같지만)를 쉽게 알아낼 수 있다. 예를 들어, boo에게는 str_a에 대한 정보가 주어지지 않았지만 str_a에 있는 다른 변수들에 접근할 수 있게 된다.

Define variables in header

Header file에 variable을 define하는 것은 최대한 피해야 하지만 어쩔 수 없을 때가 있다. 각 source파일들을 컴파일 할 때에는 에러가 나지 않지만 여러개의 object file을 합칠 때에는 중복선언에 의한 error가 날 수 있다. 이것을 피하기 위해서는 이와 같이 하면 된다.   ps. 이와 같은 트릭을 사용할 경우에 헤더파일을 다른 헤더피일 안에…