VC 编译的DLL文件中怎样隐藏函数名?
发布网友
发布时间:2024-05-04 15:59
我来回答
共1个回答
热心网友
时间:2024-05-10 13:46
不要使用__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,就是在@之后的数字)获得函数指针的,不一定要名字的。
热心网友
时间:2024-05-10 13:46
不要使用__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,就是在@之后的数字)获得函数指针的,不一定要名字的。
热心网友
时间:2024-05-10 13:49
不要使用__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,就是在@之后的数字)获得函数指针的,不一定要名字的。
热心网友
时间:2024-05-10 13:49
不要使用__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,就是在@之后的数字)获得函数指针的,不一定要名字的。