Liemani

blog

홈으로

ssize_t 에 대해서 알아보자

January 28, 2021

환경

알아보자

gcc 명령어를 사용할 때 -H 옵션을 주게 되면 컴파일 대상이 되는 파일에 include 되는 파일들의 목록을 출력할 수 있다. 이 때 출력되는 목록은 stdout 이 아닌 stderr 로 출력되기 때문에 2> 를 사용하여 파일에 담아 원하는 파일을 쉽게 검색해볼 수 있다

% gcc -H main.c
. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/errno.h
.. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/errno.h
... /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h
.... /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_symbol_aliasing.h
.... /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_posix_availability.h
... /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_errno_t.h
% gcc -H main.c 2> result.txt
%
// include/sys/_types/_ssize_t.h
typedef __darwin_ssize_t        ssize_t;
// include/arm/_types.h
typedef long                    __darwin_ssize_t;       /* byte count or error */
// include/i386/_types.h
typedef long                    __darwin_ssize_t;       /* byte count or error */