| |
|
|
Daniel Hoffmann | Hi Personas Yo escribir gerade a uno pequeño, aber feinen DLL y voluntad el Profano-kompatibel hacer. Weiß alguien, Yo como para Aufruf- y Namenskonventionen einhalten muss? Reicht lo, todos Características como __stdcall con undekorierten Namen a exportieren? Das wäre ned schlecht So, veces rápidamente una kurze Zusammenfassung a SPIT3: Es una Art Taschenrechner, ähnlich el bekannten DLL Parcival de Jacob Liebeck. Yo bin una otro Weg en Auswertung gegangen como él, y nun ha él una muy vielseitigen Parser. Im Gegensatz dazu bin I Geschwindigkeit gegangen. Das führte dazu, dass SPIT3 en seinem aktuellen Stand el Función cos(sqrt(x^2+y^2)) con uno Auflösung de 401*401 Punkten en mi Centrino 1.3GHz-Notebook innerhalb de etwa 1.2s berechnet. Parcival benötigt para dieselbe Función en el Heimrechner de Jac en 40*40 Punkten etwa 300ms. Dafür kann Parcival mehr Yo voluntad versuchen, möglichst bald una (hoffentlich) Profano-kompatible Versión hier hochzuladen, el es sí schließlich el Ziel dieses Hilos
el.dan |
|
|
| Athlon 550 / 768 MB / 8+10 GB / Radeon 9250 64 MB / Windows 2000 Professional / TFT 20" 1680x1050 Athlon XP 2000+ / 1.5 GB / 120+250 GB / GeForce 6800 XT 256 MB / Windows XP Professional Athlon 64 3200+ / 512 MB / 60 GB / Radeon XPress 200M 64 MB / Windows XP Home / TFT 15.4" 1280x800 Intel Centrino 1.3 GHz / 512 MB / 40 GB / Radeon 9700 mobile / Windows XP Professional / TFT 15" 1400x1050 | 21.09.2007 ▲ |
|
|
|
|
| stdcall reicht, cdecl hingegen wäre komplizierter. |
|
|
| |
|
|
|
Daniel Hoffmann | ok, Yo danke dir como verrückt Voy a veces en mi Zweitnotebook ne frühe Beta kompilieren y aquí hochladen... allerdings con vielen Hinweisen versehen, como Yo mich en Profano sólo bastante wenig auskenne, besonders qué zweidimensionale Arrays angeht. In uno Función muss z.b. el aufrufende Programa una Zeiger en una zweidimensionales Array transferencia. Dann reserviert SPIT3 Speicher, así el aufrufende Programa con seinem Pointer darauf zugreifen kann. ¿Cómo se puede uno en Profano entonces cada Unterarrays liberación? Ansonsten baue Todavía ne CleanUp-Función una... *grübel* |
|
|
| Athlon 550 / 768 MB / 8+10 GB / Radeon 9250 64 MB / Windows 2000 Professional / TFT 20" 1680x1050 Athlon XP 2000+ / 1.5 GB / 120+250 GB / GeForce 6800 XT 256 MB / Windows XP Professional Athlon 64 3200+ / 512 MB / 60 GB / Radeon XPress 200M 64 MB / Windows XP Home / TFT 15.4" 1280x800 Intel Centrino 1.3 GHz / 512 MB / 40 GB / Radeon 9700 mobile / Windows XP Professional / TFT 15" 1400x1050 | 21.09.2007 ▲ |
|
|
|
|
Daniel Hoffmann | Ok, hier kommt el Beta... Bitte wirklich vorsichtig así ser, möglichst el Kurzanleitung vorher lesen, y una bisschen testen Yo sería Notifiqueme de Kommentare freuen, solange ellos konstruktiv son. Leider podría Yo en el Kurzanleitung sólo en C-Syntax en Zeiger escribir, Yo hoffe, ihr versteht lo trotzdem bien Tal vez hilft me el Jac en Gelegenheit auch esta, el correcto para Profano a testen, porque el para mich todavía relatives Neuland es. |
|
|
| Athlon 550 / 768 MB / 8+10 GB / Radeon 9250 64 MB / Windows 2000 Professional / TFT 20" 1680x1050 Athlon XP 2000+ / 1.5 GB / 120+250 GB / GeForce 6800 XT 256 MB / Windows XP Professional Athlon 64 3200+ / 512 MB / 60 GB / Radeon XPress 200M 64 MB / Windows XP Home / TFT 15.4" 1280x800 Intel Centrino 1.3 GHz / 512 MB / 40 GB / Radeon 9700 mobile / Windows XP Professional / TFT 15" 1400x1050 | 21.09.2007 ▲ |
|
|
|
|
| Funktioniert en me todavía no...
DLL se korrekt geladen, Funktionsadresse se korrekt bezogen, una Call en evalia_interpreter son sin embargo lediglich valor 1 zurück y yo erhalte choque con anschließendem Dr.Watson.
Nach Deiner Anleitung debería folgendes en XProfan ausreichen:
ha sin embargo selbes Result como oder einfacher
Gibt siempre 1 zurück y Choque. |
|
|
| |
|
|
|
| Apéndice: Zum para Usted Selbertesten folgender Source anhängig como Exe:
|
|
|
| |
|
|
|
Daniel Hoffmann | Gracias fürs Testen y el ausführliche Antwort. Tal vez debería Yo el Rückgabe auch simplemente sólo como float hacer... Gut, oder Yo dar eben una String con el Ergebnis zurück |
|
|
| Athlon 550 / 768 MB / 8+10 GB / Radeon 9250 64 MB / Windows 2000 Professional / TFT 20" 1680x1050 Athlon XP 2000+ / 1.5 GB / 120+250 GB / GeForce 6800 XT 256 MB / Windows XP Professional Athlon 64 3200+ / 512 MB / 60 GB / Radeon XPress 200M 64 MB / Windows XP Home / TFT 15.4" 1280x800 Intel Centrino 1.3 GHz / 512 MB / 40 GB / Radeon 9700 mobile / Windows XP Professional / TFT 15" 1400x1050 | 21.09.2007 ▲ |
|
|
|
|
Daniel Hoffmann | So, ahora hay en SPIT3 zumindest una Función, el de Profano aufgerufen el macht, qué ellos se. Hier el Wichtigste en Kürze: El Función heißt evalia_wb y esperado zwei Parámetro. Der erste zeigt en el auszurechnenden String. Der zweite Es el Adresse des double-Wertes, en el el Ergebnis geschrieben voluntad se. Jac de Lad ha veces una INC dazu geschrieben, el I, con en el ZIP-Archiv gepackt habe. Bitte vermeidet lo primero, mehr geschlosssene como öffnende Klammern a escribir, el kann a inesperado Ergebnissen führen. Ebenfalls es zwar ahora posible, auch -4*3 zuschreiben (Vorzeichen), aber el funktioniert todavía no problemlos. In el Hoffnung, dass lo nun cada se ejecuta, wünsche Yo viel Spaß beim Probieren |
|
|
| Athlon 550 / 768 MB / 8+10 GB / Radeon 9250 64 MB / Windows 2000 Professional / TFT 20" 1680x1050 Athlon XP 2000+ / 1.5 GB / 120+250 GB / GeForce 6800 XT 256 MB / Windows XP Professional Athlon 64 3200+ / 512 MB / 60 GB / Radeon XPress 200M 64 MB / Windows XP Home / TFT 15.4" 1280x800 Intel Centrino 1.3 GHz / 512 MB / 40 GB / Radeon 9700 mobile / Windows XP Professional / TFT 15" 1400x1050 | 23.09.2007 ▲ |
|
|
|
|
Daniel Hoffmann | So, seit mi letzten Posting ha se einiges getan. SPIT3 ha una neuen Parser bekommen y erkennt ahora folgende Kurzschreibweisen: 2(3+5x^2sin(xy)) como 2*(3+5*x^2*sin(x*y)), wobei el Variables actualmente todos todavía con 0 belegt son. Un entsprechende Función se bald instalado. Ebenfalls fehlen todavía el Características para Berechnen uno Terms con unterschiedlichen Werten el Variables, es pero no große Sache. Syntaxfehler voluntad todavía no como solche erkannt, pero dürften vielmehr Exceptions en Form de Access Violations auftauchen *schäm*, kommt auch en el nächsten alpha-Releases. Alle Funktions- y Variablennamen necesario klein geschrieben ser, Leerzeichen debería vermieden voluntad. Yo Por favor, euch, lo simplemente veces a testen, es wahnsinnig langsam momentan, porque el Parser mehr Durchläufe macht como en el vorigen Versión. Dies macht el Auswertung uno individual Terms langsamer, pero en vielen aufeinanderfolgenden Berechnungen desselben Terms con unterschiedlichen Variablenwerten va alles todavía algo más rápido Prinzipiel voluntad ahora Características mehrerer Parámetro unterstützt, pero son todavía no Yo sería Notifiqueme de kleine Bug-Reports y Sugerencias/Wünsche eurerseits freuen. Wenn SPIT3 fehlerarm se ejecuta, voluntad Yo el Desarrollo a SPIT3 Ultra fortsetzen, welches entonces auch con Vektoren y Matrizen rechnen puede se. Größenmäßig ha SPIT3 bastante zugelegt, 35kB Aunque no el Welt, aber naja... Ach así, fast vergessen: El Función heißt weiterhin evalia_wb y esperado como ersten Parámetro el auszuwertenden String, como zweiten una Zeiger en el double-Valor, wo el Ergebnis hin se. Ejemplo:
declarar x! evalia_wb(2sin(6/5^2), addr(x!)) |
|
|
| Athlon 550 / 768 MB / 8+10 GB / Radeon 9250 64 MB / Windows 2000 Professional / TFT 20" 1680x1050 Athlon XP 2000+ / 1.5 GB / 120+250 GB / GeForce 6800 XT 256 MB / Windows XP Professional Athlon 64 3200+ / 512 MB / 60 GB / Radeon XPress 200M 64 MB / Windows XP Home / TFT 15.4" 1280x800 Intel Centrino 1.3 GHz / 512 MB / 40 GB / Radeon 9700 mobile / Windows XP Professional / TFT 15" 1400x1050 | 05.10.2007 ▲ |
|
|
|