win32metadata
zig
Our great sponsors
win32metadata | zig | |
---|---|---|
27 | 816 | |
1,280 | 30,631 | |
1.3% | 5.2% | |
0.0 | 10.0 | |
13 days ago | about 22 hours ago | |
C++ | Zig | |
GNU General Public License v3.0 or later | 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.
win32metadata
-
Hey Rustaceans! Got a question? Ask here (18/2023)!
As /u/huellenoperator notes, that this needs a pointer to a mutable string comes straight from microsoft through win32metadata. Maybe it's a mistake on Microsoft's side, but if it's not you're taking big risks.
-
Kernel Headers for Windows could soon make it into windows-rs
Microsoft offers official "bindings" to Win32 APIs through win32metadata. However, until recently, it did not include metadata for kernel-level functions or WDK. In early 2021, an issue was raised through windows-rs regarding this limitation, but progress was slow until now. Microsoft has finally released official metadata for WDK, which can be found on the wdkmetadata repository. The latest comment on the issue thread can be found here:
-
winreader: read memory from other programs
for win32metadata's kernel api tracking issue, https://github.com/microsoft/win32metadata/issues/401
-
Best windows stubs
Any examples? Since the API bindings in windows-sys are generated from the metadata generated from official Windows SDK headers I'd not expect to see this kind of difference.
-
can we be free of c?
You might also look at this project: https://github.com/microsoft/win32metadata
-
Is it time to retire C and C++ for Rust in new programs?
There is still the occasional incredibly subtle link time fuckery in Rust.
https://github.com/microsoft/win32metadata/issues/1274
"Minor" semver updates to crates breaking things via e.g. unexpected MSRV bumps is pretty common too, with some resulting bitrot. That said, I agree with you that things in Rust are at least better. Imperfect, but better.
-
Are there any Windows-centric perks of using C# that other non-Microsoft languages simply can't offer (or at least don't out of the box)?
Win32 is available as metadata to enable adoption in as many languages as possible. Are there some things missing? Yes. The Microsoft team acknowledges that and encourages asking for the things you need so they can add them to the metadata.
-
Using Windows API in Julia?
It might be interesting to have bindings generated for the entirety of Win32 API through https://github.com/microsoft/win32metadata
- Would std code for Windows ever use the windows crate by Microsoft?
-
The Atrocities of COM win32 headers
Hi JB! Funny to cross paths with you in this context. I don't know if you remember me but I was a rookie programmer who got the pleasure of joining the VideoLan Conference in Dublin back in 2014, and then Paris the next year, and you were very kind to me.
The GitHub issue title here is unfortunately misleading. I have renamed it to "ideas to improve windows header files and libc". Also, I hope it is clear that I rebutted the points made by the OP, because I completely agree with your summary that the mingw-w64 people are skilled, nice and very clever and think about all use cases.
If any drive-by HN readers work at Microsoft, please help us with this issue: https://github.com/microsoft/win32metadata/issues/766
zig
-
Memory-mapped IO registers in Zig. (2021)
There is an issue proposing this approach: https://github.com/ziglang/zig/issues/4284
- Zig Programming Language
- Zig Language 0.12 Release
-
Zig 0.12.0 Release Notes
https://github.com/ziglang/zig/issues/224
e.g.:
> > When debugging/prototyping, it's useful to comment out a line without having to refactor, e.g.
-
How to Write a PHP Extension with Zig?
When writing code in a scripting language, sometimes you need that extra bit of performance (or maybe an async feature from Zig).
-
Bun - The One Tool for All Your JavaScript/Typescript Project's Needs?
NodeJS is by no means a slow runtime, it wouldn’t be so popular if it was. But compared to Bun, it’s slow. Bun was built from the ground up with speed in mind, using both JavascriptCore and Zig. The Bun team spent an enormous amount of time and energy trying to make Bun fast, including lots of profiling, benchmarking, and optimizations.
-
Bun 1.1
ntdll.dll!RtlUserThreadStart()
There are valid reasons to use APIs from NTDLL. Where I disagree with zig#1840 is the idea that it is always better to use NTDLL versions of API. Every other software ecosystem uses the standard Win32 APIs and diverging from that without a good reason seems like a good way to have unexpected behavior. One concrete example is most users and programmers expect Windows to redirect some file system paths when running on WOW64. But this is implemented in Kernel32, not ntdll.
https://github.com/ziglang/zig/issues/11894
- Zig, Rust, and Other Languages
-
Nanos – A Unikernel
Zig also has an IRC channel on libera (#zig) that is moderated by Andrew Kelley.[1]
[1] https://github.com/ziglang/zig/wiki/Community
- Ask HN: What Underrated Open Source Project Deserves More Recognition?
What are some alternatives?
rust-bindgen - Automatically generates Rust FFI bindings to C (and some C++) libraries.
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
JNA - Java Native Access
Odin - Odin Programming Language
go - The Go programming language
v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
winapi - Windows API declarations without <windows.h>, for internal Boost use.
rust - Empowering everyone to build reliable and efficient software.
panama-foreign - https://openjdk.org/projects/panama
STL - MSVC's implementation of the C++ Standard Library.
ssr-proxy-js - A Server-Side Rendering Proxy focused on customization and flexibility!