Ich versuche es erstmal hier im deutschen Unterforum, weil ich nicht sicher bin, ob ich mein Anliegen auf Englisch przise genug formulieren kann.
Zum Hintergrund meiner Frage: Ich hatte mir vor einer Weile einen Text-Editor geschrieben, der u.a. Highlighting (Keywords, Strings/Chars, einzeilige und mehrzeilige Kommentare) fr mehrere Sprachen beherrscht. Um zu wissen, welche Teile eingefrbt werden mssen, habe ich mir einen Lexer geschrieben, der inzwischen auch ziemlich flott arbeitet.
Vor ein paar Tagen habe ich spaeshalber (ich bin reiner Hobbyprogrammierer, mal schauen also, wohin es mich trgt) angefangen, mich ein bisschen mit C zu beschftigen, und in diesem Zug habe ich mir nun in C einen Lexer programmiert, der einen Quelltext als Parameter bergeben bekommt und einen Pointer auf das erste Element einer verketteten Liste von Tokens zurckgibt. (Ein Token ist bei mir eine Struktur mit Bezeichnung, Startposition, Lnge des Tokens und Verweis auf das nchste Token.) Der C-Lexer arbeitet auf Anhieb um den Faktor 10 schneller als der analoge Code, den ich in Xojo geschrieben habe, was ich schon sehr vielversprechend finde.
Nun ist es ja mglich, Plugins in anderen Sprachen fr Xojo zu schreiben oder mit Declares auf Systembibliotheken zuzugreifen. Die Seiten zum Plugin SDK habe ich schon zur Kenntnis genommen, aber da hier nur dokumentiert und wenig erklrt wird, verstehe ich sie nicht, um ehrlich zu sein.
Daher meine Frage(n): Gibt es Mglichkeiten, meinen C-Code irgendwie fr Xojo nutzbar zu machen? Und wenn ja: Gibt es ein Tutorial oder eine Einfhrung, wie man das macht? (Kann natrlich auch englisch sein; das Lesen ist kein Problem.) Fr mich ist das absolutes Neuland, aber mich wrde das unter Performance-Gesichtspunkten schon sehr reizen, da mal einen nheren Blick zu riskieren
Ihr könnt eine DLL/dylib/so bauen für die jeweilige Platform und die Funktionen per declare ansprechen.
Dann müssen aber die Datenstrukturen in C und Xojo bytegenau passen.
Ich habe mich mit Bibliotheken (und deren Erstellung) noch nie beschftigt, aber dazu wird es ja vermutlich genug im Netz zu finden geben.
Aber ich nehme an, es ist nicht mglich, einfach die fertig kompilierte ausfhrbare Datei einzubinden?
(Entschuldigung, wenn die Frage bld ist, aber wie gesagt, ich bin hier vllig unerfahren.)
Die Idee hatte ich auch schon, aber die Shell kann mir ja nur einen String zurückgeben, oder? Und wenn ich den erst wieder zu einer Token-Liste zusammenbauen muss, ist der Performance-Vorteil wieder dahin, könnte ich mir vorstellen…