![]() |
Anzeige:
|
|
|||||||
| Anregungen & Bugreports Für Vorschläge an den Autor Roland und neue XProfan-Versionen |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 721
|
Ich schlage folgende Erweiterung vor:
Code:
DefC ImportDLLC ImportFunctionC ExternalC StdCall nutzen. Die aktuelle Einstellung soll dabei unverändert bleiben. Bei der bisherigen Version muß man für Includedateien, Units und ähnlichem bei jedem Aufruf einer Funktion die aktuelle Convention zwischenspeichern, setzen und zurücksetzen. Das würde dann wegfallen. Bisherige Funktionen bleiben davon unbetroffen. So ist das auch in jeder mir bekannten anderen Programmiersprache umgesetzt (was natürlich kein Grund sein muss Gruß Thomas |
|
|
|
|
|
|
#2 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.090
|
Reicht es nicht, einfach die Reihenfolge der Parameter umzukehren? Oder gibts noch andere Unterschiede?
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#3 (Direktlink) | |
|
Forenmaskottchen
![]() Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 721
|
Zitat:
Siehe: Aufrufkonvention ? Wikipedia Da siehste übrigens auch das Float und Double in ST0 statt EAX abgelegt werden, deshalb kann man solche Funktionen IMHO in XProfan bisher auch nicht nutzen. |
|
|
|
|
|
|
#4 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.090
|
Ah, in ST0...
Solche Dll's sind aber trotz alledem eher exotisch. Ich finde es auch nach wie vor viel bequemer, den Zeiger auf eine Fliesskomma-Variable oder einen String zu übergeben, sodass die Dll die Infos direkt da im Speicher ablegen kann. Wenn's schon unbedingt Float sein soll.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#5 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 721
|
In einem Register ist aber am schnellsten, deshalb nutzt 64-Bit win oder lin
auch Fastcall. Wenn der Float erst in einem Memory deponiert wird, kostet das Zeit. Alles was irgendwie eine feste Grösse hat und irgendwie in Register passt, gehört da auch rein. Ausnahmen sind Strukturen und Strings, da geht es nicht anders. Exotisch sind diese DLLs auch nicht, es gibt aber nicht viele DLLs, die Floats oder Double als Ergebnis haben, meist wird dann lieber der Errorcode als Ergebnis zurückgegeben. Aber wir werden Offtopic, mir geht es erstmal um die Anpassung/Ergänzung bezüglich CDECL, weil die bisherige Implementierung zumindest für Includes und Units sehr unpraktisch ist. |
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Vlc player mit ati unterstützung? | Unregistriert | Software - Allgemein | 10 | 30.07.2010 22:17 |
| Bessere CPU | Dupont | Hardware - Kaufempfehlungen | 25 | 08.06.2007 15:25 |
| Bessere Unterstützung für 64Bit Prozessoren (Far Cry)??? | Der-Neue | Computerspiele | 1 | 16.05.2005 09:21 |
| Unterstützung für Paule | Rolf | über das Forum | 11 | 01.11.2004 17:59 |
| USB Unterstützung | hunny | Windows 95/98/ME/2000/NT | 8 | 13.03.2003 23:16 |