r/cprogramming 3h ago

Update on Flint(v0.4.0): Bare-bones, git-native build system & package manager for C/C++ (Now with tag & commit pinning)

Thumbnail
github.com
Upvotes

Hey folks, quick update on Flint—a lightweight, manifest-first build system and package manager for C/C++ projects I’ve been experimenting with.

For those who missed the initial post, Flint aims to strip away build-script complexity and make C/C++ dependency management feel straightforward.

Core features:

* Git-Native: Fetch dependencies directly into your workspace via flint add <url> and flint sync.

* Single composition.json Config: Handles project layout, header paths, and underlying compiler calls (GCC/Clang). For standard setups, Flint manages this file automatically so you don't have to tweak it manually.

* Chert Compositions: Lightweight specs that make unmanifested, third-party C/C++ repos compatible out of the box.

What’s new in this update:

* Version & Commit Pinning: You can now pin dependencies to specific releases or exact commits. flint add now supports target selection via Git tag names or full commit hashes, making your project builds reproducible across machines.

Current caveats:

* Still forces a fixed project directory structure (src/, include/, deps/).

* Currently Linux-only.

It’s still an early prototype, but actively evolving. I'd love to hear your thoughts on the new versioning flow, suggestions for improvement, or feature requests!

Repo: https://github.com/mainak55512/flint


r/cprogramming 1d ago

Do you guys like VSCode for C development?

Upvotes

Hey whatsup guys. I am currently working on an emulator in C and I am pretty well experienced in C... hints the reddit name lmao. My platform is Arch Linux (I use Arch btw.). I began using emacs, then turned to Vim, then AstroVim, and now I use my own personal flavor of NeoVim roughly inspired by AstroVim. However, as I have gotten more into this project, I'm really feeling lazy about using NeoVim as with ~500 opcodes and a spaghetti code jumble of operation helpers in a giant switch statement, I just like to kind of sit back in my chair and just look at code and scroll through it with my mouse casually trying to get my bearings. It kind of feels cozy and chill instead of me being typing and pressing keys like a psycho tweaker, like I dont want to even mess with keybinds and just want to casually click through my code and think. As such I am thinking about switching to VSCode as I used it before for some random things like Lua and TypeScript in the past, but I also have never used it formally with C. How is the development process with it for you guys?

EDIT: This is also gonna sound really silly and I would like to not be judged as I am trying to work on myself. However, I think I am kind of trapped in an elitist mindset about neovim which is why ive forced myself to use it for 2 years. Honestly, I just think its halting my progress as I am getting bad tunnel vision and focusing too much on things that dont matter. As such, I am wondering how to get out of this echo chamber world view and stop caring about what others think.


r/cprogramming 11h ago

I Made a String Library to Fix C Strings

Upvotes

I wrote an article about this as well. Here it is.

There I explain why I do not like NUL-terminated strings and how I implemented my own simple string library in C.

If you have some spare time I would really appreciate some feedback on the article and the library.

The code is sitting on a codeberg repository.

Also, tell me what you think about C-style strings. Do you like them? Do you use them, or do you also tend to roll your own pointer + length structs?


r/cprogramming 20h ago

Is there something wrong with Cradicle (decentralized GitHub alternative)? I'm looking for feedback on why you do or don't want to use it, especially if you use Radicle (what it's based on) - crossposting here because it uses C

Thumbnail
Upvotes

r/cprogramming 1d ago

How many hate/love C? Why? Py is so confusing to use. No ; %d %f, loops structure like C, Most important No low level grasp. Your reasons are welcomed. Pls

Thumbnail
Upvotes

r/cprogramming 2d ago

How to effectively switching context in big project that you handle end to end from top to bottom Solo.

Upvotes

I am a Network background person. And decide to build a BNG (maybe micro or mini). You know the cost of Juniper/Cisco BNG they expensive because of capacity.

Programming is not my main job now so only able to coding in spare time.

My targets:

-          Maybe 100 concurrent users, 50MBps-1GBps

-          Able to run on embedded platform as cheap as $5 linux based router.

-          I will use this as personal use, portfolio , or commercialize or opern sourcing.

I already have many LOC of codes maybe around 8k LOC of scaffolding and few MVP that use as admin platform in production environment.

I split the big project into just two big sub project: Core and Satellites.

Core is using C language only.  Core is the main ControlPlane.
Technologies / stacks that already come in for Satellites project:

-          Freeradius (no C, must understand the DSL).

-          Nginx for reverse proxy.

-          Radius listener in C (implement straight from the RFC).

-          Sqlite.

-          C backend (http), there would several because separate domain.

-          PPPOE implementation in C (implement straight from the RFC).

-          Custom IPOE desain.

-          Mikrotik (as DataPlane), later will also support in host DP. Mikrotik is for scaffolding the proof my projects. In host DataPlane not yet implemented.

-          Frontend (JS, html), there would be several I think.

-          Google SSO Oauth mechanism in C that already work.

-          Maybe some think else that already coded.

All above code are modular so I can usually run and test them in separate environment, say I already able to login using Google Login to Mikrotik network, I already able to parse radius accounting packet that sent from Freeradius etc.

I am not yet make comprehensive documentation, it would be in full size book. And still continue structurize the folder and git versioning.

Now my questions, I know this is a big project and would be naïve to tackle that Solo and expect full ready result (or is it possible?). What do you guys suggest about this project ?

  


r/cprogramming 1d ago

HELP ME TO FIND BEST YT VIDEOS FOR DATA STRUCTURE IN C

Upvotes

IN AM IN 2ND YEAR 3 SEM i am cooked


r/cprogramming 2d ago

CONTLIB [old newbish project revised]

Upvotes

My revised implementation of a dynamic data container (vector like object):

https://github.com/andrzejs-gh/CONTLIB

If anyone's interested take a look. Any feedback and tips very much welcome.


r/cprogramming 2d ago

Unpopular opinion: plan9-style arg.h is the best argument parser

Upvotes

Simple, has no dependencies, it's concise and doesnt get on the way.

I mean something like http://git.suckless.org/sbase/file/arg.h.html


r/cprogramming 2d ago

Learning C: Verify my understanding of null and free

Upvotes

You ownwed a home for 20 years and decided to sell it to the government. Basically freeing basically turns you into a ghost like sneaky homeless person. If there is currently no owner to that home, you can go and modify it, watch TV, move the chairs, and use the AC. But when new owners arrive and you begin to do something to the house, they will not catch you immediately, but they will notice it later, which causes weird behavior like something supernatural. They expect the house to be in a certain order, but when they go home, they will notice that something weird happened and cannot explain it. For example, say a child left an assignment with perfect answers. you, as a ghostly being, go and change the answers. When the child passes in the exam and gets back the score, they notice that the score does not match their expected score because someone just corrupted the test paper. It could crash the program or something weird happens (bugs)

Meanwhile, by setting the pointer to null, you now have no access to that home and instead hold the address to a black hole. You tried doing something to it not knowing it is actually a blackhole and yor city crumbles


r/cprogramming 3d ago

(Almost) Everything You Need To Know About Pointers in C

Thumbnail
abhattacharyea.dev
Upvotes

r/cprogramming 3d ago

How can I have both C and C++ compilers active and automatically selected in VsCode when debugging and compiling?

Thumbnail
Upvotes

r/cprogramming 3d ago

Help me pls

Upvotes

wants to learn c programming from basics to advanced

Pls recommend some good youtube channels/ notes /books that actually worked for you

1st year student btw


r/cprogramming 3d ago

I have made a C++ scientific calculator

Thumbnail
Upvotes

r/cprogramming 3d ago

st2cpp - Transpiler from ST to cpp (undoRT) + help +

Upvotes

Hi everyone,
About 4 or 5 months ago, I created a transpiler from Structured Text (IEC 61131-3) to C++, called st2cpp (part of the undoRT project).

My ultimate dream is to build a complete open-source automation system that can compete with commercial solutions. As you can imagine, tackling a project of this scale completely alone is extremely tough. Honestly, if I keep going solo, I’m afraid I’ll eventually burn out and lose momentum.

Are there any C++ developers or automation enthusiasts here who would be interested in joining or contributing as a side project/hobby? I have plenty of ideas lined up, but I really need an extra pair of hands (or two!).

Here is the repository:
https://github.com/undoRT/st2cpp
Feel free to check it out, open issues, fork, or send pull requests!


r/cprogramming 4d ago

[UPDATE]: Zooming daemon for wayland

Thumbnail
youtu.be
Upvotes

r/cprogramming 4d ago

Chess terminal game in C

Thumbnail
Upvotes

r/cprogramming 5d ago

Building vector Database from scratch in C implementing IVF and HNSW to understand how to work with scalable C codebase

Upvotes

Code ( still working might have bugs and all..)

https://github.com/aadityansha06/vecdb

Been building a VectorDB engine from scratch in C in such a way that it can be scalable in the future. It's a custom, high-performance, disk-backed Approximate Nearest Neighbor (ANN) vector database built entirely from scratch in C

Even though the initial version of it hasn't been built yet,

As for the algorithms, I have implemented ENN and Ann IVF only, For calculating similarity, I have implemented cosine similarity and Euclidean distance. There is still more to implement like HNSW and optimize for CUDA and SIMD.

Before you guys criticise me what's new and why I'm building 😭

There isn't anything unique I'm solving in it, and pretending otherwise would just be bluffing. There are excellent vector databases already (pgvector, Faiss, sqlite vec, Qdrant...).

What I actually own is the engineering of it. I wrote a disk backed ANN search engine from scratch in C, my own binary file format, manual fseek byte offset indexing, k means clustering by hand, no libraries doing the hard parts for me.

I'll continue to work on it, implementing SIMD, CUDA, HNSW, and many more optimizations to make it more robust and scalable. If anyone is interested, they can join and work on it. Also if anyone has any idea where we should take this, the suggestion would be appreciated too.

I have a nice write up section there too so feel free to check out that as well


r/cprogramming 6d ago

Built An Editor - A code editor written in C. AND you can make one too!

Upvotes

Aether is a GUI based code editor built from scratch in pure™ C. It can do everything you would expect a code editor to do.. autocomplete, syntax highlighting, multi file etc.

Didn't follow any tutorials or anything to make this...

™Used SDL2 for graphics

No AI was used in da project, except for writing the project documentation.


r/cprogramming 5d ago

👋Welcome to r/TechnoCrisis - Introduce Yourself and Read First!

Thumbnail
Upvotes

I am DueYak1831

A 16 year old programmer i welcome you to TechnoCrisis


r/cprogramming 6d ago

I built a Linux syscall monitor in C — would love some feedback

Thumbnail
github.com
Upvotes

Hey everyone! I've been working on a project called SysTrace, a Linux behavioral monitoring tool built mainly to learn more about Linux internals, system calls, and cybersecurity.

It uses ptrace to trace a process and monitor different types of activity, including:

File operations

Process execution

Network-related syscalls

Memory operations

I also added a simple rule-based detection system and experimented with using collected behavioral data for ML classification.


r/cprogramming 6d ago

Is studying C from book better than watching videos for C?

Upvotes

I have prior knowledge about java now in college i started learning C from reading KN Kings Modern approach to C programming , but people at my college are doing it from YouTube videos what should I do ???


r/cprogramming 6d ago

A project so great

Upvotes

Drop the best project you've made.

The one you are most proud of.


r/cprogramming 6d ago

How to learn

Upvotes

I just started learning C about 5–6 days ago, and I had never coded before.

I completed the CS50 course, so I know the important concepts and have a basic understanding of how things work. But when it comes to actually implementing them, I feel like I’m at zero.

Now I’ve started learning C from the book The C Programming Language. I’m understanding some concepts, but not everything. I’d say I’m only understanding around 20–25% of what I read.

For example, I understand how "getchar()" and "putchar()" work individually, but when I see a program that uses them together, I don’t even understand 60–70% of the program.

I’m getting stuck, and it’s making me think that maybe only people with good logic can survive in programming jobs.

So, please guide me on how I should approach learning C correctly and develop my programming logic.


r/cprogramming 6d ago

С-плюсеры, общий сбор

Thumbnail
Upvotes