Set Up a VM
A local Linux VM:
- The easiest way to do programming work is to have the development
environment installed locally on your personal computer.
- For Linux systems programming, Linux is our development environment.
- Having it installed as your main OS is probably best.
- But, for consistentency, the assignment is for everyone to install
exactly Debian 10 64-bit in a VirtualBox virtual machine.
- If you aren't developing on the VM and you run into weird problems later in
the semester, use this VM to rule out configuration issues.
The CCIS server:
-
ssh ntuck@login.ccs.neu.edu
-
This is a shared Linux server.
-
This is a generally useful tool, and it will be possible
to do some of your homework on this server.
-
Working directly on a remote server is a good reason to learn
a command line editor like vim.
-
Show Putty, WinSCP web page
-
Show ssh and scp on Linux
-
Show Cyberduck page
Write Some Code
- Download starter code.
- Write some simple C and ASM code.
- Make sure it compiles and runs.
- Pack it back up and submit.
This assignment is mostly about structure, process, and getting annoyed
at the autograder.
Keep in mind:
- A C (or asm) program is a collection of functions.
- These functions can be in one source file or in a bunch of different files.
- C functions and ASM functions are the same thing. You can mix them together
in the same program.
- It's easiest if each file is all-C or all-ASM.
Object file example:
$ gcc -c -o add1.o add1.c
$ gcc -c -o add2.c add2.c
$ ...
$ gcc -o example add1.o add2.o main.o