Skip to main content

Posts

Showing posts from January, 2012

How to write a Makefile

Assume there are more number of source files to be compiled using a set of commands everytime is a tedious process. So there is a facility to compile everything at a stretch is by the use of a Makefile. The makefile can be named as either “Makefile” or “makefile”. Let me define four files for my simple application, create a new directory and store all the files given below main.c  (which contains the main program) sum.c (summing function is defined) hello.c (print hello world) function.h (function prototypes are declared) You can download all the files here //function.h int sum(int,int); void print_hello(); //hello.c #include <stdio.h> #include "function.h" void print_hello() { printf("Hello World \n"); } //sum.c #include "function.h" int sum(int a, int b) { int c; c=a+b; return c; } //main.c #include <stdio.h> #include "function.h" int main() { int a=10,b=20,c; print_hello(); c=sum(a,b); printf("The sum of two numbers is %d &quo

Process ID and Parent Process ID in Linux

When referring to process IDs in a C or C++ program, always use the pid_t typedef, which is defined in <sys/types.h>.A program can obtain the process ID of the process it’s running in with the getpid() system call, and it can obtain the process ID of its parent process with the getppid() system call. For instance, the program in Listing 3.1 prints its process ID and its parent’s process ID. 1: // Printing the process ID and parent process ID 2: #include <stdio.h> 3: #include <unistd.h> 4: int main () 5: { 6: printf (“The process ID is %d\n”, ( int ) getpid ()); 7: printf (“The parent process ID is %d\n”, ( int ) getppid ()); 8: return 0; 9: }   fork When a program calls fork, a duplicate process, called the child process , is created. The parent process continues executing the program from the point that fork was called. The child process, too, executes the same program from the same place. So how do the two processes differ?

Setting Path in Linux

Setting a path information in windows is always been easier, since there is a GUI facility “Environmental Variables”, but I Linux setting a path is always been tricky and it should be done through CLI (Command Line Interface).  Here are the following ways to do: Method 1: For each user (Your login id) of Linux has a home folder (/home/username), there will be a file called as .bashrc (Ubuntu and Fedora) or .bash_profile (Fedora), whatever path has to be set, it should be entered in the above file. For example: if the software is installed in /home/username/software1/, then the PATH has to be set in the .bashrc or .bash_profile file like this export PATH=$PATH:/home/username/software1/ ($PATH is a shell variable refers to the previous set path also to be included in the PATH setting.) For Java Home export JAVA_HOME=/home/username/<Java_path> Method 2: The above method of path is applicable only for that user. if other users wanted to access the software, then they have to

Basic Linux Commands for Beginners

Using a Linux machine using a shell Prompt is always a challenge these days. Many of us feel it is tougher to use Linux because of its Conventional Shell prompt, but the GUIs are so sophisticated when compared with Other Operating systems like windows, etc. But still as a developer, one has to be good at Linux both in the GUI and as well as in Shell. For novice users and beginners, the following commands will make understand the importance of Linux and their commands. Basic Commands Commands usage Explanation ls ls to list the files and folders ls –l ls –l to list the files and folders in long format chmod chmod 777 filename to change the mode of a file pwd pwd display the present working directory passwd passwd Changing the password of the current user echo echo “hello” display the string hello   echo $PATH Display the PATH Variable stored   echo $HOME display the Home folder of the current user   echo $SHELL displays the type of shell used