C-Sim Roadmap

C-Sim is a C memory management simulator, aimed at students and lecturers. Lecturers can use it for interactive help during classes, while students can try it at home.

This is the list of features that C-Sim should support. The status now is: feature-complete.

Feature Example Implemented Version
Snapshots Interactive, traceable program. Yes 1.1
Types supported: int int x [= 2] Yes 0.41
Types supported: char char ch [= 'A'] Yes 0.41
Types supported: double double d [= 9.9] Yes 1.1
Types supported: char[] char str[5] Yes 1.1
Types supported: constant char[] char * str = "hola"; Yes 1.1
Architecture supported: big endian int x = 257; [0x0102] Yes 0.41
Architecture supported: little endian int x = 257; [0x0201] Yes 1.2
sizeof() operator printf(sizeof(x)) Yes 1.1
Different memory width architectures sizeof(int) == 32 | 64 Yes 1.2
Variable creation int x [= 5] Yes 0.41
Simple pointer creation int * ptr [= &x] Yes 0.41
Simple pointer derreference *ptr = 5 Yes 0.41
Complex pointer creation int ** ptr2 [= &ptr] Yes 1.1
Complex pointer derreference **ptr2 = 5 Yes 1.1
Variable in heap int * ptr = new int; Yes 0.41
Definition of variable in heap int * ptr = new int(5); Yes 1.2
Memory deallocation - C++ delete ptr Yes 0.41
Memory deallocation - C free( ptr ) Yes 1.1
C++ references int &ref = x; Yes 0.41

C-Sim's web.

C-Sim roadmap
jbgarcia@uvigo.es