实例介绍
.NET DllExport
.NET DllExport是一个提供.NET Core支持的库,用于将.NET代码导出为本机DLL,支持各种PE模块,包括库和可执行文件。它通过ILDasm和ILAsm实现了当前的功能。除此之外,它还支持与Unmanaged内存和Lua等相关工作。
DllExport -action Configure [?]
[ 快速入门 ] [ 示例:C ,C#,Java ] -> { Wiki } { 🧪 演示源代码 }
[DllExport] public static int entrypoint(IntPtr L) { // ... it will be called from Lua script lua_pushcclosure(L, onProc, 0); lua_setglobal(L, "onKeyDown"); return 0; }
要使用包括来自堆的本机或二进制数据以及.NET和未托管本机C / C 等之间的绑定的未托管内存,请使用Conari。与Lua(5.4,5.3,5.2,5.1等)相关的工作,请使用LuNari。
[DllExport("Init", CallingConvention.Cdecl)] // __cdecl is the default calling convention for our library [DllExport(CallingConvention.StdCall)] [DllExport("MyFunc")]
【实例截图】
【核心代码】文件清单
└── DllExport-c1cc52fa13f563f97a2b4fe08bfb541c69195866
├── 3rd-party.txt
├── build.bat
├── build-coreclr-ilasm-x64.cmd
├── build-coreclr-ilasm-x86.cmd
├── build-coreclr-ilasm-x86 x64.cmd
├── changelog.txt
├── com.github.3F.DllExport.snk
├── coreclr
├── DllExport.sln
├── DllExportVersion.cs
├── GetNuTool
├── hMSBuild
├── LICENSE
├── Manager
│ └── batch
│ ├── Manager.bat
│ ├── Manager.offline.bat
│ ├── map.tpl.targets
│ ├── tests.bat
│ └── tests.targets
├── MetadataCore
│ └── MetadataCore.csproj
├── MetadataFx
│ ├── AssemblyInfo.cs
│ ├── DllExportAttribute.cs
│ └── MetadataFx.csproj
├── MvsSln
├── NSBin
│ ├── BinaryData.cs
│ ├── DDNS.cs
│ ├── IDDNS.cs
│ ├── Marker.cs
│ ├── MarkerData.cs
│ ├── NSBin.csproj
│ ├── packages.config
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Ripper.cs
│ └── Rmod.cs
├── NSBinTest
│ ├── DDNSTest.cs
│ ├── MarkerTest.cs
│ ├── NSBinTest.csproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── RipperTest.cs
│ └── TempFile.cs
├── packages.config
├── PeViewer
│ ├── ArgsHelper.cs
│ ├── ArgsMapper.cs
│ ├── packages.config
│ ├── PeFile.cs
│ ├── PeViewer.csproj
│ ├── Program.cs
│ └── Properties
│ └── AssemblyInfo.cs
├── Readme.md
├── Resources
│ ├── img
│ │ ├── DllExport_1.6.x.png
│ │ ├── DllExport_inf_nuget_youtube.jpg
│ │ ├── DllExport_manager.png
│ │ ├── DllExport_ordinals.png
│ │ ├── DllExport_PeViewer.png
│ │ ├── DllExport.png
│ │ ├── DllExport_Wizard_overview_screen.jpg
│ │ └── screencast_Complex_types.jpg
│ └── vsico
│ ├── CPP_ProjectSENode_16x_.png
│ ├── CS_ProjectSENode_16x.png
│ ├── FS_ProjectSENode_16x.png
│ ├── VB_ProjectSENode_16x.png
│ └── Visual Studio 2017 Image Library EULA.RTF
├── RGiesecke.DllExport
│ ├── AssemblyBinaryProperties.cs
│ ├── AssemblyExports.cs
│ ├── AssemblyInfo.cs
│ ├── CpuPlatform.cs
│ ├── DisabledAssemblyResolver.cs
│ ├── DllExportLogginCodes.cs
│ ├── DllExportNotificationEventArgs.cs
│ ├── DllExportNotifier.cs
│ ├── DllExportServiceProviderExtensions.cs
│ ├── DllExportWeaver.cs
│ ├── DuplicateExports.cs
│ ├── ExportAssemblyInspector.cs
│ ├── ExportedClass.cs
│ ├── ExportedMethod.cs
│ ├── ExportInfo.cs
│ ├── Extensions
│ │ └── StringExtension.cs
│ ├── ExtractExportHandler.cs
│ ├── IDllExportNotifier.cs
│ ├── IExportAssemblyInspector.cs
│ ├── IExportInfo.cs
│ ├── IInputValues.cs
│ ├── InputValuesCore.cs
│ ├── IProblemSolver.cs
│ ├── NotificationContext.cs
│ ├── Null.cs
│ ├── packages.config
│ ├── Parsing
│ │ ├── Actions
│ │ │ ├── ClassDeclarationParserAction.cs
│ │ │ ├── ClassParserAction.cs
│ │ │ ├── DeleteExportAttributeParserAction.cs
│ │ │ ├── ExternalAssemlyDeclaration.cs
│ │ │ ├── IlParsingUtils.cs
│ │ │ ├── IParserStateAction.cs
│ │ │ ├── MethodDeclarationParserAction.cs
│ │ │ ├── MethodParserAction.cs
│ │ │ ├── MethodPropertiesParserAction.cs
│ │ │ ├── NormalParserAction.cs
│ │ │ ├── ParserStateActionAttribute.cs
│ │ │ ├── ParserStateValues.cs
│ │ │ └── ParsingDirection.cs
│ │ ├── DllExportNotifierWrapper.cs
│ │ ├── HasServiceProvider.cs
│ │ ├── ILAsm.cs
│ │ ├── ILDasm.cs
│ │ ├── IlParser.cs
│ │ ├── IlToolBase.cs
│ │ └── ParserState.cs
│ ├── PatchesType.cs
│ ├── PeCheckType.cs
│ ├── Problems
│ │ ├── AccessDenied.cs
│ │ └── IProblem.cs
│ ├── ProblemSolver.cs
│ ├── Properties
│ │ ├── Resources.Designer.cs
│ │ └── Resources.resx
│ ├── RGiesecke.DllExport.csproj
│ ├── Set.cs
│ ├── SourceCodePosition.cs
│ ├── SourceCodeRange.cs
│ └── Utilities.cs
├── RGiesecke.DllExport.MSBuild
│ ├── AssemblyInfo.cs
│ ├── Executor.cs
│ ├── ExecutorLogger.cs
│ ├── IPostProcExecutor.cs
│ ├── packages.config
│ ├── PostProc.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── RGiesecke.DllExport
│ │ ├── DllExportServiceProviderExtensions.cs
│ │ ├── Null.cs
│ │ └── Set.cs
│ ├── RGiesecke.DllExport.MSBuild
│ │ ├── AssemblyLoadingRedirection.cs
│ │ ├── DllExportAppDomainIsolatedTask.cs
│ │ ├── DllExportTask.cs
│ │ ├── ExportTaskImplementation.cs
│ │ ├── IDllExportTask.cs
│ │ └── IInputRawValues.cs
│ └── RGiesecke.DllExport.MSBuild.csproj
├── Scripts.GUI.Edit.cmd
├── test-manager.bat
├── tools
│ ├── DllExport.nuspec
│ ├── gnt.bat
│ ├── hMSBuild.bat
│ ├── init.ps1
│ └── net.r_eg.DllExport.targets
└── Wizard
├── ActionType.cs
├── Caller.cs
├── CfgStorageType.cs
├── CompilerCfg.cs
├── DllExportCfgTask.cs
├── DxpIsolatedEnv.cs
├── DxpOptType.cs
├── Executor.cs
├── Extensions
│ ├── CollectionExtension.cs
│ ├── StringExtension.cs
│ ├── ThreadingExtension.cs
│ └── XProjectExtension.cs
├── Gears
│ ├── IProjectGear.cs
│ ├── PostProcGear.cs
│ └── PreProcGear.cs
├── Guids.cs
├── IConfigInitializer.cs
├── IExecutor.cs
├── IProject.cs
├── IProjectSvc.cs
├── ITargetsFile.cs
├── IUserConfig.cs
├── IWizardConfig.cs
├── LegacyPackagesFile.cs
├── MSBuildProperties.cs
├── MSBuildTargets.cs
├── net.r_eg.DllExport.Wizard.targets
├── PackageInfo.cs
├── packages.config
├── Platform.cs
├── PostProc.cs
├── PreProc.cs
├── Project.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── TargetsFile.cs
├── UI
│ ├── App.cs
│ ├── Components
│ │ ├── DataGridViewExt.cs
│ │ └── TextBoxExt.cs
│ ├── ConfiguratorForm.cs
│ ├── ConfiguratorForm.Designer.cs
│ ├── ConfiguratorForm.resx
│ ├── Controls
│ │ ├── PostProcControl.cs
│ │ ├── PostProcControl.Designer.cs
│ │ ├── PostProcControl.resx
│ │ ├── PreProcControl.cs
│ │ ├── PreProcControl.Designer.cs
│ │ ├── PreProcControl.resx
│ │ ├── ProgressLineControl.cs
│ │ ├── ProgressLineControl.Designer.cs
│ │ ├── ProgressLineControl.resx
│ │ ├── ProjectItemControl.cs
│ │ ├── ProjectItemControl.Designer.cs
│ │ ├── ProjectItemControl.resx
│ │ ├── ProjectItemsControl.cs
│ │ ├── ProjectItemsControl.Designer.cs
│ │ └── ProjectItemsControl.resx
│ ├── Extensions
│ │ └── ControlExtension.cs
│ ├── IConfFormater.cs
│ ├── IconResources.Designer.cs
│ ├── IconResources.resx
│ ├── Icons.cs
│ ├── IExtCfg.cs
│ ├── IRender.cs
│ ├── Kit
│ │ ├── FilterLineControl.cs
│ │ ├── FilterLineControl.Designer.cs
│ │ └── FilterLineControl.resx
│ ├── MsgForm.cs
│ ├── MsgForm.Designer.cs
│ ├── MsgForm.resx
│ ├── ProjectFilter.cs
│ ├── SimpleConfFormater.cs
│ └── Storage.cs
├── UserConfig.cs
└── Wizard.csproj
37 directories, 216 files
标签:
DllExport:.NET DllExport与.NET Core支持(又称3F/DllExport或DllExport.bat)
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论