标准可执行文件可以有导出表吗?

Dab*_*ons 7 portable-executable dllexport

我有一个用C编写的可执行文件,其中包含一些我想在ac#application中使用的函数.我以前写了很多dll,并且能够通过__declspec(dllexport)在函数声明之前使用函数.我可以用可执行文件执行此操作吗?可执行文件实际上会导出函数吗?

mox*_*mox 6

是的你可以!是的,可执行文件将导出函数.这不是经常做的,但它的效果非常好.根据可执行文件的规范(http://msdn.microsoft.com/en-us/gg463119.aspx),就导出而言,DLL和可执行文件之间没有区别.像DLL这样的EXE可以有一个Export Table目录,该目录记录了图像将导出的函数.作为"正常"可执行文件导出功能的示例,请查看Chrome.exe.见快照我使用PEStudio显示Chrome导出了一些功能.某些Windows内置的可执行文件也导出功能(例如本地安全机构子系统 - lsass.exe).Windows内核(ntoskrnl.exe)映像还导出超过2000个函数(在Windows7系统上).

  • 但是,你是怎么做的?__declspec(dllexport) 不适用于 MSVC 2010(构建 Java 8 需要使用) (2认同)