Jump to content

The Quick and Dirty "Hello World" with GCC: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
mNo edit summary
Line 1: Line 1:
by [[User:Martini|Martin Iturbide]]
by [[User:Martini|Martin Iturbide]]


I just wanted to check out which will be the most basic example to use the gcc compiler to create on OS/2-eCS the most basic, most easy program on earth, the "Hello World" program.  
I just wanted to check out which will be the most basic example to use the GNU C compiler to create on OS/2-eCS the most basic, most easy program on earth, the "Hello World" program.  


==Preparing the Development Environment==
==Preparing the Development Environment==
Line 8: Line 8:
[[Image:gcc-ANPM.png|400px]]
[[Image:gcc-ANPM.png|400px]]


I also followed the advice on how to install the development environment from the VBOX porting project [http://trac.netlabs.org/vbox]. It list to install the following:
I also followed the advice on how to install the development environment from the VBOX porting project [http://trac.netlabs.org/vbox]. It lists to install the following:
 
  yum install ash which kbuild gcc gcc-wlink gettext-devel pthread-devel libxml2-devel libxslt-devel  
  yum install ash which kbuild gcc gcc-wlink gettext-devel pthread-devel libxml2-devel libxslt-devel  
  openssl-devel libcurl-devel zlib-devel libpng-devel libqt4-devel libidl-devel libvncserver-devel  
  openssl-devel libcurl-devel zlib-devel libpng-devel libqt4-devel libidl-devel libvncserver-devel  
  nasm libpoll-devel libaio-devel  
  nasm libpoll-devel libaio-devel  
So I installed all that packages. They are not all required for this example, but since I'm starting with this, it is good enough for me.
So I installed all that packages. They are not all required for this example, but since I'm starting with this, it is good enough for me.


Line 31: Line 29:


==Compiling the Program==
==Compiling the Program==
To compile it is as simple as:
To compile and link it is as simple as:
  gcc -o hello.exe hello.c
  gcc -o hello.exe hello.c
The -o file parameter of gcc it is just to place the output of the compile into an specific file name.
The -o file parameter of gcc it is just to place the output of the compile into an specific file name.


Line 50: Line 47:


It can not be more simple.
It can not be more simple.
[[Category:Languages Articles]]

Revision as of 16:44, 5 November 2019

by Martin Iturbide

I just wanted to check out which will be the most basic example to use the GNU C compiler to create on OS/2-eCS the most basic, most easy program on earth, the "Hello World" program.

Preparing the Development Environment

First I installed with Arca Noae Package Manager the GNU C compiler listed as "gcc".

I also followed the advice on how to install the development environment from the VBOX porting project [1]. It lists to install the following:

yum install ash which kbuild gcc gcc-wlink gettext-devel pthread-devel libxml2-devel libxslt-devel 
openssl-devel libcurl-devel zlib-devel libpng-devel libqt4-devel libidl-devel libvncserver-devel 
nasm libpoll-devel libaio-devel 

So I installed all that packages. They are not all required for this example, but since I'm starting with this, it is good enough for me.

Coding the Program

I created a simple text file called "hello.c" and included on it.

/* Hello World program */

#include <stdio.h>

main()
{
    printf("Hello World");
}

The most simple program to print out "Hello World" on the command prompt.

Compiling the Program

To compile and link it is as simple as:

gcc -o hello.exe hello.c

The -o file parameter of gcc it is just to place the output of the compile into an specific file name.

It will generate a "hello.exe" file.

Testing the Program

When you run it you will see:

Let's also check out with PMDLL which DLLs are associated to this newly created hello.exe program.

This means that for this program to work it requires that LIBC066.DLL and GCC1.DLL must be installed (on the LIBPATH) of the OS/2-eCS machine where you are running this program.

It can not be more simple.