Home > General Development > Linux Compilers and Assemblers Linux Compilers and Assemblers Eugenia Loli 2003-09-22 General Development 9 Comments Rafeeq Rehman and Christopher Paul explain how to use compilers and assemblers productively in a development environment. About The Author Eugenia Loli Ex-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker. Follow me on Twitter @EugeniaLoli 9 Comments 2003-09-22 6:39 am anyone else notice how the sections kept getting shorter and shorter? I can imagine the authors getting more and more bored.. 2003-09-22 9:08 am That was a lovely tutorial. GCC is one of my favorite open source projects. 2003-09-22 10:32 am After a long weekend and too little sleep, frankly, I was getting more and more bored too… Not that the article was bad. And I do too like the GCC project a lot. 2003-09-22 11:17 am Someone noticed how they use ‘Linux’ in the GCC context all the time ? Someone should give them a lesson that GCC exists long before Linux and is obviously NOT necessarily Linux related or Linux centric. I was in the same situation not long ago where I had the opinion that without the Linux movement GCC wouldn’t have become what it is now – until someone from the QNX camp told me that the people working on GCC are not usually comming from the Linux camp and that it would have made the same progress even without Linux. Even when I not entirely share this sight (E.g. I do belive that the open source movement and Linux helped a lot to increase it) but what I share is that we should stop make everything GNU related or open source related centric to Linux. 2003-09-22 11:41 am I wonder why the authors didn’t mention the use of the -j(number of processors) switch which can be used when building GCC. Software development being one of those resource intensive tasks that would benefit from SMP (if the machine supports it). If you are going to go through the trouble of building GCC, you had might as well build to use all of your resources effectively. 2003-09-22 12:55 pm > -j (number of processors) I assume you refer to ‘Make’ here. Read the Make Info file. They do not recommend the -j option and it may break in several situations e.g. Make continues with another file while the previous one is not finished. This may cause things to break in case the 2nd file requests the 1st file but the 1st file is not finished just in time the 2nd file requires it. It also doesn’t return a ‘return value’ that you can check whether the task was successful or not. But that’s all more clearly described in the Make info file. 2003-09-22 2:27 pm “until someone from the QNX camp told me that the people working on GCC are not usually comming from the Linux camp and that it would have made the same progress even without Linux.” I’d like to point out that non-trivial amounts of work on gcc are coming from IBM and Intel – and I have strong suspicion that it’s not because they’re trying to get better support for QNX. Your assertion that gcc developers don’t usually use Linux may or may not be true (it seems rather counter-intuitive), as I’m not a gcc dev and wouldn’t know, but I’m pretty sure it would not be in the same state it is today without the popularity of Linux. Your point as to GNU != Linux is well-taken, but keep in mind that most people who’ve heard of gcc are probably thinking of it in the Linux context due to Linux’s relative popularity. I don’t think it’s inappropriate to approach the subject from a Linux-oriented point of view. Whatever it’s history, gcc and Linux are inextricably linked, as for the longest time, it was the only compiler that could compile a Linux kernel. -Erwos 2003-09-22 2:51 pm Gentoo, by default, builds almost everything with -j<number of processors> +1. e.g. -j2 on a single processor system, -j3 on a dual processor system, etc. I’ve had no trouble with it. 2003-09-22 5:02 pm The compiler-flags section is quite sensless – he didn’t even copy&paste the man page’s comments It would also be interesting which flags -O1 -O2 and -O3 imply. And what about precompiled headers – regarding e.g. speeding-up wxWindows-project compilation?