Windows-driver-samples
spdlog
Windows-driver-samples | spdlog | |
---|---|---|
12 | 44 | |
6,627 | 22,302 | |
0.9% | - | |
6.6 | 8.9 | |
3 days ago | 3 days ago | |
C | C++ | |
Microsoft Public License | MIT |
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.
Windows-driver-samples
-
GOTOphobia Considered Harmful (In C)
The state machine example is definitely a very fitting use of goto, but it reminds me of another thing that seems to have become a rare skill but is very useful: flowcharting. Besides making people comfortable with goto in general, it also helps visualise control flow in ways that a lot of programmers these days don't realise, and it's unfortunate that a lot of courses seem to have omitted its teaching.
Also worth reading is "GOTO Considered Harmful Considered Harmful": https://news.ycombinator.com/item?id=11056434
And here Microsoft provides us with lovely example of such ridiculous nesting.
That's a very memorable example, but ultimately the true cause of that monstrosity is a clearly stupid API design; this is the API for a file picker, the recommended replacement for an existing one that they wanted to deprecate. In the existing one, you fill in a structure and call a single function with a pointer to it. In its replacement, you need to call a dozen methods on an object, and check for "possible" errors on each call, even if probably 99% of them only do things like assign to a field in a now-opaque structure and can never produce an error. Then the example code must've been edited by someone with severe gotophobia. (Not all MS code is like that --- they have plenty of other example code that uses goto, e.g.: https://github.com/microsoft/Windows-driver-samples/blob/mai... )
-
Installing avssamp virtual camera driver in Windows 10
The source code for the sample can be found here. Check this code out to a local folder and use the included visual studio solution to open it up. You should be able to build this code as is; if it's telling you that you need spectre mitigated libraries to build it you can either acquire those via the visual studio installer or go to Project Properties > C++ > Code Generation > Spectre Mitigation and select disabled (I have it enabled so disabling it could cause issues, probably not though).
- how tf do you make a driver???
- Struggling with Windows Kernel data structures
-
Toggling laptop touchscreen with a keyboard shortcut
This project was my first experience working with device drivers, and uses the Windows devcon utility to disable and re-enable a device driver.
-
Audio Programming Question(s)
So a quick look at the Wikipedia site of "Virtual Audio Cables" reveals that it's based in n a custom windows driver. Based on that I would start here
-
Question about Windows Drivers
Given that they're essential and worth about $1.8 million, then, it sounds like the proper solution would be to argue for the budget to engage a developer to write, test and sign a replacement driver. (Especially since the Intel 82930 USB test board is literally used by Microsoft as an archetypal example device in USB driver development documentation.)
-
Has anyone gotten Pulseaudio to work on macOS Catalina for mixing audio into the microphone?
Maybe corresponding Windows API? https://github.com/microsoft/Windows-driver-samples/tree/master/audio/simpleaudiosample and https://docs.microsoft.com/en-us/windows-hardware/drivers/audio/getting-started-with-wdm-audio-drivers.
-
A GPIO Driver in Rust
Well yes. But Linus is right on that one.
I wouldn't say Windows drivers were C++, more like "C with Classes" (and maybe a little bit C++)
Also, Windows drivers are usually much more convoluted than Linux drivers https://github.com/microsoft/Windows-driver-samples
-
Driver development using Rust.
A more practical resource are the various driver samples Microsoft provides: https://github.com/microsoft/Windows-driver-samples
spdlog
-
Show HN: Logfmtxx – Header only C++23 structured logging library using logfmt
Why a new lib instead of using or contributing to an existing one as spdlog?
https://github.com/gabime/spdlog
-
C++ Game Utility Libraries: for Game Dev Rustaceans
GitHub repo: gabime/spdlog
-
Easy logging A logging system for c++20
SpdLog https://github.com/gabime/spdlog
- Blackbox library for embedded systems
- cpp macros
-
Compiled logging library suggestion(s)?
The usual recommendation when logging libraries are brought up is spdlog, which is however header-only. It's available on Conan-center.
-
What a good debugger can do
* Aha! In digging up the docs for NDC, I found this[1], which does mention a book for your reading list: "Patterns for Logging Diagnostic Messages" part of the book "Pattern Languages of Program Design 3" edited by Martin et al.
[1] https://github.com/gabime/spdlog
- Does spdlog::get()->critical throw?
-
CMake question
FetchContent_Declare( spdlog GIT_REPOSITORY https://github.com/gabime/spdlog GIT_TAG origin/v1.x ) FetchContent_MakeAvailable(spdlog)
-
I want to slightly change the behavior of the std::cout
Typically, you'd use a logging library to handle stuff like this. I personally like spdlog. You use different logger functions (info, warn, error) and depending on what level you have set for the logger (or globally) some of the functions become no-ops. E.g. When not running in verbose mode all spdlog::info() do nothing.
What are some alternatives?
Weylus - Use your tablet as graphic tablet/touch screen on your computer.
glog - C++ implementation of the Google logging module
rust - Empowering everyone to build reliable and efficient software.
Boost.Log - Boost Logging library
deskreen - Deskreen turns any device with a web browser into a secondary screen for your computer. ⭐️ Star to support our work!
easyloggingpp - C++ logging library. It is extremely powerful, extendable, light-weight, fast performing, thread and type safe and consists of many built-in features. It provides ability to write logs in your own customized format. It also provide support for logging your classes, third-party libraries, STL and third-party containers etc.
bbqueue - A SPSC, lockless, no_std, thread safe, queue, based on BipBuffers
G3log - G3log is an asynchronous, "crash safe", logger that is easy to use with default logging sinks or you can add your own. G3log is made with plain C++14 (C++11 support up to release 1.3.2) with no external libraries (except gtest used for unit tests). G3log is made to be cross-platform, currently running on OSX, Windows and several Linux distros. See Readme below for details of usage.
click - The Click modular router: fast modular packet processing and analysis
plog - Portable, simple and extensible C++ logging library
arraystring - Fixed capacity stack based generic string that works on stable
log4cplus - log4cplus is a simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. It is modelled after the Java log4j API.