Here are some of the projects I developed in C/C++. Most of my work at SFU is done in C and here I show some of the more complex programs I have developed using C.
Lets Talk is a multithreaded program that can send and receive messages from other instances of itself. It utilizes multithreaded architecture to allow the program to send and receive incoming messages simultaneously. The program uses 2 linked lists, one to store outgoing messages and one to store incoming messages. Accessing these linked lists from multiple threads creates a critical section so the program uses mutex lockes to prevent multiple threads from accessing the lists at the same time. The user runs the program and provides their own port, their friend's name and their friend's port as parameters. The program can then send and receive messages using these ports. The program also has a !status function which lets the user check if their friend is online. Messages entered will not be sent if the other end is offline.
Myls is a program that has the functionality of the Linux ls command. It comes with the -R, -i and -l parameters of ls which allows it to recursively show directory contents, show inode number and list directory.