incbin VS nimscripter

Compare incbin vs nimscripter and see what are their differences.

incbin

Include binary files in C/C++ (by graphitemaster)

nimscripter

Quick and easy Nim <-> Nimscript interop (by beef331)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
incbin nimscripter
9 3
917 141
- -
0.0 5.2
4 months ago about 2 months ago
C Nim
The Unlicense MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

incbin

Posts with mentions or reviews of incbin. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-23.
  • Self-contained Linux applications with lone Lisp
    2 projects | news.ycombinator.com | 23 Jan 2024
    OK, yes, that does work. You can totally put application specific stuff in the elf and reflect on it at runtime. Much easier is to embed it directly and point a symbol value at the start of the data.

    See https://github.com/graphitemaster/incbin for a pretty wrapper around that.

    Aside from there being a drastically simpler answer to this problem available in sketchily documented fashion (the asm guys know .incbin is a thing, but higher level languages overcomplicate it), it's a good post. Idea is sound and goal was achieved.

  • The theory versus the practice of “static websites”
    13 projects | news.ycombinator.com | 15 Jul 2023
    Thanks for the link. We also make static websites by direct inclusion their HTML code in the C++ binary of ClickHouse.

    I've tried to use this library but found a bug: https://github.com/graphitemaster/incbin/issues/61

  • Olive.c: a simple graphics library that does not have any dependencies
    14 projects | news.ycombinator.com | 21 Sep 2022
    won't work, since the preprocessor won't interpret directives inside string literals of course.

    In many assemblers, there is a directive called "incbin" which pastes in unstructured binary data at the point of usage. I just found a very clever C and C++ wrapper [1] for that, which gives you an INCBIN() macro. Nice!

    [1]: https://github.com/graphitemaster/incbin

  • embed workaround
    1 project | /r/C_Programming | 10 Aug 2022
    There's always this: https://github.com/graphitemaster/incbin
  • Finally. Embed
    8 projects | news.ycombinator.com | 23 Jul 2022
    Haven't the people making the standards other things to do, like, integrating useful features instead of duplicating incbin.h [0] years after that feature worked?

    https://github.com/graphitemaster/incbin/blob/main/incbin.h

  • How do I embed files or access them without an operating system?
    1 project | /r/C_Programming | 28 Feb 2022
  • Include files into the Sketch automatically with incbin
    1 project | /r/esp32 | 16 Dec 2021
    There is a project "https://github.com/graphitemaster/incbin" that can take a file and put that file content into the sketch ROM segment as constant / resource. It is an even nicer alternative to "xxd -i" or using string literals like: const char bla[] PROGMEM = R"CERT( ... )CERT";

nimscripter

Posts with mentions or reviews of nimscripter. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-30.
  • NIR: Nim Intermediate Representation
    9 projects | news.ycombinator.com | 30 Sep 2023
    > What does this mean? There's a runtime VM or compile time VM?

    Compile time VM. It's used to run macros / templates / concepts. You can also run most code at compile time in a `static` block except for stuff that needs C calls. You can also compile the VM into a program and use it as a runtime VM (see https://github.com/beef331/nimscripter) which I do in my GUI lib. NIR should enable the compile time VM to run faster too, and possibly use JIT'ed code.

  • Purpose of NimScript vs nim
    3 projects | /r/nim | 17 May 2023
  • Finally. Embed
    8 projects | news.ycombinator.com | 23 Jul 2022
    Checkout Nim! It does much of what you describe and its great. The core language is fairly small (not quite lua simple but probably ML comparable). It compiles fast enough that a Nim repl like `inim` is useable to check features and for basic maths, though it requires a C compiler, but TCC [4] works perfectly. Essentially Nim + tcc is pretty close to your description, IMHO. Though I'm not sure TCC supports non-x86 targets.

    I've never used it but Nim does support some hot reloading as well [3]. It also has a real VM if you want to run user scripts and has a nice library for it [1]. Its not quite Lua flexible but for a generally compiled language its impressive.

    Recently I made a wrapper to embed access to the Nim compilers macros at runtime [2]. It took 3-4 hours probably and still compiles in 10s of seconds despite building in a fair bit of the compiler! It was useful for making a code generator for a serializer format. Though I'm not sure its small enough to live on even beefy m4/m7 microcontrollers. Though I'm tempted to try.

    1: https://github.com/beef331/nimscripter

What are some alternatives?

When comparing incbin and nimscripter you can also consider the following projects:

aoc-2020 - Advent of Code 2020 in 25 Different Languages

pyker - Python tool to convert files from a directory tree into a C header file.

xplain - Interactive demos

pl_mpeg - Single file C library for decoding MPEG1 Video and MP2 Audio

ComputerGraphics - Basic computer graphics implementation , with linux framebuffer

execfs - Proof of concept userspace filesystem that executes filenames as shell commands and makes the result accessible though reading the file.

cdecl - Nim helper for using C Macros

langserver - The Nim language server implementation (based on nimsuggest)

SuperSimpleGraphics - An SVG generating single header file C library appropriate for "intro to programming" classes in C/C++.

nim - Mono - Nim Web Framework