Ich würde gerne ein Plugin für eine Windows-Anwendung schreiben, und es muss eine DLL sein. Ich würde wirklich gerne versuchen, es in einer Mischung aus Red & amp; Rot / System. Aber auf Rebol & Red Chatroom hier auf SO fragen, bekam ich gemischte Antworten, ob es derzeit nur in Rot und Rot / System oder nur in Rot / System möglich ist. Was ist die definitive Antwort?
Ja, das ist möglich. Sie können die Ankündigung auf dem Red-Blog für 0.3.3
Hier ist zunächst ein kurzer Ausschnitt, der den Prozess für Rot / System beschreibt:
Gemeinsame Erzeugung von Bibliotheken
Seit einem Jahr arbeiten wir daran, die Generation der gemeinsam genutzten Bibliotheken zu fördern, Jetzt ist es in der Hauptzweig verfügbar. Neue Funktionen wurden hinzugefügt Unterstützung der Bibliotheksgenerierung als Möglichkeit, die exportierten Symbole zu deklarieren und spezielle Callback-Funktionen beim Laden und Freigeben der Bibliothek. Hier ist ein einfaches Beispiel für eine Red / System-Bibliothek:
%Vor%Sie kompilieren eine solche gemeinsam genutzte Bibliothek mit der neuen Befehlszeilenoption -dlib Option:
tun / args% rsc.r "-dlib testlib.reds"
Der binäre Ausgangsname hat ein plattformspezifisches Suffix (.dll, .so oder .dylib).
Zweitens konnte ich endlich ein einfaches einfaches Red -Skript für eine .dll-Datei kompilieren. Die #export
-Direktive muss sich wie Sie in einem Red / System-Kontext befinden kann die #system-global
-Direktive sehen. Jede Funktion, die Sie in Rot haben, muss mit einem roten / System-Wrapper umhüllt werden. Sie können dies tun, indem Sie #call
wie folgt ausführen:
Tags und Links red red-system