in C programmierte Bibliothek einbinden

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

zummy hat geschrieben:Die libmandel.so liegt im selben Verzeichnis wie das Lazarus-Programm.


Das interessiert Linux einen feuchten..., ob die im gleichen Verzeichnis liegt.
Die muss in /usr/lib oder in einem $PATH Verzeichnis liegen. Wenn du sie unter $HOME haben willst, machst du ein Startscript z.B:

#!/bin/sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/lazarus/projects/libtest
$HOME/lazarus/projects/libtest/project1

zummy
Beiträge: 17
Registriert: Mo 6. Nov 2006, 14:00

Beitrag von zummy »

Es funktioniert!

Vielen, vielen Dank!

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Hab noch was interessantes gesehen:

Code: Alles auswählen

{$MACRO+}
{$IFDEF Win32}
  {$DEFINE extdecl := stdcall}
{$ELSE}
  {$DEFINE extdecl := cdecl}
{$ENDIF}


dann geht's so:

Code: Alles auswählen

function addiere(zahl1, zahl2: LongInt): LongInt; extdecl; external 'rechnen';


Net schlecht, oder?

_Bernd
Beiträge: 145
Registriert: Di 13. Feb 2007, 11:16

Beitrag von _Bernd »

theo hat geschrieben:Net schlecht, oder?

stark, wieder etwas dazugelernt.

Gruß, Bernd.

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Vincent hat soeben noch auf die Direktive $CALLING aufmerksam gemacht.
Das ist für den vorliegenden Fall noch eleganter:

http://www.freepascal.org/docs-html/prog/progsu69.html

Die Makros muss ich mir aber trotzdem mal genauer anschauen ;-)

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Angehängt, eine kleine Scherzkeks-Demo zum Thema Makro.

Hab mal probiert, was man machen kann.
Im Beispiel kann man mit Makros die TList-Klasse dazu bringen, nicht nur mit Pointer sondern mit spezifischeren Typen zu Arbeiten (ohne Typecasting und mit einem einzigen Quelltext).
Nachteil: Die IDE unterstützt die Makros nicht, so dass Code-Insight nicht funzt.
Dateianhänge
makros.zip
FPC Makro Demo
(3.21 KiB) 92-mal heruntergeladen

Antworten