NASM Lehele | 2. Praktikum >>

C – Praktikum1: Sissejuhatus, Töökeskkond ja Hello World

Järgnevate praktikumide jooksul teeme tutvust C-keelega (täpsemalt just C99 standardiga). Arenduskeskkond sõltub paljuski tudengile käepärasest operatsioonisüsteemist.

  • GCC - Gnu Compiler Collection, töötab Windows,Linux ja OSX süsteemidel.
  • DevC++ - Minimalistlik MinGW C/C++ IDE Windows platvormile.
  • Visual Studio - Täisväärtuslik IDE koos Debuggeriga Windows platvormile.

// hello.c - Compile with:  gcc hello.c -o hello
#include <stdio.h> // include standard I/O functions

int main()
{
	printf("hello, world\n");
}

Isiklikes arvutites võiks üles seada MinGW keskkonna, kuna seda on vaja ka NASM praktikumides: MinGW Setup

Nüüd on Windows käsurealt käivitatavad üldised Unix arenduse käsud gcc, make, ls.

> mkdir C:\Projects\Cprax
> chdir C:\Projects\Cprax

Loome touch käsuga uue tekstifaili, ls käsuga näeme kausta sisu ning hello.c käsuga avame faili muutmiseks.

> touch hello.c
> ls
> hello.c

Kompileerimine käib käsuga gcc hello.c -o hello.exe ja binaarfail ilmub kausta C:\Projects\Cprax. Käivitada saame käsuga ./hello.exe.

> gcc hello.c -o hello.exe
> ./hello.exe
hello, world

Hoiatusteated saab esitada parameetriga -Wall, mis aitab leida suure hulga vigu:

> gcc -Wall  hello.c  -o hello.exe
hello.c: In function 'main':
hello.c:6:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
 
Antud hoiatus teavitab, et main() funktsiooni lõpust puudub return käsk.

Korrektsem versioon hello world programmist:

// hello.c - Compile with:  gcc -Wall hello.c -o hello
#include <stdio.h> // include standard I/O functions

int main()
{
	printf("hello, world\n");
	return 0;
}

NASM Lehele | 2. Praktikum >>