≡ Menu

GNU C / C++

HowTo: Compile And Run a C/C++ Code In Linux

I am a new Linux user and student who used to write C or C++ programs on MS-Windows. Now, I am using Ubuntu Linux. How can I compile a C or C++ program on Linux operating systems using bash Terminal application?
[click to continue…]

Linux: Set OR Change The Library Path

I've compile and installed a library at /usr/local/lib/libapp2.so -> libapp2.so.1.4.3. How do I set the Library path under Linux operating systems?
[click to continue…]

Linux: Display Binary Object Section Size, Text & Data Segment Information

How do I find out the size of the bss, text segment and data segment for each object or binary file under Linux operating systems?
[click to continue…]

gedit: Add Python / C++ Autocomplete Support

How do I add Autocomplete support to gedit text editor under Linux Gnome desktop operating systems?
[click to continue…]

Freebsd makeinfo: not found Error and Solution

Q. I'm trying to build PHP5 under FreeBSD jail and I'm getting an error that read as follows:

m4.info-[0-9][0-9] ./m4.i[0-9] ./m4.i[0-9][0-9]; do if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; done; else :; fi && cd "$am__cwd"; if makeinfo --no-split -I . -o ./m4.info ./m4.texinfo; then rc=0; cd .; else rc=$?; cd . && $restore $backupdir/* `echo "././m4.info" | sed 's|[^/]*$||'`; fi; rm -rf $backupdir; exit $rc
makeinfo: not found
*** Error code 127

Stop in /usr/ports/devel/m4.
*** Error code 1

Stop in /usr/ports/devel/autoconf262.
*** Error code 1

Stop in /usr/ports/lang/php5.
*** Error code 1

How do I get rid of this problem and compile applications?
[click to continue…]

Alarm clock: How To Set Timeout For A Shell Command

Q. How can I run a command called foo, and have it timeout / abort after 10 seconds under GNU/Linux running bash shell or script? How do I run command under an alarm clock?
[click to continue…]

Truss like command under Linux to monitor and diagnostic the system calls

Q. Solaris and FreeBSD both provide the truss command to monitor and debug system calls. I'm unable to find this command or package. How can I install truss under Linux?

A. truss is a debugging utility in Solaris and FreeBSD to monitor the system calls used. It is used to trace call and useful debugging many problems. Linux provides strace command. This command is installed by default. strace is a useful diagnostic, instructional, and debugging tool. System administrators, diagnosticians and troubleshooters will find it invaluable for solving problems with programs for which the source is not readily available since they do not need to be recompiled in order to trace them.
[click to continue…]

How to compile program under Linux / UNIX / FreeBSD

Q. I've downloaded tar ball software but I don't know how to compile the same? Can you provide the instructions for compiling a program?

A. Many new users find it difficult to compiling programs in Linux. Usually following steps are involved:

a] Download tar ball using wget

b] Untar tar ball using tar command

c] Compile program using make or configure command

d] Install software

Task: compiling program

Step # 1: Download program tar ball:
$ wget http://url-com/prog.tar.gz
Step # 2: Untar tar ball :
$ tar -zxvf prog.tar.gz
$ cd prog

Step # 3: Untar tar ball:
Configure program:
$ ./configure
Compile program:
$ make
Install program (must be run as the root, login using su or use sudo):
$ sudo make install
$ su -
$ make install

Howto see output of C program in Linux or UNIX

Q. I am new to Linux but not to c programming. At university we are using Turbo C compiler under DOS/Windows XP to write and compile C programs. Under Linux I’ve small program called test.c. How do I compile and see the output of C program in Linux? Note I’m using Fedora Core Linux.

A. Under Linux you need to gcc (GNU project C and C++ compiler) command to compile a program. When you compile a program it generates an executable file called a.out.

gcc -o output-file program.c

Task: Compile program

To compile type the command:
$ gcc test.c

Task: Execute program to see output

Above command will create a file called a.out. To see output of test.c program type:
$ ./a.out

Task: Compile to specific executable file

You can specify an execuable file name while compiling program itself:
$ gcc -o test test.c
Now execute test (see output of test.c)
$ ./test

Where is My Linux GNU C or GCC Compilers Are Installed?

Where is my GNU C compiler? Where does the GNU C (gcc) compiler reside in the RHEL / Fedora / Debian / Ubuntu / CentOS Linux installation? How do I install GNU c/c++ compiler in Linux operating systems?
[click to continue…]