Heady
libriscv
Heady | libriscv | |
---|---|---|
3 | 16 | |
41 | 409 | |
- | - | |
0.0 | 9.6 | |
about 2 years ago | 7 days ago | |
C++ | C++ | |
MIT License | BSD 3-clause "New" or "Revised" 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.
Heady
-
C++ Show and Tell - April 2022
I've recently made a small update to Heady, which is a C++ library and command-line tool used to create amalgamated single-header libraries from standard C++ source files. In the readme, I also describe how to prepare your source code for header amalgamation using four rules.
-
Example of a well organized header-only lib
If you're interested, I've made an open source utility called Heady that converts normal C++ library code into an amalgamated header file. You obviously have to follow a few rules and mark up your functions appropriately, but I've been using this successfully in my Jinx scripting library for a while now.
-
Jinx Scripting Language 1.3 released
In of the first sections in the tutorial and on the Github landing page, I mention that Jinx requires C++ 17, because I do make use of a few C++ 17-specific features. For example, one of those techniques makes it simpler to offer an amalgamated header-only version of the library. I specifically test on the big three: MSVC, Clang, and gcc, on Windows, Mac, and Linux respectively, so I typically don't use features not available on the latest versions of those OSes and their toolchains, or else offer conditional compilation.
libriscv
-
Ask HN: Looking for a project to volunteer on? (November 2023)
Seeking: https://github.com/fwsGonzo/libriscv
This is a C++ RISC-V emulator that focuses on isolating a single process, aka userspace emulation. I am currently working mostly on binary translation, and recently I have made a push to move it from experimental state to fully supported. Another experimental feature is embedding libtcc and using that for binary translation. It is fairly fast to compile, and gives decent speedups. The challenge is what to do now that (perhaps) some low hanging fruits have been picked.
-
Writing a Tiny RISC-V Emulator [video]
I definitely recommend people to consider the base ISA of RISC-V if they want to try to implement a CPU or even full-system emulation. I understand that implementing a GameBoy emulator might be more attractive because you are working towards something graphical, but you can definitely get something similar with RISC-V, eg. Doom (SDL example: https://github.com/fwsGonzo/libriscv/tree/master/examples/do...)
-
MSVC-compatible CMake project
This is the example project: https://github.com/fwsGonzo/libriscv/tree/master/examples/msvc
-
MSVC troubles
Pretty much two days of work: https://github.com/fwsGonzo/libriscv/commits/master
-
Hacker News top posts: Nov 21, 2022
Show HN: Libriscv – RISC-V userspace emulator library\ (7 comments)
- GitHub - fwsGonzo/libriscv: C++17 RISC-V RV32/64/128 userspace emulator library
- Show HN: C++17 RISC-V RV32/64/128 userspace emulator library
-
C++17 RISC-V RV32/64/128 userspace emulator library
There is a doom emulation demo here now: https://github.com/fwsGonzo/libriscv/tree/master/emulator/do...
You will need to add the shareware doom1.wad yourself. :)
What are some alternatives?
muzero-cpp - A C++ pytorch implementation of MuZero
chrgfx - Converts to and from tile based graphics from retro video game hardware
seer - Seer - a gui frontend to gdb
stduuid - A C++17 cross-platform implementation for UUIDs
nomenus-rex - A CLI utility for the file mass-renaming
lager - C++ library for value-oriented design using the unidirectional data-flow architecture — Redux for C++
ctcsound - Python Bindings for Csound using ctypes. Can be used from python2.x and python3.x as well.
Magic Enum C++ - Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code
GPU-Raytracer - GPU Raytracer from scratch in C++/CUDA