.net – 如何导出CIL DLL中的方法,以便本地程序可以调用它?
发布时间:2020-12-14 01:46:33 所属栏目:Windows 来源:网络整理
导读:我已经审查了ECMA 335,我只发现了对.export关键字的引用,这个关键字看起来很有前途,但文档很少.我在StackOverflow中发现了类似的问题,在C#中这样做.但是,迄今为止,还没有任何一个有用的东西. 底线是:我有一个CIL DLL,我想从一个本机C应用程序调用其一些静态
我已经审查了ECMA 335,我只发现了对.export关键字的引用,这个关键字看起来很有前途,但文档很少.我在StackOverflow中发现了类似的问题,在C#中这样做.但是,迄今为止,还没有任何一个有用的东西.
底线是:我有一个CIL DLL,我想从一个本机C应用程序调用其一些静态方法.
在较新版本的ILAsm中,您可以简单地做:
.method public static void Foo () { .export [1] // code ... } 这将导出表中的索引1中的Foo.导出序数应该是唯一的和顺序的. 在旧版本中,您必须做: .data vt = int32 (0) [n] .vtfixup [n] int32 fromunmanaged at vt .method public static void Foo () { .vtentry 1:1 .export [1] // code ... } (“n”是您想要的出口数量.) .vtentry表示哪个vtable:slot存储方法(表ID是顺序的,因此取决于声明顺序.) 较新的ILAsms会为您完成所有这些工作,前提是您不要将导出表用于其他任何操作. 请注意,这一切都是非常不可取的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- win10上安装nginx
- windows-8 – VariableSizedWrapGrid和WrapGrid儿童大小测量
- windows-7 – Windows 7 RC是否在虚拟机上运行?
- Windows API一日一练 88 EnumProcesses函数
- windows-server-2008 – 防止Microsoft FTP服务器(IIS6 / 7
- iis – 我可以在Windows Azure VMRole中托管网站吗?
- Windows是否存在程序员带有标签的“文档模板”?
- windows-8.1 – 在Windows 8.1和Windows 10上使用DYMO Labe
- .net – 在Windows Phone 8中阅读Windows-1252编码
- .net – 如何手动删除MSI安装?
推荐文章
站长推荐
- windows-server-2003 – 在个人证书上禁用强私钥
- Win7程序运行出现Windows Based Scrip Host 已停
- 修改win7 iis上传文件大小限制200KB
- windows-server-2008 – 如何在发布之前保护.NET
- windows – 如何将容器推送到Google容器注册表(无
- ARM版本的Windows 8只能运行Metro(WinRt)风格的应
- Windows Azure上推荐的ElasticSearch部署是什么?
- windows-server-2008 – Windows Server 2008(We
- 如何在Windows上获取视频捕获设备(网络摄像头)列
- Windows VBScript – 使用Eval执行代码
热点阅读