Oct 13 2009

Hello world w C/C++

Wstep do programowania C/C++ w Linuxie zaczniemy standardowo od programiku helloworld.

Przygotowujemy srodowisko

czlowiek@maszyna:~$ sudo apt-get install build-essential

i to juz wystarczy aby napisac prosty programik w C.

Generujemy kod programiku

czlowiek@maszyna:~$ nano helloworld.c
#include <stdio.h>
 
int main (int argc, char *argv[])
{
	printf ("Hello World!\n");
	return 0;
}

Kompilujemy programik korzystajac ze standardowego gcc (gcc [opcje] plik)

czlowiek@maszyna:~$ gcc -o helloworld helloworld.c

Uruchamiamy programik

czlowiek@maszyna:~$ ./helloworld
Hello World!

Niama. To teraz C++

Generujemy kodzik

czlowiek@maszyna:~$ nano helloworld.cpp
#include <iostream>
 
int main (int argc, char *argv[])
{
	std::cout << "Hello World!" << std::endl;
	return 0;
}

Kompilujemy korzystajac tym razem z g++ (g++ [opcje] plik)

czlowiek@maszyna:~$ g++ -o helloworld_c++ helloworld.cpp

Uruchamiamy programik

czlowiek@maszyna:~$ ./helloworld_c++
Hello World!

cool. To pobawmy sie.

Tworzymy plik viewparams.c

czlowiek@maszyna:~$ nano viewparams.c

i wstawiamy to

#include <stdio.h>
 
int main (int argc, char *argv[])
{
	printf ("argc = %d\n", argc);
	int i;
	for (i = 0; argv[i]; i++) {
		printf("argv[%d]", i);
		printf(" = %s\n", argv[i]);
	}
	return 0;
}

Kompilujemy i uruchamiamy programik z parametrami

czlowiek@maszyna:~$ gcc -o viewparams viewparams.c
czlowiek@maszyna:~$ ./viewparams parametr1 parametr2 parametr3
argc = 4
argv[0] = ./viewparams
argv[1] = parametr1
argv[2] = parametr2
argv[3] = parametr3

Teraz programik plus

czlowiek@maszyna:~$ nano plus.c
#include <stdio.h>
 
int main (int argc, char *argv[])
{
	if (argc < 3) {
		printf ("Niepoprawna liczba argumentow :/\n");
		printf ("Przyklad uzycia: plus 50 25\n");
		return 1;
	}
	int sum, i;
	sum = 0;
	for (i = 0; argv[i]; i++) {
		sum += atoi(argv[i]);
	}
	printf ("%d\n", sum);
	return 0;
}

Kompilujemy i uruchamiamy

czlowiek@maszyna:~$ gcc -o plus plus.c
czlowiek@maszyna:~$ ./plus 50 25
75
czlowiek@maszyna:~$ ./plus 1 2 3 4 5 6 7 8 9 0
45

plus-minus? ;)


Zostaw odpowiedz