2017-10-31 9 views
1

glibc에서 memcmp 함수를 구현하면 unsigned int 정수 두 개를 비교하기 위해 DBLALIGN 매크로 (예 : DBLALIG (a3, a0, srcli))를 사용합니다. DBLALIGN은 다음과 같이 처리됩니다. 그러나 __insn_dword_align의 정의는 glibc 소스 코드에서 찾을 수 없습니다. 어디에서 찾을 수 있습니까? 고맙습니다!glibc 소스 코드 프로젝트의 memcmp.c에있는 매크로 __insn_dword_align의 정의는 어디에서 찾을 수 있습니까?

#ifdef __tilegx__ 
#define DBLALIGN __insn_dblalign 
#define REVBYTES __insn_revbytes 
#else 
#define DBLALIGN __insn_dword_align 
#define REVBYTES __insn_bytex 
#endif 

답변

0

gcc가 내장되어 있습니다. 예 : here.

나는 당신은 어떤 내장에 대한 정의를 찾을 것입니다 정의

를 찾을 수 없습니다. 이것이 "내장"이 의미하는 것입니다 : 컴파일러는 내장 함수를 이름으로 인식하고 어셈블리에 필요한 명령어를 직접 내 보냅니다.

+0

나는 당신의 연결에서 그것을 발견한다. 그러나 __insn_dword_align의 정의를 찾을 수 없습니다. 내가 gcc 4.4.7 소스 코드를 다운로드하고 __insn_dword_align의 정의를 검색하면 이벤트가 발생합니다. 내장 함수가 어셈블리 언어로 구현되어 있습니까? 나는 매크로의 마지막 구현을 원한다. 그리고 어떻게해야합니까? 고마워. –

+0

@ B.Frank 답변을 업데이트했습니다. –