CMD Simulator

MemC FAQ

What C features does MemC support?

MemC supports int, char, pointers (* and &), fixed-size arrays, basic arithmetic, if/while/for, function calls, malloc, calloc, free, and printf. No structs, floats, scanf, recursion, macros, or typedefs in v1.

How do I run MemC?

Start the backend: cd backend/memc && python app.py (or python3 app.py). It runs on port 5000. Then open the MemC page in your browser. The Next.js app runs on port 3000.

Why do I see 'Failed to connect to MemC backend'?

The Python Flask backend must be running on port 5000. Start it with python app.py from the backend/memc directory.

What is use-after-free?

Use-after-free is accessing memory after it has been freed. It causes undefined behavior and security vulnerabilities. MemC detects and reports it.

What is double-free?

Double-free is calling free() twice on the same pointer. It corrupts the heap allocator. MemC detects and explains it.

What is a memory leak?

A memory leak occurs when you allocate memory with malloc but never free it. MemC warns about blocks that remain allocated at program end.