All Projects → HackerFoo → startle

HackerFoo / startle

Licence: Apache-2.0 license
Startle C Library

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to startle

Graphql Typed Client
A tool that generates a strongly typed client library for any GraphQL endpoint. The client allows writing GraphQL queries as plain JS objects (with type safety, awesome code completion experience, custom scalar type mapping, type guards and more)
Stars: ✭ 194 (+1193.33%)
Mutual labels:  codegen
Quick Protobuf
A rust implementation of protobuf parser
Stars: ✭ 244 (+1526.67%)
Mutual labels:  codegen
vox
Vox language compiler. AOT / JIT / Linker. Zero dependencies
Stars: ✭ 288 (+1820%)
Mutual labels:  codegen
Artist
An artist creates views. Artist is a Gradle plugin that codegens a base set of Android Views.
Stars: ✭ 208 (+1286.67%)
Mutual labels:  codegen
Aws Mobile Appsync Sdk Ios
iOS SDK for AWS AppSync.
Stars: ✭ 231 (+1440%)
Mutual labels:  codegen
generator
Any Code generator
Stars: ✭ 421 (+2706.67%)
Mutual labels:  codegen
Rust Bindgen
Automatically generates Rust FFI bindings to C (and some C++) libraries.
Stars: ✭ 2,453 (+16253.33%)
Mutual labels:  codegen
d2a
A translator Django into SQLAlchemy.
Stars: ✭ 23 (+53.33%)
Mutual labels:  codegen
Generator
Use your AsyncAPI definition to generate literally anything. Markdown documentation, Node.js code, HTML documentation, anything!
Stars: ✭ 237 (+1480%)
Mutual labels:  codegen
evon
Fast and versatile event dispatcher code generator for Golang
Stars: ✭ 15 (+0%)
Mutual labels:  codegen
Openapi Codegen
OpenAPI 3.0 CodeGen plus Node.js minus the Java and emojis
Stars: ✭ 224 (+1393.33%)
Mutual labels:  codegen
Cranelift
Cranelift code generator
Stars: ✭ 2,485 (+16466.67%)
Mutual labels:  codegen
slm-code-generation
TensorFlow code for the neural network presented in the paper: "Structural Language Models of Code" (ICML'2020)
Stars: ✭ 75 (+400%)
Mutual labels:  codegen
Spring Cloud Codegen
Spring Cloud代码生成器
Stars: ✭ 203 (+1253.33%)
Mutual labels:  codegen
DotNetJS
Consume C# in JavaScript with comfort: single-file UMD library, auto-generated 2-way bindings and type definitions
Stars: ✭ 551 (+3573.33%)
Mutual labels:  codegen
Swagger Node Codegen
An OpenAPI 3.x/Swagger 2 code generator for Node.js
Stars: ✭ 189 (+1160%)
Mutual labels:  codegen
Lightbeam
Lightbeam has moved and now lives in the Wasmtime repository!
Stars: ✭ 253 (+1586.67%)
Mutual labels:  codegen
cmake-reflection-template
A template for simple C++ reflection done with CMake and Python (no other external tools)
Stars: ✭ 37 (+146.67%)
Mutual labels:  codegen
kubernate
Kubernetes+Generate = Kubernate❤️
Stars: ✭ 96 (+540%)
Mutual labels:  codegen
gg
General Golang Code Generator
Stars: ✭ 88 (+486.67%)
Mutual labels:  codegen

Startle Library

Startle is a library of useful and efficient algorithms and facilities for developing C programs.

Library features include:

  • Low overhead in-memory structured logging: deferred string formatting, indented with context, stored to a ring buffer, minimal overhead allowing use in release builds
  • Macros: for common tasks such as iteration, bit/flag operations, intrusive lists
  • Dispatch macros: Simulate overloaded functions for variable arguments
  • Error handling
  • Algorithms: Quicksort, binary search, string segments, simple mmap'ing, integer log, hash set
  • Zero space overhead map: O(log(n)) insertion, O(log(n)^2) lookup, O(log(n)) in-place conversion to a sorted array for O(log(n)) lookup afterwards.

Makefile features include:

  • Automatic dependency handling
  • Integration with makeheaders to automatically generate and update headers for .c files
  • Simple code generation: Collect macro-like annotations into lists for x-macros
    • Used for: Unit tests, handling commands and flags

Documentation can be found here.

See the example program to get started.

Startle was originally developed as part of PoprC.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].