3

我已经创建了一个静态库和一个 EXE 文件(它使用静态库),但是当我在 IDA pro 中打开 EXE 时,导出也列在 EXE 中。

我知道它们应该在 .lib 本身中导出,但为什么它们在 EXE 中也显示为导出?

编辑:这是一个导出/导入(它们在单独的头文件中)

这是导出:

#define NC_LIBEXPORT(a) extern "C" __declspec(dllexport) a __cdecl
NC_LIBEXPORT(VOID) rol8(unsigned char* a, unsigned char b);

和进口:

extern "C" VOID rol8(unsigned char* a, unsigned char b);
4

1 回答 1

5

您需要确保在构建静态库时不使用__declspec(dllexport).

如果要在 DLL 和可执行文件中使用相同的库,并且不希望可执行文件导出符号,则需要使用 DEF 文件而不是__declspec(dllexport).

于 2012-05-19T13:42:41.120 回答