| |
|
|
Daniel Hoffmann | Hi gens j'écris justement à einer kleinen, mais feinen DLL et veux qui Profan-kompatibel faire. sais quelqu'un, quoi je là pour Aufruf- et Namenskonventionen einhalten muss? Reicht es, alle Funktionen comme __stdcall avec undekorierten Namen trop exportieren? cela wäre ned mal So, la fois vite une kurze Zusammenfassung trop SPIT3: c'est une Art calculette, ähnlich qui bekannten DLL Parcival de Jacob Liebeck. je suis une anderen Weg chez qui Auswertung gegangen comme il, et eh bien hat il une très vielseitigen Parser. Im opposition en supplément suis je sur Geschwindigkeit gegangen. cela führte en supplément, dass SPIT3 dans seinem aktuellen Stand qui Funktion cos(sqrt(x^2+y^2)) avec einer Auflösung de 401*401 Punkten sur meinem Centrino 1.3GHz-Notebook dedans de etwa 1.2s berechnet. Parcival nécessaire pour dieselbe Funktion sur dem Heimrechner de Jac chez 40*40 Punkten etwa 300ms. Pour cette peux Parcival plus je werde versuchen, possible bientôt une (hoffentlich) Profan-kompatible Version ici hochzuladen, c'est oui schließlich cela but cet Threads
cela.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, je remercie dir comment fou ensuite werde je la fois sur meinem Zweitnotebook ne tôt Beta kompilieren et ici hochladen... allerdings avec vielen Hinweisen versehen, là je mich dans Profan seulement entier wenig auskenne, besonders quoi zweidimensionale Arrays angeht. dans einer Funktion muss z.b. cela aufrufende Programme une aiguille sur un zweidimensionales Array transfert. ensuite reserviert SPIT3 grenier, avec cela cela aufrufende Programme avec seinem Pointer puis zugreifen peux. comment peux on dans Profan ensuite chaque Unterarrays freigeben? Ansonsten baue je encore ne CleanUp-Funktion un... *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, ici venez qui Beta... s'il te plaît wirklich prudent avec cela son, possible qui Kurzanleitung auparavant lesen, et un bisschen testen je serait mich sur Kommentare freuen, solange vous konstruktiv sommes. malheureusement konnte je dans qui Kurzanleitung seulement dans C-Syntax sur qui aiguille écrivons, je hoffe, son versteht es quand même bien peut-être hilft mir qui Jac chez Gelegenheit aussi dabei, cela richtig pour Profan trop testen, weil cela pour mich encore relatives Neuland ist. |
|
|
| 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 chez mir encore pas...
DLL wird korrekt geladen, Funktionsadresse wird korrekt bezogen, un Call sur evalia_interpreter gibt cependant lediglich la valeur 1 zurück et je erhalte une Absturz avec anschließendem Dr.Watson.
Pour Deiner Anleitung sollte folgendes dans XProfan ausreichen:
hat cependant selbes Result comment ou bien einfacher
Gibt toujours 1 zurück et Absturz. |
|
|
| |
|
|
|
| Nachtrag: Zum pour toi Selbertesten suivant Source anhängig comme Exe:
|
|
|
| |
|
|
|
Daniel Hoffmann | merci pour Testen et qui détaillé Antwort. peut-être sollte je qui Rückgabe aussi simple seulement comme float faire... bien, ou bien je gebe plan une String avec dem 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, maintenant gibt es dans SPIT3 zumindest une Funktion, qui de Profan aufgerufen cela fait, quoi vous soll. ici cela Wichtigste dans Kürze: qui Funktion est evalia_wb et erwartet deux paramètre. qui erste zeigt sur den auszurechnenden String. qui zweite ist qui Adresse des double-Wertes, dans den cela Ergebnis geschrieben volonté soll. Jac de Lad hat la fois une INC en supplément geschrieben, qui je avec dans cela ZIP-Archiv emballé habe. s'il te plaît vermeidet es erstmal, plus geschlosssene comme öffnende Klammern trop écrivons, cela peux trop inattendu Ergebnissen mener. également ist es zwar maintenant possible, aussi -4*3 zuschreiben (Vorzeichen), mais cela funktioniert encore pas problemlos. dans qui espoir, dass es eh bien chez chaque fonctionne, wünsche je viel Amusement beim essayer |
|
|
| 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, depuis meinem letzten Posting hat sich einiges getan. SPIT3 hat une neuen Parser bekommen et erkennt maintenant aussi folgende Kurzschreibweisen: 2(3+5x^2sin(xy)) comme 2*(3+5*x^2*sin(x*y)), wobei qui Variablen derzeit alle encore avec 0 belegt sommes. une entsprechende Funktion wird bientôt incorporé. également manquer encore qui Funktionen zum Berechnen eines Terms avec unterschiedlichen Werten qui Variablen, ist mais aucun grand l'affaire. Syntaxfehler volonté encore pas comme solche erkannt, mais dürften vielmehr Exceptions dans forme de Access Violations auftauchen *schäm*, venez aussi dans den prochain alpha-Releases. Alle Funktions- et Variablennamen doit petite geschrieben son, Leerzeichen devrait vermieden volonté. je s'il te plaît euch, cela Ding simple la fois trop testen, c'est wahnsinnig lente momentan, weil qui Parser plus Durchläufe pouvoir comme dans qui vorigen Version. ca pouvoir qui Auswertung eines individuel Terms langsamer, mais chez vielen aufeinanderfolgenden Berechnungen desselben Terms avec unterschiedlichen Variablenwerten allez alles et avec ca plus rapide Prinzipiel volonté maintenant aussi Funktionen mehrerer paramètre soutenu, mais il y a encore aucun je serait mich sur kleine Bug-Reports et Anregungen/Wünsche eurerseits freuen. si SPIT3 fehlerarm fonctionne, werde je qui Entwicklung à SPIT3 Ultra continuer, welches ensuite aussi avec Vektoren et Matrizen le calcul peut soll. Größenmäßig hat SPIT3 assez zugelegt, 35kB ist zwar pas qui monde, mais bof... ah bon, presque oublier qc: qui Funktion est weiterhin evalia_wb et erwartet comme ersten paramètre den auszuwertenden String, comme zweiten une aiguille sur den double-Wert, wohin cela Ergebnis hin soll. Beispiel:
declare 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 ▲ |
|
|
|