Eigene PAWN native Funktionen erstellen!

Sie benötigen mehr Leistung für Ihre rapidM2M Scripts? (z.B.CMSIS DSP Software Library)
In Pawn fehlen Ihnen wichtige Funktionen? (z.B. JSON Parsing)
Wollen Sie Ihren Algorithmus schützen, aber dem Kunden die Flexibilität von Pawn ermöglichen?

Verwenden Sie ganz einfach die neuen Script ladbaren Module und erstellen Sie Ihre eigenen Pawn nativen Funktionen (in C geschrieben und für ARM Cortex-M kompiliert)!

Binden Sie Ihre eigenen Module ganz einfach in Ihr bestehendes Script ein:

 
#include "modTest.inc"
main()
{
loadmodule(modTest);
...
modFunction();
}
 

Runtime Environment

Der Module Code läuft in einer speichergeschützten, unprivilegierten Laufzeitumgebung mit vollem Zugriff auf den Datenspeicher der abstrakten Maschine. Allerdings wird nur Lesezugriff auf die abstrakte Maschine selbst gewährt (AMX *amx). Mit den nativen Funktionen bleibt also die PAWN Laufzeitüberwachung weiterhin aktiv. Bei Bedarf stellt die Umgebung Supervisor-Aufrufe zur Verfügung (z.B. amx_RaiseError()).

modTemplate

Beispiel modTemplate

Um Probleme zu vermeiden, ändern Sie ausschließlich die Dateien des Unterverzeichnisses „src“.

  • sysdefs.h
    Enthält Konfigurationsdefinitionen
    • MODULE_NAME muss ein gültiger ANSI-C Variablenname sein
    • MODULE_STACK_SIZE abhängig von der Build-Konfiguration
  • module.c
    Enthält Modul native Funktionsimplementierungen
    Die Positionen, an denen Sie Ihren Code einfügen müssen, sind mit „TODO:“ gekennzeichnet.
  • module.inc
    Enthält die PAWN nativen Funktionsprototypen des Moduls.

Wenn der Kompiliervorgang erfolgreich war, wird eine Datei ${ProjName}.inc im Unterverzeichnis „pawn“ erstellt.

Beispiel Download inklusive Installationsanleitung

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *