Umschreiben von C-Headern

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
ErnstVolker
Beiträge: 327
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Umschreiben von C-Headern

Beitrag von ErnstVolker »

Hallo zusammen,

ich habe mal eine Frage zur Nutzung von h2pas bzw. zum Umschreiben von Headerdateien aus C.

Mir liegen zwei Header vor die ich gerne für Lazarus nutzbar machen würde.

I.) http://doxygen.scilab.org/master_wg/de/ ... ource.html
II.) http://doxygen.scilab.org/master_wg/dc/ ... ab_8h.html

Die Datei api_scilab.h enthält jede Menge weitere include Angaben für Header. Siehe auch das Organigramm. Müssen alle diese Header -und wenn diese wieder Header includieren usw.- umgesetzt werden? Das würde ja zum "Bauer schickt Jockel aus Problem" ausarten.

Ein weiteres Problem stellen für mich diese "Doppelzeiger" dar. z.B.

Code: Alles auswählen

int SendScilabJobs(char **jobs, int numberjobs);

Wie setzt man den Doppelstern vor job (**job) um? Wird das zu ^^job?

Viele Grüße und vielen Dank

Volker

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Umschreiben von C-Headern

Beitrag von Socke »

ErnstVolker hat geschrieben:Die Datei api_scilab.h enthält jede Menge weitere include Angaben für Header. Siehe auch das Organigramm. Müssen alle diese Header -und wenn diese wieder Header includieren usw.- umgesetzt werden? Das würde ja zum "Bauer schickt Jockel aus Problem" ausarten.

Prinzipiell: ja. Du kannst aufhören, sobald du auf Standard-C-Definitionen triffst.
ErnstVolker hat geschrieben:Ein weiteres Problem stellen für mich diese "Doppelzeiger" dar. z.B.

Code: Alles auswählen

int SendScilabJobs(char **jobs, int numberjobs);

Wie setzt man den Doppelstern vor job (**job) um? Wird das zu ^^job?

Erst einmal ist job der Parametername und char der Typ. Du wärst also

Code: Alles auswählen

uses ctypes;
function SendScilabJobs(jobs: ^^char; numberjobs: cint) cint;

Da die Formulierung ^^char in Prozur-/Funktionsdeklarationen ungültig ist, kannst du stattdessen direkt PPChar verwenden. :D In C sieht so in der Regel ein Array von Strings aus.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Johannes G
Beiträge: 1
Registriert: Di 23. Mär 2021, 09:24

Re: Umschreiben von C-Headern

Beitrag von Johannes G »

Hallo,

Ich möchte gerne SciLab über Delphi fernsteuern und habe im Forum entdeckt, dass Sie dies mit Lazarus schon umgesetzt haben.
Leider funktionieren die angegebenen Links zu den C-Headerdateien nicht mehr.

Könnten Sie mir eventuell den konvertierten Pascal Code zur Verfügung stellen? Und vielleicht auch noch ein Funktionsaufruf-Beispiel?

Da ich relativ neu in der Programmierung bin, würde es mir sehr viel Zeit ersparen.

mit freundlichen Grüßen,
Johannes Gstöhl

Antworten