How to see output of C program in Linux or UNIX

I am a new user of Linux operating system but not to C programming language. At my university we are using Turbo C compiler under DOS/Windows XP to write and compile C programs. Under Linux I wrote a small program called test.c. How do I compile and see the output of C program in a Linux when using Fedora Linux?

Under Linux you need to use the cc/gcc (GNU project C and C++ compiler) command to compile a program written in C or C++. When you compile a program it generates an executable file called a.out.

Syntax

The syntax is:
gcc -o output-file program.c
OR
cc -o output-file program.c
OR
make program.c

Sample code

Here is a sample C code called test.c that I am going to compile using GNU C compiler:

/* Purpose: A simple program to get name and information about current kernel
 * using uname(2) on a Linux.
 * Author: SXI ADMIN <https://sxi.io>
 */
#include <sys/utsname.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/utsname.h>
 
int main(void){
	int i;
	struct utsname myname;
	i = uname(&myname); /* hold the structure */
	if ( i == 0 ){
		printf("Operating system name : %sn",myname.sysname);
		printf("Node name : %sn",myname.nodename);
		printf("Operating system release : %sn",myname.release);
		printf("Operating system name : %sn",myname.version);
		printf("Hardware identifier : %sn",myname.machine);
	}
	else {
		 fprintf(stderr,"Oh no. uname(2) failed with %sn", strerror(errno));
		 exit(1);
	}
	return 0;
}

Task: Compile program

To compile type the command:
$ gcc test.c
OR
$ cc 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
OR
$ cc test.c -o test
OR
$ make test
Now execute the test program to see output of test.c on screen:
$ ./test
Sample outputs:

Fig.01: My test program in action

This entry is 13 of 13 in the Linux GNU/GCC Compilers Tutorial series. Keep reading the rest of the series:

  1. Ubuntu Linux Install GNU GCC Compiler and Development Environment
  2. Debian Linux Install GNU GCC Compiler and Development Environment
  3. CentOS / RHEL 7: Install GCC (C and C++ Compiler) and Development Tools
  4. Download and Install C, C++ Compiler on Red Hat Enterprise Linux 5 (RHEL)
  5. Mac OS X: Install GCC Compiler with Xcode
  6. Where is My Linux GNU C or GCC Compilers Are Installed?
  7. HowTo: Compile And Run a C/C++ Code In Linux
  8. RHEL / CentOS Linux Install Core Development Tools Automake, Gcc (C/C++), Perl, Python & Debuggers
  9. HowTo Compiling C Program And Creating Executable File Under a Linux / UNIX / *BSD
  10. How To Install ncurses Library on a Linux
  11. Linux Find Out What Compilers Are Installed or Available On The System
  12. Linux Find Out GNU gcc Compiler Version Used To Compile Running Kernel
  13. Howto see output of C program in Linux or UNIX

Posted by: SXI ADMIN

The author is the creator of SXI LLC and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.