Programowanie C++ Qt4 w systemie Gnu-Linux/Hello word w C++ z wykorzystaniem własnej biblioteki
Hello word w C++ z wykorzystaniem własnej biblioteki edytuj
Na początek kursu najprostszy program w C++ z wykorzystaniem własnej biblioteki w C++ Zaczniemy od napisania naszej biblioteki. W pliku nagłówkowym będzie zawarta informacja co w owej bibliotece się znajduje. Oczywiście ponieważ to będzie bardzo prymitywna biblioteka, więc zawierać będzie tylko jedną funkcję. Przykładowy plik nagłówkowy biblioteki:
/*
* bibl.h
*
* Created on: 01-12-2010
* Author: tygrysek
*/
#ifndef BIBL_H_
#define BIBL_H_
int suma (int a, int b);
#endif /* BIBL_H_ */
W pliku bibl.cpp umieścimy implementację funkcji
/*
* bibl.cpp
*
* Created on: 01-12-2010
* Author: tygrysek
*/
# include "bibl.h" //dodanie pliku nagłówkowego dodanie deklaracji funkcji
int suma (int a, int b)
{
return a+b;
}
I teraz przechodzimy do uzupełnienia naszego ostatniego pliku głównego programu. Plik główny zawiera funkcję main. Plik ten nazywa się test.cpp
- Dodajemy plik nagłówkowy naszej biblioteki
- Wywołujemy funkcję w niej zawartą
- wyświetlamy wynik na ekranie
//============================================================================
// Name : testowy.cpp
// Author :
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
#include "bibl.h" //dodanie pliku nagłówkowego dodanie deklaracji funkcji
using namespace std;
int main() {
int w=suma(3,4); //wywołanie funkcji z naszej bibliteki
cout << "Wynik sumy 3+4=" <<w<<endl; // prints !!!Hello World!!!
return 0;
}
wynik działania naszego programu edytuj
[tygrysek@Zabka ~]$ /home/tygrysek/workspace/testowy/Debug/testowy Wynik sumy 3+4=7
Wyjaśnienia edytuj
W języku C++ funkcję należy zadeklarować przed jej użyciem deklaracja może być połączona z implementacją, ale może być umieszczona w innym pliku (pliku nagłówkowym). Jeśli mamy plik nagłówkowy to wystarczy nam skompilowana biblioteka (kod implementacji nie jest potrzebny). Więc Kasujemy plik implementacji bibl.cpp i wydajemy polecenie w konsoli
g++ ./test.cpp ./bibl.o -o test
[tygrysek@Zabka src]$ ls bibl.h bibl.o test.cpp
- bibl.o jest binarną skompilowaną biblioteką.
- test.cpp plik główny programu
- bibl.h plik nagłówkowy biblioteki