.net9 AOT编绎生成标准DLL,输出API函数教程-中国首创

1,安装VS2022预览版(Visual Studio Preview)
https://visualstudio.microsoft.com/zh-hans/vs/preview/#download-preview
2,选择安装组件:使用C++的桌面开发 和 .NET桌面开发

-------------------------------------

创建、编绎动态DLL:

1,C#命令行创建dll工程:

VS2022菜单:工具》命令行》开发者命令提示,输入:
dotnet new classlib -o CSharpDllExport -f net9.0

2,class1.cs修改代码:

using System.Runtime.InteropServices;namespace CSharpDllExport
{public static class Class1{[UnmanagedCallersOnly(EntryPoint = "Add")]public static int Add(int a, int b){return a + b;}}
}

3,编绎生成32位标准Dll,输出函数Add(加法计算)
用时12秒左右,DLL大小,1MB
dotnet publish CSharpDllExport -p:PublishAot=true -r win-x86 -c release /p:NativeLib=Shared -f net9.0
4,VB6中调用API
CSharpDllExport\bin\release\net9.0\win-x86\publish\CSharpDllExport.dll

Private Declare Function Add Lib "CSharpDllExport" (ByVal a As Long, ByVal b As Long) As LongPrivate Sub Command1_Click()MsgBox Add(3, 4)
End Sub

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/824429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SnapGene Mac激活版 分子生物学软件

SnapGene Mac是一款功能全面、操作便捷的综合性分子生物学软件,专为Mac用户打造。它集成了DNA序列编辑、分析、可视化和团队协作等多种功能,为科研人员提供了一个高效、可靠的分子生物学研究工具。 SnapGene Mac激活版下载 在SnapGene Mac中,…

批量插入10w数据方法对比

环境准备(mysql5.7) CREATE TABLE user (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 唯一id,user_id bigint(10) DEFAULT NULL COMMENT 用户id-uuid,user_name varchar(100) NOT NULL COMMENT 用户名,user_age bigint(10) DEFAULT NULL COMMENT 用户年龄,create_time time…

Docker搭建Minisatip

Minisatip 是一个多线程的 satip 服务器版本 1.2,它在 Linux 下运行,并且已经通过了与 DVB-S、DVB-S2、DVB-T、DVB-T2、DVB-C 等的测试。satip 是一个用于接收卫星电视流的服务器软件,而 Minisatip 则是该软件的一个轻量级版本,它…

ssm057学生公寓管理中心系统的设计与实现+jsp

学生公寓管理中心系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本学生公寓管理中心系统就是在这样的大环境下诞生,其可以帮助管…

JS版本号比较大小

概述 在项目开发和运行的过程中,总是少不了各类升级。例如某个功能组件需要更高的依赖库、数据项需要进行兼容等等问题。遇到此类问题开发者需要使用版本号来解决。版本号通常由三部分组成:主版本号、次版本号和修订版本号 通常来说升级会涉及到三个…

【JavaEE多线程】线程的创建

系列文章目录 🌈座右铭🌈:人的一生这么长、你凭什么用短短的几年去衡量自己的一生! 💕个人主页:清灵白羽 漾情天殇_计算机底层原理,深度解析C,自顶向下看Java-CSDN博客 ❤️相关文章❤️:清灵白羽 漾情天…

【代码】Python3|Requests 库怎么继承 Selenium 的 Headers (2024,Chrome)

本文使用的版本: Chrome 124Python 12Selenium 4.19.0 版本过旧可能会出现问题,但只要别差异太大,就可以看本文,因为本文对新老版本都有讲解。 文章目录 1 难点解析和具体思路2 注意事项2.1 PDF 资源获取时注意事项2.2 Capabiliti…

asp.net core 依赖注入后的服务生命周期

ASP.NET Core 依赖注入(DI)容器支持三种服务的生命周期选项,它们定义了服务实例的创建和销毁的时机。理解这三种生命周期对于设计健壯且高效的应用程序非常重要: 瞬时(Transient): 瞬时服务每次…

西瓜书学习——第一、二章笔记

[] 什么是机器学习? 研究关于“学习算法”(一类能从数据中学习出其背后潜在规律的算法)的一门学科。 PS:深度学习指的是神经网络那一类学习算法,因此是机器学习的子集。 假设空间和版本空间 举个栗子:假设现已收集到某地区近几年的房价和学校数量数据&#xf…

CloudCompare 整体架构

CloudCompare 是一个开源的大规模点云处理软件,内置了点云渲染和各种点云算法,还有插件化拓展,非常适合作为点云相关软件的基础程序进行二次开发。源码地址:https://github.com/CloudCompare/CloudCompare 这里记录一下项目的主要模块目录和他们做的事情。 编译和依赖 编…

ChatGPT及GIS、生物、地球、农业、气象、生态、环境科学领域案例

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮,可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

SRIO系列-时钟逻辑与复位逻辑

一、前言 上一篇讲述了SRIO协议的基本概念,传输的HELLO帧格式、事务类型等,本篇说一下SRIO IP核的时钟关系。 基本的IP设置可以参考此篇文章:【高速接口-RapidIO】Xilinx SRIO IP 核详解-CSDN博客 二、时钟关系 PHY可以在两个时钟域上运行…

【Java EE】多线程-进阶-锁策略

目录 1.常见的锁策略 1.1乐观锁 vs 悲观锁 1.2重量级锁 vs 轻量级锁 1.3自旋锁(Spin Lock) 1.4公平锁 vs 非公平锁 1.5可重入锁和不可重入锁 1.6读写锁 2.CAS 2.1什么事CAS 2.2CAS是怎么实现的 2.3CAS有哪些应用 2.3.1实现原子类 2.3.2实现自…

自动驾驶(八十四)---------中间件对比分析

很久没有写博客了,CSDN无故非法删了我第82篇,让我很恼火,一直提不起兴趣重新写一遍第82篇。但回初心,知识需要用自己的语言输出,所以今天对比分析自动驾驶中间件: 1. 中间件介绍 在自动驾驶架构中&#xf…

SAP打印输出设置

SAP打印输入有很多方式,适合不同的应用场景。 一.打印输出总体概览图 二.前台打印 这个是比较常见的,前端打印的出现减轻了管理员的工作量,用户可以选择自己电脑上的打印机输出,不需要所有打印机都在SAP平台中进行配置&#xff0…

【Next】动态路由、加载 UI 和流式传输

动态路由 动态段作为 params 属性传递给 layout、page、route 和 generateMetadata 函数。 /app/blog/[slug]/page.tsx export default function Page({params}: {params:{slug:string}}) {return <h1>Slug Page -- {params.slug}</h1> };/app/shop/[...slug]/pa…

(vue)el-select选择框加全选/清空/反选

(vue)el-select选择框加全选/清空/反选 <el-form-item label"批次"><el-selectv-model"formInline.processBatch"multiplecollapse-tagsfilterableplaceholder"请选择"style"width: 250px"no-data-text"请先选择企业、日…

常用的启发式算法有哪些

常用的启发式算法主要包括模拟退火算法&#xff08;SA&#xff09;、蚁群算法&#xff08;ACO&#xff09;、粒子群算法&#xff08;PSO&#xff09;、遗传算法&#xff08;GA&#xff09;、禁忌搜索算法&#xff08;TS&#xff09;以及超启发式算法&#xff08;Hyper-Heuristi…

Java使用documents4j将word和excel转pdf

pom.xml添加documents4j依赖 <!-- documents4j --> <dependency><groupId>com.documents4j</groupId><artifactId>documents4j-local</artifactId><version>1.0.3</version> </dependency> <!-- documents4j 转 wor…

《Kubernetes部署篇:基于Kylin V10+ARM架构CPU+外部etcd使用containerd部署K8S 1.26.15容器版集群(一主多从)》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;企业级K8s集群运维实战 1、在当前实验环境中安装K8S1.25.14版本&#xff0c;出现了一个问题&#xff0c;就是在pod中访问百度网站&#xff0c;大…