In C programming language, the concept of pointers is the most powerful concept that makes C stand apart from other programming languages. In the part-I of this series we discussed the fundamental concepts around C pointers. In this article, we will try to develop understanding of some of the relatively complex concepts. The following are [...]
C Programming
If you are interested in writing Linux system programming, you should learn all the basic library/system calls. This article has an example C program that covers a set of system calls that will help you understand the usage of these basic library calls. The example C code given below does the following: Automatically opens up [...]
Typically two processes communicate with each other on a single system through one of the following inter process communication techniques. Pipes Message queues Shared memory There are several other methods. But the above are some of the very classic ways of interprocess communication. But have you ever given a thought over how two processes communicate [...]
This article is part of our on-going C programming series. There are times while writing C code, you may want to store multiple items of same type as contiguous bytes in memory so that searching and sorting of items becomes easy. For example: Storing a string that contains series of characters. Like storing a name [...]
Anybody who is working on Linux environment (not just developers), should understand the fundamentals of C programming language and write some basic C program. This article is part of our ongoing series on C programming language. The concept of pointers is one of the most powerful fundamentals of C/C++ language. Through pointers a developer can [...]
One major aspect of system programming is to handle memory related issues effectively. The more you work close to the system, the more memory related issues you need to face. Sometimes these issues are very trivial while many times it becomes a nightmare to debug memory related issues. So, as a practice many tools are [...]
Linking is the final stage of the gcc compilation process. In the linking process, object files are linked together and all the references to external symbols are resolved, final addresses are assigned to function calls, etc. In this article we will mainly focus on the following aspects of gcc linking process: Object files and how [...]
You write a C program, use gcc to compile it, and you get an executable. It is pretty simple. Right? Have you ever wondered what happens during the compilation process and how the C program gets converted to an executable? There are four main stages through which a source code passes in order to finally [...]