2013-07-29 2 views
0

주 및 강력한 체크섬을 계산하는 알고리즘을 이해하기위한 소스 코드를 분석하고 있습니다. 소스 코드는 여기 (rSync 소스 코드) http://sourceforge.net/projects/librsync/입니다. librsync.h 헤더 파일에는 rs_mdfour()라는 메서드가 정의되어 있습니다. 하지만 그 방법의 구현을 찾을 수 없습니다. librsync.c라는 파일이 없기 때문입니다. 이 방법이 다른 곳에서 구현 되었습니까? 메서드 정의 :.h 파일이 있지만 .cpp 파일이 없습니다.

void rs_mdfour(unsigned char *out, void const *in, size_t); 

제발 누군가 도와주세요. 감사합니다.

답변

3

그것은 mdfour.c에 정의되어 줄 384

그냥 소스 코드를 다운로드, 그것을 풀었 터미널을 열고, 프로젝트의 디렉토리의 루트 디렉토리를 변경하고 실행 :

grep -r rs_mdfour * 

주 : 구현이 정의 된 헤더의 이름과 동일한 파일에 있어야한다고 규정하는 규칙은 없습니다. 컴파일러는 함수가 사용되기 전에 매번 정의를 볼 수 있고 모든 것이 함께 링크 될 때 구현자가 구현을 찾을 수있는 한, 정의와 마찬가지로 모든 파일에 구현이 가능합니다.

+0

감사합니다. u는 나의 날을 구했다. – Satthy

0

Visual Studio에서 오른쪽 클릭 -> 정의로 이동하십시오.

+0

감사합니다. QT 제작자를 사용합니다. 하지만 이제는 일반 편집기에서 소스 코드를 살펴 보겠습니다. – Satthy

+0

패키지에 포함 된 모든 파일에서이 메소드 서명을 검색 할 수 있습니다. 아무것도 찾지 못했다면 아마도 존재하지 않을 것입니다. \ – Oleksiy

+0

도움을 주셔서 감사합니다 – Satthy

관련 문제