Mikä on oikea tapa tehdä kirjasto tiedosto. Tuleeko siihen pelkkä .h tiedosto vai onko siinä oltava erikseen .h ja .c tiedostot. Molempia tapoja on tullut vastaan. Onko niiden toiminnassa lopulta eroa?
Oma kirjasto, miten oikeasti?
näinmeillä
2529
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 2
Vanhimmat
Yhdistä tietorakenne ja siihen liittyvät funktiot samaan kokonaisuuteen. Tietorakenne, funktioiden prototyyppit ja vakiot .h -tiedostoon ja tietorakenteeseen liittyvät funktiot .c -tiedostoon. Kirjastoon sitten toki voi pistää useampia tiedostoja mutta pilko ne tiedostot tähän tapaan.
Jos kyse dynaamisesta linkkikirjastosta:
windows: jokukirjasto.dll
linux: libjokukirjasto.so
niin ainakin gcc:llä pitää:
1. käännettäessä -fpic:
gcc -c -fpic omadll.c -o omadll.o
ja
2. linkatessa -shared:
gcc -shared -Wl,-soname,libomadll.so.1 -o libomadll.so.1.0.1 omadll.o -lapukirjasto1 -lapukirjasto1 -lz