|
726 Part VI . Programming in Linux GCC relies on file extensions to determine what kind of source code file it is, that is, in which programming language the source code is written. Table 28-1 lists the most common extensions and how GCC interprets them. Table 28-1 GCC s File Naming Conventions Extension Type .a, .so Compiled library code .c C language source code .C, .cc C++ language source code .i Preprocessed C source code .ii Preprocessed C++ source code .m Objective-C source code .o Compiled object code .S, .s Assembly language source code Compiling Multiple Source Code Files Most nontrivial programs consist of multiple source files, and each source file must be compiled to object code before the final link step. To do so, provide gcc the name of each source code file it has to compile. GCC handles the rest. The gcc invocation might resemble: $ gcc file1.c file2.c file3.c -o progname gcc would create file1.o, file2.o, and file3.o and then link them all together to create progname. As an alternative, you can use gcc s -c option on each file individually, which creates object files from each file. Then in a second step, you link the object files together to create an executable. Thus, the single command just shown becomes: $ gcc -c file1.c $ gcc -c file2.c $ gcc -c file3.c $ gcc file1.o file2.o file3.o -o progname
Back in my day, we didn’t have all these fancy web front-ends to e-mail with their pretty icons and mouse click crunchy goodness. We were lucky if mail got to us at all, since when I started it was *you* configuring the mail hops for
When I finally switched over my personal mail to Google for hosting (got tired of fighting spam) I wound up using the web interface as the primary means of mail retrieval, simply because of my disdain for POP/POP3. Compared to IMAP (well call it the FedEx/UPS of mail), POP (aptly named after the government operated postal service) is a loathsome creature, fit for mole men or politicians and it just wasn’t worth dealing with the fact that I wasn’t always operating on the central message store. It wasn’t until recent frustrations with GMail (and Google’s awesome decision to partially support IMAP) that I started to look at I managed to have just enough time today to grab the sources, do a build and get it installed and configured on my OS X workstation. It works beautifully with GMail and runs fine on the Mac – even opening attachments, but you can look forward to a full review after I’ve been using it for a few days. I am very eager to get the web version up and running as well if only to have a fallback in the even GMail “goes away”.
Sometimes you find a nifty piece of hardware that you just can’t let go into disuse. This time around it was a Tualatin Pentium 3-S 1266MHz CPU new-old stock, new-in-box. I got it some time ago to upgrade a PC for family that it turns out just upgraded the whole system instead. Thus it sat around in the box until I ran across a mobo to drop it in. Recently I found a system at my favorite shopping destination () that had a Tualatin capable mobo; the DFI CM33-TL just so happens to max out a the 1.26Ghz P3-S I already had. Even nicer is that it is the Rev C board which with the newer BIOS updates can boot from USB and can do 48-bit ATA addressing. Alas, no AGP slot. So why all the love for an old P3 server chip? The later P3-S could outperform the early P4 chips and use half the wattage! So what do we do when all that we have to boot the system with is a non-Microsoft OS and most BIOS update utilities run in Windows, or use disk creation software the runs in Windows/DOS? Luckily it seems that is is possible to update some mobos without having to resort to using an unwanted OS. DFI has made the CM33-TL able to boot from a floppy or run a program under Windows to flash the BIOS - or enter an update mode that simply reads the flash utility and BIOS file from a floppy. It turns out that it is a good thing they enabled all three. Under a fairly standard Ubuntu Linux install I was able create a floppy the the DFI board could update from by combining the BIOS update features in a way DFI didn’t document. Several steps that worked for me: I had been concerned about having to make a bootable floppy for the update but the BIOS option to enter the update mode does not need a fully bootable floppy to operate. With a system like this it is possible to operate a NAS system with large drives on a chip that boots from a USB thumb drive, operate on older, cheap RAM and uses little power. Having a system that boots from USB allows you to configure the server to spin down drives that are idle and save more power; an OS on a USB device will not need to spin up the main/RAID drives to write logs, etc. Smart choices of hardware can make a cobbled together server operate more efficiently.
|
Categories
Site Directory
Blogroll |
|||||||||||||||||||||||||||||||||