C-Lib in Userlib? (SQLite)

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

C-Lib in Userlib? (SQLite)

Beitrag von bluejoke »

Hallo!

Ich wollte Fragen, ob es möglich ist, aus der C-Lib SQLite (ihr kennt auf jeden Fall die DLL) die ja mit Sourcecode vorliegt, eine PB-Userlib zu machen.
Bis jetzt hab ich nur eine Wrapper-Lib gefunden, mit der man die Funktionen der SQLite-Dll ansprechen kann, das möcht ich aber nicht so gerne.

Dann wäre ja doch auch eine Linux-Lib möglich, oder? Der Source von SQLite ist ja cross-platform

EDIT: Ich hab erfahren, dass das wohl an den Variablen-Typen bzw. Strukturen liegt, die von PB nicht unterstützt werden. Schade.
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Re: C-Lib in Userlib? (SQLite)

Beitrag von traumatic »

bluejoke hat geschrieben:EDIT: Ich hab erfahren, dass das wohl an den Variablen-Typen bzw. Strukturen liegt, die von PB nicht unterstützt werden. Schade.
Keine Ahnung wer Dir das gesagt hat aber bist Du Dir da sicher?

Ich kenne SQLLite nicht, habe mir aber gerade mal kurz sowohl die API docs
als auch den Source angeschaut und nur eine einzige Funktion gefunden,
die einen Nicht-Unterstützen Typ verwendet:

Code: Alles auswählen

void sqlite_set_result_double(sqlite_func*,double);
Hier könnte man sich überlegen, ob man entweder die Genauigkeit gar
nicht braucht (und auf float castet) oder man das ganze halt aufteilt
(high, low) - der Source ist ja vorhanden.

Als Rückgabewerte habe ich bei meinem zugegebenermaßen recht flüchtigen
Blick lediglich INT gefunden. Von daher also kein Problem.

...und selbst wenn jede Funktion doubles oder was auch immer zurückgeben
würde, gäbe es hierfür Workarounds.


Also ich behaupte mal ganz dreist: Natürlich geht das! ;)



EDIT:
Und wieso sollte das ganze per DLL funktionieren, per Library aber nicht?
Wir sprechen hier ja nicht von C++ wo sich das ganze dann schon schwieriger
(ok, ich untertreibe ein wenig) gestaltet.
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Mhh, was müsste ich dann tun, um eine für PB taugliche Lib zu erhalten.
Was für Kenntnisse braucht man da (C / ASM) und wie aufwendig ist sowas?
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Mhh, was müsste ich dann tun, um eine für PB taugliche Lib zu erhalten.

leider kann ich mit meinen derzeitigen C(++)-Fähigkeiten nicht zur
Umsetzung einer solchen Lib beitragen, möchte aber jedem, der dieses
Projekt angeht, gutes Gelingen wünschen.

Eine komfortable SQLite-Lib (für SQLite3) wäre wirklich eine Bereicherung für
PB!

Grüße ... Kiffi
a²+b²=mc²
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Beitrag von traumatic »

bluejoke hat geschrieben:Mhh, was müsste ich dann tun, um eine für PB taugliche Lib zu erhalten.
Was für Kenntnisse braucht man da (C / ASM) und wie aufwendig ist sowas?
Nunja, die exportierten Funktionen müssen mit "PB_" beginnen, Aufrufkonvention
ist zwingend stdcall - ansonsten gibt's da eigentlich erstmal nichts zu beachten
(siehe auch Library SDK - vorallem bzgl. String-Rückgabe).

Du solltest natürlich fit in C sein, dann erklärt sich alles Weitere von selbst.
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

>Du solltest natürlich fit in C sein, dann erklärt sich alles Weitere von selbst.

Ich hatte zwar mal vor, C zu lernen, aber da bin ich eine absolute Null (0) - <No se nadie> (bin grad beim spanisch-lernen :D )
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Antworten