Cytuj:
- dlaczego tak się dzieje ?
Nazwy funkcji w C++ są poddawane specjalnym zabiegom (tzw. manglowaniu) czego w C nie ma więc konsolidator nie może funkcji znaleźć mimo że ona jest.
To nie znaczy, że nie można łączyć kodu C++ z C. Można. Należy zastosować dyrektywę extern. Na przykład w kodzie C++ otoczyć włączany plik nagłówkowy dyrektywą.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Lepszym sposobem jest wstawienie dyrektywy w pliku nagłówkowym. Wtedy włącza się plik zawsze tak samo, jak zwykle, niezależne czy w C++ czy C.Na poczatku pliku nagłówkowego wstawia się
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
a na końcu pliku
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Pomiędzy wstawia się prototypy, makra, definicje, jak zwykle.
Włączenie pliku źródłowego "zadziałało" ponieważ włączony kod został skompilowany tak jak kod C++ tj. z manglowaniem
_________________
Think for yourself and question authority
.