bflat
asdf-dotnet-core
bflat | asdf-dotnet-core | |
---|---|---|
27 | 3 | |
3,472 | 96 | |
0.7% | - | |
6.9 | 0.0 | |
about 2 months ago | about 1 year ago | |
C# | Shell | |
GNU Affero General Public License v3.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bflat
-
Borgo is a statically typed language that compiles to Go
The sibling pretty much sums it up. But if you want more detail, read on:
Generally, there are three publishing options that each make sense depending on scenario:
JIT + host runtime: by definition portable, includes slim launcher executable for convenience, the platform for which can be specified with e.g. -r osx-arm64[0].
JIT + self-contained runtime: this includes IL assemblies and runtime together, either within a single file or otherwise (so it looks like AOT, just one bin/exe). These requires specifying RID, like in the previous option.
AOT: statically linked native binary, cross-OS compilation is not supported officially[1] because macOS is painful in general, and Windows<->Linux/FreeBSD is a configuration nightmare - IL AOT Compiler depends on Clang or MSVC and a native linker so it is subject to restrictions of those as a start. But it can be done and there are alternate, more focused toolchains, that offer it, like Bflat[1].
If you just want a hello world AOT application, then the shortest path to that is `dotnet new console --aot && dotnet publish -o {folder}`.
[0] https://learn.microsoft.com/en-us/dotnet/core/rid-catalog
[1] https://github.com/bflattened/bflat (can also build UEFI binaries, lol)
-
Learn how to build beautiful and interactive .NET command-line applications using System.CommandLine and Spectre.Console with my latest blog post
See here
-
Question about NativeAOT platform support
See B flat
-
Native AOT Overview
I've been wondering how to integrate modern .NET Core into a custom build system (buck2) and was wondering similar things. There's this project I think is cool called bflat[1] that basically makes the C# compiler more like the Go compiler in the sense it's a one-shot single-use tool that can cross compile binaries natively. It's done by one of the people on the .NET Runtime team as a side project, but quite neat.
I think in practice you're supposed to compile whole .dll's or assemblies all at once, which acts as the unit of compilation; I don't think the csharp compiler generates native object-files-for-every-.cs, the kind of approach you'd expect from javac or g++. Someone please correct me if I'm wrong though! I'd like to learn more about this.
[1] https://github.com/bflattened/bflat
-
If you were stuck on a remote island, would you pick C# as your programming language
You can compile without a GC using https://github.com/bflattened/bflat
- AOT
-
Hey people, made a game for my CS homework as a freshman using C#, what do you guys think about it?
nice. have you tried compile it using https://github.com/bflattened/bflat to have native executable? as long as you don't have PackgeReference it can be compiled using bflat instead of full dotnet
- Bflat – a single ahead of time crosscompiler and runtime for C#
-
bflat - Build native C# applications independent of .NET
The creator actually addresses this issue:
asdf-dotnet-core
-
Learning ASP.NET CORE on m1 MAC?
I like asdf for language version management https://github.com/emersonsoares/asdf-dotnet-core
-
C# as you know it but with Go-like tooling (small, selfcontained, native exes)
Of all the possible ways to handle toolchains on Linux, I'm quite happy with asdf[1]. I've successfully built stand-alone fsharp/csharp "Hello worlds" off of dotnet via asdf - but I've not used dot.net in anger.
I chiefly like asdf because I typically need at least two toolchains (with various versions for various projects) - eg ruby and nodejs, or python and nodejs.
https://asdf-vm.com/
https://github.com/emersonsoares/asdf-dotnet-core
-
What's F# like for those who also know Rust?
asdf plugin-add dotnet-core https://github.com/emersonsoares/asdf-dotnet-core.git asdf install dotnet-core 5.0.202 asdf global dotnet-core 5.0.202
What are some alternatives?
zerosharp - Demo of the potential of C# for systems programming with the .NET native ahead-of-time compilation technology.
asdf-plugins - Convenience shortname repository for asdf community plugins
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
HomeBrew - 🍺 The missing package manager for macOS (or Linux)
dmd - dmd D Programming Language compiler
Home Assistant - :house_with_garden: Open source home automation that puts local control and privacy first.
centos-stream
core - Online IDE powered by Visual Studio Code ⚡️
vscodium - binary releases of VS Code without MS branding/telemetry/licensing
Ryujinx - Experimental Nintendo Switch Emulator written in C#
GtkSharp - .NET wrapper for Gtk and other related libraries
asdf-neovim - Neovim plugin for asdf version manager https://github.com/asdf-vm/asdf