The test next week! Lab on Monday: Practice problems, kinda like tests have Advising note: CS253 next Fall, hybrid courses in general 3D Structure Generation with Python in Blender Files on Unix: How platform dependent will this be? Windows does have "file handles" Cross-platform functions: fopen, c++ input streams, Python files, etc. You could make a file class with a different version for each OS C++ is cross-platform because it does something different on each OS Here in assembly, we're NOT cross-platform! Today's programs probably won't even run on BSD without modification! 0, 1, 2: Standard in, out, error cin, cout, and cerr in C++ C++ on Windows replicates that functionality with Windows API calls But let's open a file by name! And put text in it! Binary vs. Text files: The difference is all in your head Basically, a text file avoids byte values that aren't ASCII characters Let's edit a compiled program to say something different *nix, and tables: An open file table is held for each process What can you do with a file? open (files that are actually files only) read write lseek (unless it's a network socket, standard in, etc) mmap (Again, unless it represents sequential data) Monitor it for additions (with select, or a blocking read) tail -f demo Look at Wikipeda for a big list Read from a file: Can we read an array of 10 numbers? It'll have to go somewhere (stack allocation) We can put some numbers into a file from C Couldn't we do this in assembly? Lazy...