对自己所做的事要有兴趣,同时还要能够坚持不懈
C 命名约定 (__cdecl)
_test
?test@@ZAXXZ
Fastcall 命名约定 (__fastcall)
@test@0
?test@@YIXXZ
标准调用命名约定 (__stdcall)
_test@0
?test@@YGXXZ
模块定义 (.def) 文件是包含一个或多个描述 DLL 各种属性的 Module 语句的文本文件。如果不使用 __declspec(dllexport) 关键字导出 DLL 的函数,则 DLL 需要 .def 文件。
.def 文件必须至少包含下列模块定义语句:1.文件中的第一个语句必须是 LIBRARY 语句。此语句将 .def 文件标识为属于 DLL。LIBRARY 语句的后面是 DLL 的名称。链接器将此名称放到 DLL 的导入库中。2.EXPORTS 语句列出名称,可能的话还会列出 DLL 导出函数的序号值。通过在函数名的后面加上 @ 符和一个数字,给函数分配序号值。当指定序号值时,序号值的范围必须是从 1 到 N,其中 N 是 DLL 导出函数的个数。例如,包含实现二进制搜索树的代码的 DLL 看上去可能像下面这样:
如果希望优化 DLL 文件的大小,请对每个导出函数使用 NONAME 属性。使用 NONAME 属性时,序号存储在 DLL 的导出表中而非函数名中。如果导出许多函数,这样做可以节省相当多的空间。
posted on 2009-08-03 17:12 把握命运 阅读(18543) 评论(0) 编辑 收藏 引用
Powered by: C++博客 Copyright © 把握命运