Jak poprawnie wywołać funkcję C++ z języka C?
Programując w C++ często mieszamy wykorzystanie funkcji języka C i C++ chociaż nie zawsze robimy to dobrze, ale czy zdajemy sobie z tego sprawę...
adch z- #
- #
- #
- #
- #
- #
- 7
Programując w C++ często mieszamy wykorzystanie funkcji języka C i C++ chociaż nie zawsze robimy to dobrze, ale czy zdajemy sobie z tego sprawę...
adch z
Komentarze (7)
najlepsze
@mecenas_z_piaseczna
Jeśli masz bibliotekę pisana w C, to kompilator zmangluje ci nazwy funkcji dostarczone w nagłówkach, przez co linker nie będzie mógł załączyć deklaracji z implementacja (brak pasujących nazw). Słowo kluczowe extern C mówi kopilatorowi "koleś ta funkcja nie pochodzi z C++, nie przekształcaj jej nazwy", dzięki czemu linker może załączyć odpowiednie deklaracje z ich implementacja. Podobnie extern C przydaje się przy wdrażaniu biblioteki pisanej pod innym kopilatorem (np używasz GCC