![]() |
AW: [GNU/Linux, FPC] SO's einbinden
Alternativ zum Linken mit
Delphi-Quellcode:
(shared linking) könntest du die SO auch dynamisch laden (siehe hierzu die Unit
external 'libname' name 'symbol';
![]() Wenn du dich noch ein wenig mit Compilerbedingungen (
Delphi-Quellcode:
) rumschlägst, dann kannst du zwischen shared und dynamic linking für Release- bzw. Entwicklungsversionen umschalten.
{$ifdef ...}
Gruß, Sven |
AW: [GNU/Linux, FPC] SO's einbinden
Zitat:
@JamesTKurk: Eigentlich wollte ich es hier auf die external-Weise machen, ist hier einfach bequemer. |
AW: [GNU/Linux, FPC] SO's einbinden
Zitat:
Oh und: "man ld.so" ... |
AW: [GNU/Linux, FPC] SO's einbinden
Zitat:
du hattest gefragt, ob *.so nur im lib Ordner gefunden werden? nun diese Frage ist mit einem KLAREM JAIN zu beantworten. es gibt wie auch schon erwähnt wurde die load.so.con, welche du dir umschreiben/Anpassen mußt. ich persönlich würde davon aber die finger lassen. Daher mein Tip, wenn dein Proggi Plattform übergreifend Arbeiten soll.
Delphi-Quellcode:
den Aufruf selber würde ich an deiner Stelle wie folgt aussehen lassen
const
{$IFDEF WIN32} Codedll = Phadangabe für Windows; {$ELSE} Codedll = '/libMyCode.so'; {$ENDIF}
Delphi-Quellcode:
wenn du da auch alle regeln bei der Verwenung in Lazarus beachtest, hast du keine Probleme.
Function XY(Value: PChar):PChar; {$IFDEF WIN32}stdcall{$ELSE}cdecl{$ENDIF}; External Codedll;
zugegeben, das bei Lazarus keine Sharemem verwendet wird finde ich selber auch schade, Habe bei Delphi gerne mit dem Sharemem geschrieben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz