| |
|
|
- Página 1 - |
|
Christian Schneider | ¡Hola Personas,
Yo frickle ya una todo Weile daran rum una Dll ans laufen a bekommen (siehe Anhang).
Puedo publicar veces una el Codes (su hay ne Menge, con el Gemeinsamkeit ellos funkionieren no )
Como el Datenbank erstellt se (ha seine Richtigkeit, si todavía no disponible) y anschließend el Interpreter abschmiert, gehe Yo veces su de lo liegt al Rückgabewert.
El Doku a Función findet se hier: [...]
Saludo Christian
P.S. Hatte con dll´s bisher no wirklich viel al Hut ;)
Nutze el 11Sub12 |
|
|
| |
|
|
|
| |
|
- Página 1 - |
|
Jac de Lad | Erklärt veces Por favor, alguien el Vorteil de cdecl? Und el Unterschiede? Und überhaupt??? |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 10.01.2008 ▲ |
|
|
|
|
Christian Schneider | Como fällt me spontan sólo eins una:
@JAC: [...] |
|
|
| |
|
|
|
Jac de Lad | Aha, ha also para el Ottonormalprofaner no Auswirkungen?! |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 10.01.2008 ▲ |
|
|
|
|
Christian Schneider | Nein. Außer el ahora mehr dll´s nativ funkionieren como bisher.
@Roland: Was si uno mehrere dll´s en un Programa verwendet y una Teil su por cdecl y otro por stdcall trabajo? |
|
|
| |
|
|
|
Jac de Lad | Welche porque para Ejemplo? |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 10.01.2008 ▲ |
|
|
|
|
| Jac
Erklärt veces Por favor, alguien el Vorteil de cdecl? Und el Unterschiede? Und überhaupt???
Laienhaft ausgedrückt podría uno sagen en Asmebene hay no Características y no Funktionsparameter - lo son aber Sprungadressen y una Stack. Wenn uno ahora behauptet el Code hinter el Sprungadressen entspricht una Funktionscode Luego se el Stack como Parametermerker benutzt. Man legt (push) also Werte en el Stack y springt (call) entonces a uno Sprungadresse. Der Code detrás de él nimmt el Werte de Stack (pop) en esta a verarbeiten. Der Vollständigkeithalber podría uno erwähnen el una möglicher Rückgabewert uno solchen Función grundsätzlich en el eax-Register hinterlegt se bevor el Función por ret el Rücksprung veranlasst.
Ob stdcall oder cdecl legt hierbei z.B. el Reihenfolge fest con el el Werte vom Stack genommen voluntad. En cdecl voluntad el Params sólo en umgekehrter Reihenfolge a stdcall en el Stack gepackt.
Je después de con welcher Compileroption z.B. una DLL kompiliert wurde (oder como el asm gestrickt es) muss uno demnach con cdecl oder stdcall aufrufen. |
|
|
| |
|
|
| |
|
- Página 2 - |
|
|
Jac de Lad | Und wozu wurede el eingeführt? ¿Por qué es el no einheitlich?? |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 10.01.2008 ▲ |
|
|
|
|
| Jac
Und wozu wurede el eingeführt? ¿Por qué es el no einheitlich??
Ideologisch betrachtet oder technisch? |
|
|
| |
|
|
|
Jac de Lad | |
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 10.01.2008 ▲ |
|
|
|
|
RGH | Christian Schneider
Nein. Außer el ahora mehr dll´s nativ funkionieren como bisher.
@Roland: Was si uno mehrere dll´s en un Programa verwendet y una Teil su por cdecl y otro por stdcall trabajo?
Lo muß sólo antes el Aufruf el jeweiligen Función (also no ya en DEF, ImportFunc oder ImportDLL) el richtige Aufrufmodus eingestellt ser. Derzeit voluntad aber sólo CDECL y STDCALL unterstützt.
Und el CallBack-Características siempre en el Windows-Standard STDCALL.
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 10.01.2008 ▲ |
|
|
|
|
Michael Wodrich | Und ... - C-Compiler benutzen CDECL - Windows benutzt STDCALL - Ensamblador kann beides.
Es sólo una Pi-veces-Daumen Überblick. Como viele Programmiersprachen el Aufrufmodell frei wählen puede voluntad muy viele DLL sólo Windows-konform angeboten - aber por desgracia, no todos (meist el Interessantesten no).
Ein Grund para el por desgracia, no: de C her bekannten Características con beliebigen Parametern (int Anzahl, ...) hay sólo en el CDECL-Variante.
Schöne Grüße Michael Wodrich
Autsch, el gibts auch alles en Wikipedia - uno muß se sólo para Lesen durchringen. |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 12.01.2008 ▲ |
|
|
|
|
RGH | Michael Wodrich
Und ... - C-Compiler benutzen CDECL - Windows benutzt STDCALL - Ensamblador kann beides.
Ein Grund para el verschiedenen Modelle es, dass el Compilerhersteller una Aufrufmodell para ihre intenen Características ausdachten, largo bevor lo Windows y/oder gemeinsam genutzte DLL gab. El Tarea war siempre igual: El Parámetro mussten en el Stack y anschließend musste derselbe otra vez aufgeräumt voluntad. Nur en el Reihenfolge el Parámetro y Cuestión, wer porque nun fürs Aufräumen zuständig es (Función oder Aufrufer), gab lo diferente Lösungen. Und a Beschleunigung übergab uno auch algunos Parámetro por Register.
Moderne Compiler (auch todos C y C++ Compiler) puede pero en Erstellung de gemeinsam genutzen Bibliotheken angeben, welche el Aufrufkonventionen genutzt voluntad. DELPHI benutzt z.B. defaultmäßig REGISTER (d.h. el ersten Parámetro voluntad por Prozessorregister-Register transferencia - el spart Tiempo y Stackspeicher), aber para DLL puede ser angeben, si uno CDECL, STDCALL oder FARPASCAL nutzen voluntad. 32-Bit-Windows benutzt STDCALL, also debería uno bajo Windows nutzbare DLL vorzugsweise con STDCALL kompilieren. (16-Bit-Windows nutzte FARPASCAL como Aufrufkonvention. Diese Konvention kommt aber meines Wissens en DLL no mehr antes.) CDECL findet uno oft en en C++ erstellten Bibliotheken, el lo, como eben SQLite, para Linux y Windows son.
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 12.01.2008 ▲ |
|
|
|