1

sphlib で SHA-512 実装を抽出してコンパイルしようとしています。問題はこの部分です:

void
sph_sha512_close(void *cc, void *dst)
{
    sha384_close(cc, dst, 8);
    sph_sha512_init(cc);
}

私は一生、sha384_close定義されている場所を見つけることができません。実際、プロジェクト全体を検索しても、定義や宣言はまったく表示されません。

この関数が定義されている場所を知っている人はいますか?

4

1 に答える 1

3

md_helper.c の下部にあるマクロのようです。sha2.c から:

#define RFUN   sha3_round
#define HASH   sha384
#define BE64   1
#include "md_helper.c"

および md_helper の下部:

static void
SPH_XCAT(HASH, _close)(void *cc, void *dst, unsigned rnum)
{
    SPH_XCAT(HASH, _addbits_and_close)(cc, 0, 0, dst, rnum);
}

ここで、 (= ) とSPH_XCATの単なるトークン連結です。HASHsha384_close

于 2013-01-21T16:07:42.763 に答える