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