
VC 编译的DLL文件中怎样隐藏函数名?
1个回答
展开全部
不要使用__declspec(dllexport)
加入你要到处funA, funB, funC在工程中新建一个def文件,有些时候Visual Studio自动会建立def文件,这个文件里面这么些
LIBRARY 你的dll名字
EXPORTS
funA@1
funB@2
funC@3
这样你就导出了这三个函数,函数只需要声明称extern "C"就行了,千万不要__declspec。
如果不想导出名字,在后面加NONAME
LIBRARY 你的dll名字
EXPORTS
funA@1 NONAME
funB@2 NONAME
funC@3 NONAME
不过你不要认为没有名字别人就无法调用,用Windows API函数GetProcAddress是可以通过序号(Ordinal,就是在@之后的数字)获得函数指针的,不一定要名字的。
加入你要到处funA, funB, funC在工程中新建一个def文件,有些时候Visual Studio自动会建立def文件,这个文件里面这么些
LIBRARY 你的dll名字
EXPORTS
funA@1
funB@2
funC@3
这样你就导出了这三个函数,函数只需要声明称extern "C"就行了,千万不要__declspec。
如果不想导出名字,在后面加NONAME
LIBRARY 你的dll名字
EXPORTS
funA@1 NONAME
funB@2 NONAME
funC@3 NONAME
不过你不要认为没有名字别人就无法调用,用Windows API函数GetProcAddress是可以通过序号(Ordinal,就是在@之后的数字)获得函数指针的,不一定要名字的。
更多追问追答
追问
我是个菜鸟,详细求教!
E_MAIL:navy102019@163.com
追答
你用什么版本的编译器?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询