Hallo
ich bin gerade dabei eine Bibliothek zu schreiben, mit der man theoretisch unendlich lange Zahlen berechnen kann.
Diese Bibliothek soll nach meinen Planungen jede Menge mathematische Funktionen enthalten.
(Gut, bisher besteht nur eine Funktion
)
Ich schreibe diese in Win32 Assembler, möchte aber gerne erreichen, dass Programmierer jeder Sprache diese benutzen können.
Dazu muss ich ja für jeden Aufrufstandard eine eigene Funktion einbauen.
Z.b. für die C-Aufrufkonvention, Pascal, etc.
Wieviel solcher Standards gibt es eigentlich, bzw. wieviel muss ich einbauen, damit ich ein breites Spektrum von allen Programmiersprachen habe?
Und vor allem:
In welchem Register muss in Pascal/Delphi ein Ergebnis zurückgegeben werden?
Und in welchem Register in C?
Ich weis, dass normalerweise das (E)AX Register in C verwendet wird.
Aber irgendwo hatte ich was gelesen, dass je nach bearbeitenden Datentyp ein anderes Register verwendet wird?
Und wie kann ich diese DLL für PHP verfügbar machen, bzw. geht das überhaupt?
Und @Linux
Angenommen ich verwende innerhalb der DLL keine einzige WinAPI Funktion, arbeite aber sonst ganz normal mit Assembler, kann diese Bibliothek dann auch auf Linux exportiert werden, ohne dass der Code geändert werden muss?
Und dann noch nebenbei:
Mich würd einfach mal interessieren, ob ihr jemals Zahlen größer als 4294967295 bearbeiten musstet.
ich bin gerade dabei eine Bibliothek zu schreiben, mit der man theoretisch unendlich lange Zahlen berechnen kann.
Diese Bibliothek soll nach meinen Planungen jede Menge mathematische Funktionen enthalten.
(Gut, bisher besteht nur eine Funktion
)Ich schreibe diese in Win32 Assembler, möchte aber gerne erreichen, dass Programmierer jeder Sprache diese benutzen können.
Dazu muss ich ja für jeden Aufrufstandard eine eigene Funktion einbauen.
Z.b. für die C-Aufrufkonvention, Pascal, etc.
Wieviel solcher Standards gibt es eigentlich, bzw. wieviel muss ich einbauen, damit ich ein breites Spektrum von allen Programmiersprachen habe?
Und vor allem:
In welchem Register muss in Pascal/Delphi ein Ergebnis zurückgegeben werden?
Und in welchem Register in C?
Ich weis, dass normalerweise das (E)AX Register in C verwendet wird.
Aber irgendwo hatte ich was gelesen, dass je nach bearbeitenden Datentyp ein anderes Register verwendet wird?
Und wie kann ich diese DLL für PHP verfügbar machen, bzw. geht das überhaupt?
Und @Linux
Angenommen ich verwende innerhalb der DLL keine einzige WinAPI Funktion, arbeite aber sonst ganz normal mit Assembler, kann diese Bibliothek dann auch auf Linux exportiert werden, ohne dass der Code geändert werden muss?
Und dann noch nebenbei:
Mich würd einfach mal interessieren, ob ihr jemals Zahlen größer als 4294967295 bearbeiten musstet.
