Dynamicke knihovny pro C i pro C++
Jan Horák
horak.jan na icebraker.org
Čtvrtek Březen 9 19:01:08 CET 2006
Dobry den,
udelal jsem si vlastni dynamickou knihovnu, kterou jsem napsal v C.
Prikaz: $(CC) -fPIC -shared -Wl,-soname,libtest.so.1 -o $@
$(TEST_LDFLAGS) $(TEST_OBJECTS)
Nasledne jsem ji chtel pouzit v kodu C++, ale vysledkem je hlaseni
linkeru (ld), ze nenalezl potrebne symboly.
Prelozim-li danou dynamickou knihovnu pomoci $(CXX), tj. C++, tak tam ty
symboly jsou pojmenovany tak, jak je linker hleda.
Symboly dynamicke knihovny prelozene pomoci $(CC):
00002698 T atoport
To same ale prelozeno pomoci $(CXX):
00002934 T _Z7atoportPKcS0_
Ty symboly maji opravdu ruzna jmena, takze je linker opravdu najit nemuze.
1) Chci se tedy zeptat, zda-li lze vytvorit dynamickou knihovnu tak, aby
sla pouzit z C i z C++.
2) A pokud ne, tak jak je tedy mozne, ze libc6 je pouzitelne jak z C,
tak i z C++?
Predem dekuju za odpovedi ci vysvetleni,
Jan Horak.
Další informace o konferenci Linux