I started to learn how to program when I was 8 years old with BASIC. After like 5 years of GW-BASIC, I started to program in C and inline assembly language with my IBM XT PC. In my high school days, I used to program in C++, but it was rather close to C. And then since I entered university and until now (10 years), I have been using Java as my primary language. Although I remember how to write a basic program in C, I must admit it was too long ago to say I know C well at this moment.
Now, I want to re-learn C for my leisure, to write some free software in C where C serves better. I am mostly interested in:
- what has changed in C99,
- writing portable C application that works in wide variety of modern compilers,
- the techniques required to build a large and complex application (like build tools, shared libraries, modularization, and so on),
- and other advanced topics about C language itself (like 'Effective C++')
Is there any books or online materials that cover these topics concisely? Obviously, I don't want to buy a beginner book that spends its half about control statements and functions.