像go 一样 打造.NET 单文件应用程序的编译器项目bflat 发布 7.0版本
现代.NET和C#在低级/系统程序以及与C/C++/Rust等互操作方面的能力完全令各位刮目相看了,有人用C#开发的64位操作系统: GitHub - nifanfa/MOOS: C# x64 operating system pro...,截图要介绍的是
一个结合Roslyn和NativeAOT的实验性编译器bflat :https://github.com/bflattened/bflat。
一年前的公众号文章 打造史上最小尺寸.Net Core单文件应用程序 给我们介绍了bflat , 今天发布了7.0 版本,意味着从一个实验性的工具变成了一个可用的编译器,我们可以用它像go 哪样编译c# 程序。
作者在github readme 上是这么介绍它的: bflat之于dotnet,就像VS Code之于VS一样。像NativeAOT(Bflat构建的)和Graal Native Image这样的东西让这些语言可以减小二进制大小,加快启动速度和部署模型,类似于Go和Rust开发人员所享受的。
作者的ZeroSharp项目也很有趣。它演示如何在没有任何运行时的情况下编译 C#。没有垃圾回收, 您可以耍特技,例如制作 5KB Hello World 或无需操作系统运行的 EFI 应用程序:
https://github.com/MichalStrehovsky/zerosharp 。
首先,下载最新版bflat(https://github.com/MichalStrehovsky/bflat/releases),并解压到C:\bflat-7.0.0-windows-x64。
然后克隆代码库里的Sample 进行体验: https://github.com/bflattened/bflat/tree/master/samples
像go 一样 打造.NET 单文件应用程序的编译器项目bflat 发布 7.0版本的更多相关文章
- [原创] 绿色单文件封装程序GreenOne V3.0
1.原理 将包含可执行文件的多个文件 调用Winrar,创建自解压格式压缩文件 设置高级自解压选项中的文本和图标,设置解压后运行的文件为选中的可执行文件. 这种创建单文件封装其实也就是一个Winrar ...
- .NET5.0 单文件发布打包操作深度剖析
.NET5.0 单文件发布打包操作深度剖析 前言 随着 .NET5.0 Preview 8 的发布,许多新功能正在被社区成员一一探索:这其中就包含了"单文件发布"这个炫酷的功能,实 ...
- AOT和单文件发布对程序性能的影响
前言 这里先和大家介绍一下.NET一些发布的历史,以前的.NET框架原生并不支持最终编译结果的单文件发布(需要依赖第三方工具),我这里新建了一个简单的ASP.NET Core项目,发布以后的目录就会像 ...
- JDK11 | 第五篇 : 启动单个Java源代码文件的程序
文章首发于公众号<程序员果果> 地址 : https://mp.weixin.qq.com/s/h1L4FmzVSix434gVt8Fc7w 一.简介 JEP330-启动单文件代码程序(L ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(56)-插件---单文件上传与easyui使用fancybox
系列目录 https://yunpan.cn/cZVeSJ33XSHKZ 访问密码 0fc2 今天整合lightbox插件Fancybox1.3.4,发现1.3.4版本太老了.而目前easyui 1 ...
- 小型单文件NoSQL数据库SharpFileDB初步实现
小型单文件NoSQL数据库SharpFileDB初步实现 我不是数据库方面的专家,不过还是想做一个小型的数据库,算是一种通过mission impossible进行学习锻炼的方式.我知道这是自不量力, ...
- [转]数据恢复 文件恢复工具 DiskGenius v4.9.1 绿色专业版及单文件
必备神软!数据恢复及磁盘分区利器DiskGenius,目前最新版为v4.9.1,现在又有新思路的已注册专业版,已亲测可成功恢复4G以上的大文件,但不能虚拟磁盘格式转换!想用新版功能的有福了,推荐使用! ...
- ResourceHacker(4.5.30)单文件绿色汉化版
经常编译软件的人,肯定会使用一些编译和反编译的工具,ResourceHacker作为一款资源编译工具,非常的小巧好用,ResourceHacker没有任何广告,支持打开.exe..dll..scr.. ...
- 软件打包为exe NSIS单文件封包工具V2.3
NSIS单文件封包工具V2.3 这是一款基于NSIS模块的封包制作工具,lzma算法最大压缩率,支持制作单文件,以及NSIS自定义解压封包. 支持注册dll,exe,reg,bat文件 默认提取设置程 ...
- TeamViewer12.0.71503(远程控制软件)精简版 单文件企业版介绍
TeamViewer 是一款能在任何防火墙和 NAT 代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解决方案.为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可 ...
随机推荐
- windows bat文件设置环境变量
主要是SET和SETX这个两个命令 SETX 永久设置用户环境变量 SETX /M 永久设置系统环境变量 SET 临时设置用户环境变量 SET /M 临时设置系统环境变量
- PHP全栈开发(九):javascript 基础
js不允许读取电脑上的文件: js不允许修改服务器上的文件,修改服务器上的文件是php来做的事情. 因此js是一个前端脚本. 前端的三个语言是HTML/CSS/JavaScript 这三个东东Java ...
- Docker Private Registry
Docker Private Registry 目录 Docker Private Registry Docker Registry Docker Private Registry 使用docker- ...
- 【NOI2016】 循环之美 题解
Solution 由数论基础知识 答案即为$$\sum_{i = 1}^n\sum_{j = 1}^m[i \perp j][j \perp k]$$ 莫反套路可化为$$\sum_{d = 1}\mu ...
- redis bitmap数据结构之java对等操作
在之前的文章中,我们有说过bitmap,bitmap在很多场景可以应用,比如黑白名单,快速判定,登录情况等等.总之,bitmap是以其高性能出名.其基本原理是一位存储一个标识,其他衍生知道咱就不说了, ...
- 『现学现忘』Git后悔药 — 34、git commit --amend 命令
目录 1.git commit --amend 命令说明 2.使用场景 (1)场景一 (2)场景二 3.git commit --amend 命令原理 这是我们Git中的第三种后悔药. 1.git c ...
- Linux基础_2_bash功能
查看当前shell:echo $SHELL 查看可用shell:cat /etc/shells 命令行编辑 光标跳到行首:Ctrl+a 光标跳到行尾:Ctrl+e 以单词为单位快速跳转光标:Ctr ...
- Vue学习之--------深入理解Vuex之多组件共享数据(2022/9/4)
在上篇文章的基础上:Vue学习之--------深入理解Vuex之getters.mapState.mapGetters 1.在state中新增用户数组 2.新增Person.vue组件 提示:这里使 ...
- .NET API 接口数据传输加密最佳实践
.NET API 接口数据传输加密最佳实践 我们在做 Api 接口时,相信一定会有接触到要给传输的请求 body 的内容进行加密传输.其目的就是为了防止一些敏感的内容直接被 UI 层查看或篡改. 其实 ...
- 长文梳理muduo网络库核心代码、剖析优秀编程细节
前言 muduo库是陈硕个人开发的tcp网络编程库,支持Reactor模型,推荐大家阅读陈硕写的<Linux多线程服务端编程:使用muduo C++网络库>.本人前段时间出于个人学习.找工 ...