CS 4414/5416:
Systems Programming
Lab 5: FFI and assembly
2026-09-25
Lab Logistics Reminder
Primary goal: Work together on something
- Fine to have small groups (up to 4)
- Work on the lab assignment during the hour
This week is about interfacing Rust with C and examining assembly output.
Computing Hardware
- Parts 1-2: set up
build.rs and safe wrappers for C functions
- Part 3: check out the C and Rust assembly output
- Assembly language depends on the platform!
- You may want to use Google cloud shell: https://shell.cloud.google.com
- You may also use your VM if you want
- If you finish with spare time, check out
llvm-mca!
Getting the material
Repo: https://github.coecis.cornell.edu/cs4414-f26/lab-05
At the end of the hour run cargo package and submit the crate file as a group on Gradescope (I will grade based on whether the crate builds and tests pass).
- If you finish with spare time, check out
llvm-mca too!
- If you used a VM, REMEMBER TO SHUT DOWN YOUR VM!
- Try using
rust-bindgen to automatically create bindings!