Zend (php4) + Libraries
Dennis Wetzig
dennis at osiris.gt.owl.de
Wed Sep 20 00:40:32 CEST 2000
On Tue, Sep 19, 2000 at 09:39:18PM +0200, Marco Meier wrote:
>
> ich muss eine selbst entwickelte C Datei in php4 einbinden.
> Dazu eine grundlegende Frage:
> Wo liegt der Unterschied zwischen .a lib und .so lib?
Bibliotheken, die auf .a enden, sind statische Bibliotheken. Im Grunde nur ein
Archiv von Objekten, die "fest" mit einkompiliert werden.
Solche, die auf .so enden, sind shared libraries. Diese werden zur Laufzeit zu
Deinem Programm dazugeladen.
>
> Das Problem: php4 sagt mir bei dem Versuch die lib via int dl ("libname")
> einzubinden,
> dass der ELF Header nicht korrekt ist.
Ich habe zwar keine Ahnung von PHP, aber da Du ja offenbar zur Laufzeit eine
Bibliothek laden moechtest, solltest Du wohl die .so Variante waehlen. Die hat
dann auch einen ELF Header.
> Welche Bedingungen müssen eigene c libs für die Einbindung in php4 erfüllen?
Was genau bei PHP zu beachten ist, weiss ich nicht. Um shared libraries zu
basteln schreibst Du ganz normal Deinen Code herunter, kompilierst die objekte
mit den gcc optionen "-fpic -shared" und linkst sie dann mit ld (bei Verwendung
der option "-shared") zusammen. Fertig ist die shared library.
Hoffe, das hilft.
Dennis
--
- Dennis
--------
Dennis Wetzig - dennis at osiris.gt.owl.de
keyID=0x8FFC43DB fingerprint=685D 6F5A BF5A 00CD EF96 7B8A C313 EB47 8FFC 43DB
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 232 bytes
Desc: not available
URL: <http://lug-owl.de/pipermail/linux/attachments/20000920/9195f406/attachment.sig>
More information about the Linux
mailing list