#define 으로 정의되어 있는것들의 목록..

thisnome의 이미지

gcc로 소스를 컴파일 하다보면 소스안에 제가 추가한 #define 으로 정의된 것 외에도 각정 library에 끼워져 들어오는 것들이 정말 많은데요.. 어떤것들이 정의되어 있는지 모두 확인 할 수 있는 방법이 있나요?

nthroot의 이미지

man ldd

------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.

thisnome의 이미지

nthroot wrote:
man ldd

ldd는 라이브러리 의존성을 알아보는 명령으로 알고 잇는데, "#define" 으로 정의된 것들도 출력되나요?

tifler의 이미지

ctags를 이용하면 다음과 같이 알 수 있습니다.

ctags -Rf- | grep d$ | cut -f 1-3 > defined_symbol

/***********************
* while(1) sleep(INFINITE);
***********************/

Necromancer의 이미지

nthroot wrote:
man ldd

#define문은 컴파일전 프리프로세싱과정에서 다 없어집니다.

#define 찾아보고 싶다면 해당 라이브러리 헤더파일 뒤지거나 grep 할
수밖에 없을 듯.

Written By the Black Knight of Destruction