Kurs programowania w C cz. 160

Nasza ocena:

5
Wyświetleń: 665
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Kurs programowania w C cz. 160 - strona 1

Fragment notatki:

180 ROZDZIAŁ 25. ŁĄCZENIE Z INNYMI JĘZYKAMI int main () { asm ("nop"); } W tym wypadku wstawiona zostanie instrukcja “nop” (no operation), która tak naprawdę służy tylko i wyłącznie do konstruowania pętli opóźniających. C++ Język C++ z racji swojego podobieństwa do C będzie wyjątkowo łatwy do łączenia. Pew- nym utrudnieniem może być obiektowość języka C++ oraz występowanie w nim przestrzeni nazw oraz możliwość  przeciążania funkcji.  Oczywiście nadal zakładamy, że główny program piszemy w C, natomiast korzystamy tylko z pojedynczych funkcji, napisanych w C++. Po- nieważ język C nie oferuje tego wszystkiego, co daje programiście język C++, to musimy “zmusić” C++ do wyłączenia pewnych swoich możliwości, aby można było połączyć ze so- bą elementy programu, napisane w dwóch różnych językach. Używa się do tego następującej konstrukcji: extern "C" { /* funkcje, zmienne i wszystko to, co będziemy łączyć z programem w C */ } W zrozumieniu teorii pomoże Ci prosty przykład: plik f1.c: #include  extern int f2(int a); int main () { printf ("%d\n", f2(2)); return 0; } oraz plik f2.cpp: #include  using namespace std; extern "C" { int f2 (int a) { cout 

(…)

… kompilujemy:
gcc f1.c -c -o f1.o
g++ f2.cpp -c -o f2.o
Przy łączeniu obu tych plików musimy pamiętać, że język C++ także korzysta ze swojej
biblioteki. Zatem poprawna postać polecenia kompilacji powinna wyglądać:
gcc f1.o f2.o -o program -lstdc++
(stdc++ — biblioteka standardowa języka C++). Bardzo istotne jest tutaj to, abyśmy zawsze
pamiętali o extern “C”, gdyż w przeciwnym razie funkcje napisane w C…
… kompilujemy:
gcc f1.c -c -o f1.o
g++ f2.cpp -c -o f2.o
Przy łączeniu obu tych plików musimy pamiętać, że język C++ także korzysta ze swojej
biblioteki. Zatem poprawna postać polecenia kompilacji powinna wyglądać:
gcc f1.o f2.o -o program -lstdc++
(stdc++ — biblioteka standardowa języka C++). Bardzo istotne jest tutaj to, abyśmy zawsze
pamiętali o extern “C”, gdyż w przeciwnym razie funkcje napisane w C…
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz