rust-bindgen
Windows Terminal
Our great sponsors
rust-bindgen | Windows Terminal | |
---|---|---|
50 | 506 | |
4,088 | 93,467 | |
2.6% | 0.6% | |
9.0 | 9.7 | |
about 17 hours ago | 3 days ago | |
Rust | C++ | |
BSD 3-clause "New" or "Revised" License | 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.
rust-bindgen
- Rust Bindgen
-
ffizz: Build a Beautiful C API in Rust
Rust supports two kinds of FFI: calling into Rust from another language; and calling into another language from Rust. Most of the thought and tooling that exists right now is organized around the second kind. For example, bindgen is a popular tool that generates useful Rust wrappers from a C or C++ header file.
-
Best practices in creating a Rust API for a C++ library? Seeking advice from those who've done it before.
I have looked into bindgen, but found that it would not be feasible due to OMPL not having a C API, just C++.
-
the graphics driver doesn't work on gentoo.
Yes! Are you running LLVM version 16.0.0 or newer, by any chance? I believe this is an issue with some builds of bindgen with newer versions of LLVM. See https://github.com/rust-lang/rust-bindgen/issues/2488
-
Any sort of plugin engine with dynamic load ability and any limitations?
On native, you have to define a C API, probably using a header file. Even if both sides are implemented in Rust, they have to speak that C API (documentation).
-
How can I use rust libraries in C++
Bindgen has some functionality for direct talk to C++ https://github.com/rust-lang/rust-bindgen
-
Issue resolving dependencies when linking C libraries
I am trying to use rust-bindgen (https://github.com/rust-lang/rust-bindgen) to link a static C library (say `libexample.a`) which is compiled in a separate project with CMake. The `libexample.a` depends on other libraries (for example `libcurl.a`) installed on the system.
-
I implemented a NASA image compression algorithm
It looks like the guy you're replying too was kind of an ass, but I do want to point out for anyone else reading that that's not actually that much of a technical limitation: rust code can natively call C code. The main thing you need is a translation of the C library's header file so rustc knows what C functions and structs exist, and that can be automatically generated with bindgen.
-
Hey Rustaceans! Got a question? Ask here (5/2023)!
It's quite the different approach, but you could consider using bindgen instead.
-
Control hardware using c# or c++ API (dll)
Use bindgen or CXX to create Rust bindings for the C or C++ libraries.
Windows Terminal
-
Deleting Software I Wrote Upon Leaving Employment of a Company
> convince management of the value
This presupposes that such convincing is even possible. Many, many companies have leadership that are simply terrible at identifying value. If you've never been part of a majority of developers advocating for, if not outright begging for, some huge ROI initiative to get the green light, you are very fortunate.
There are great counterexamples, like Valve, which is known for giving developers an extreme degree of autonomy, and they benefit greatly from that approach. For each Valve, though, there are dozens of companies that manage to succeed despite themselves.
Take Microsoft, for example. One tiny, yet representative, example: the way the Windows Terminal team handled a suggestion from Casey Muratori to take their software from abysmally slow to lightning fast:
https://github.com/microsoft/terminal/issues/10362
A quote from one of the Terminal developers, dismissing the suggestion:
> I believe what you’re doing is describing something that might be considered an entire doctoral research project in performant terminal emulation as “extremely simple” somewhat combatively…
Just how difficult was such an endeavor in actuality? Well, given that Casey implemented his own terminal emulator from scratch and incorporated the functionality he was proposing in a mere weekend... not a whole lot. Relatively minor effort for a huge return on investment. It took Casey explaining the concepts, then providing a working proof of concept, and finally a bunch of backlash online towards the Terminal team to get them to do the right thing for themselves and their users.
-
A glimpse into the universe where Windows died with the 1980s
At this point ConHost.exe is open source [0] so it is maybe not a stretch to expect Microsoft to open source CMD.EXE at some point.
Though with PowerShell being cross-platform and already open source, I personally don't think there's enough to gain in some sort of better open source CMD.EXE fork. I'd be interested in being proved wrong on that, but I'm also happy enough with PowerShell these days I'm not in a hurry to return to CMD.EXE.
[0] https://github.com/microsoft/terminal/tree/main/src/host
-
Windows 11 looks to be getting a key Linux tool added in the future
"Users of Linux and macOS may well be familiar with the sudo command, used regularly in the terminal, and it looks like Windows may finally be getting its own version."
More Linux tools are coming to Windows, especially Windows Server because the tools are good and they make it easier to administer a Windows Server.
They are looking at adding a default TUI text editor (https://github.com/microsoft/terminal/discussions/16440) and now they are adding sudo.
I would not be surprised if systemd or something like it gets ported or reinvented for Windows simply because it makes managing services so nice.
-
Overview over Microsoft's developer tools for Windows
GitHub
-
On Being Listed as an Artist Whose Work Was Used to Train Midjourney
>We are allowed to view and consume it, to be influenced by it, and under many circumstances even outright copy it.
People keep saying this but it's actually much more complicated, and in many cases you can't view copyrighted content.
An example, MicroSoft employees are not permitted to view or learn from an open source (GPL-2) terminal emulator:
https://github.com/microsoft/terminal/issues/10462#issuecomm...
Another example is proprietary software that may have it's source available, either intentionally or not. If you view this and then work on something related to it, like WINE for example, you are definitely at risk of being successfully sued.
If you worked at MicroSoft and worked on Windows, you would not be able to participate in WINE development at all without violating copyright.
If you viewed leaked Windows source code you also would not be able to participate in WINE development.
An interesting question that I have, is whether training on proprietary, non-trade-secret sources would be allowed. Something like unreal engine, where you can view the source but it's still proprietary.
-
Terminal Smooth Scrolling
Windows Terminal is pretty good and a new terminal emulator written in the last few years. No smooth scrolling, here's the GitHub issue requesting it: https://github.com/microsoft/terminal/issues/1400
-
Microsoft defends Edge's predatory practices with cringe reply on X
Assume its related to this:
https://github.com/microsoft/terminal/issues/10362
It's nothing serious just microsoft engineers writing slow as shit code and reacting poorly to someone trying to help.
-
Should Windows have a default CLI editor?
"There are plenty of offline scenarios where this would be incredibly useful. For disconnected environments, etc. There are some environments that will never connect to winget."
Source: https://github.com/microsoft/terminal/discussions/16440#disc...
- Windows Feature Exploration: Default CLI Text Editor
- Default Windows CLI Text Editor (Neovim/Emacs/edit/)
What are some alternatives?
Introducing .NET Multi-platform App UI (MAUI) - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
Tabby - A terminal for a more modern age
cxx - Safe interop between Rust and C++
cmder - Lovely console emulator package for Windows
autocxx - Tool for safe ergonomic Rust/C++ interop driven from existing C++ headers
sixel-tmux - sixel-tmux is a fork of tmux, with just one goal: having the most reliable support of graphics
JNA - Java Native Access
PowerShell - PowerShell for every system!
vulkano - Safe and rich Rust wrapper around the Vulkan API
starship - ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!
CC - A small, usability-oriented generic container library.
refterm - Reference monospace terminal renderer