Skip to main content

Posts

Showing posts from January, 2012

Workshop on Wearable Computing in VIT University - Chennai Campus

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 ",c);
return 0;
}

There are differe…

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? First, the child proce…

Printing the Uptime and Idle Time of processor (Linux)

/proc/uptime file contains only two values in seconds, one is the Uptime of the processor (the time upto which the processor was on) and another is the idle time of all the processors (cores). So idle is always higher than the uptime in case of multicore processors.The following C program shows the uptime and idle time in terms of days hours and minutes. This is a very simple program just tells you how to convert a given time in days, hours, minutes and seconds.using C FILE concept, the /proc/uptime file is been read using the “r” mode and values are fetched and then converted into days, hours and seconds. 1: // printing the uptime and idle time 2: #include <stdio.h> 3: /* Summarize a duration of time to standard output. TIME is the 4: amount of time, in seconds, and LABEL is a short descriptive label. */ 5: void print_time (char* label, long time) 6: { 7: /* Conversion constants. */ 8: constlong minute = 60; 9: constlong hour = minute * 60; 10: cons…

Printing Linux Environment using C Program

Linux provides each running program with an environment. The environment is a collection of variable/value pairs. Both environment variable names and their values are character strings. By convention, environment variable names are spelled in all capital letters. You’re probably familiar with several common environment variables already.
For instance:
USER contains your username.
HOME contains the path to your home directory.
PATH contains a colon-separated list of directories through which Linux searches for commands you invoke.
DISPLAY contains the name and display number of the X Window server on which windows from graphical X Window programs will appear. //Printing the Execution Environment
#include <stdio.h>
/* The ENVIRON variable contains the environment. */
externchar** environ;
int main ()
{
char** var;
for (var = environ; *var != NULL; ++var)
printf (“%s\n”, *var);
return 0;
}

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 thisexport 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 Homeexport 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 set the paths. B…

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 CommandsCommandsusageExplanationlslsto list the files and foldersls –lls –lto list the files and folders in long formatchmodchmod 777 filenameto change the mode of a filepwdpwddisplay the present working directorypasswdpasswdChanging the password of the current userechoecho “hello”display the string helloecho $PATHDisplay the PATH Variable storedecho $HOMEdisplay the Home folder of the current userecho $SHELLdisplays the type of shell used /bin/bashtartar xf filename.tarto decompress the tar file and extract the fo…