| |
|
|
- Página 1 - |
|
Jens-Arne Reumschüssel | Bueno Abend zusammen,
Yo bin kürzlich encima el problema gestolpert, dass XPSE una bastante große Quelldatei de No mehr verarbeiten podría. Variables fueron plötzlich como no definiert gemeldet y otro "erratische" Problemas mehr. Yo podría me vorstellen, dass dies daran liegt, dass XPSE Schlüsselworte en Windows-Atoms verwaltet. Como es irgendwann Schluss (en algo zwischen 60.000 y 70.000 Stück, wobei uno bedenken muss, dass XPSE el Windows-API con vorhält). Tal vez lo aber auch algo bastante más, Yo de hecho puede no en el "Maschinenraum" de XPSE schauen.
Jedenfalls blieb me, como XPSE no mehr gepflegt se, nichts más übrig, como el nachzubauen. Das Ergebnis es JRPC3.
----- Features:
*vernünftige Meldung de Fehlern *direkte Anzeige des Programmablaufes en XProfEd (sofern el unten erhältliche aufgebohrte XProfEd verwendet se) *Umsetzung el alten Profano-Syntax para Operatoren y alte Containerfunktionen *extremo schnelle native fbPROCs, sofern uno FreeBasic installiert ha (libre, siehe Ayuda) *con fbPROCs kann zudem Inline-Ensamblador auch antes XProfan X4 realisiert voluntad *extremo schnelle native pbPROCs, sofern uno PureBasic installiert ha *Echtzeitverfolgung de Variableninhalten *einfache Zeitmessungen en el Programmablauf *Profano-Kompilerdirektiven trabajo endlich vernünftig (z.B. Verschachtelung) *eingebettete Variables trabajo auch con Arrays *el meisten WIN32-API-Características son ya vordefiniert mitgeliefert *API-Aufrufe encima @external(...) voluntad automáticamente en @call(...)-Aufrufe umgesetzt *Einrückungsanalyse para Finden de vertrackten Verschachtelungsfehlern *Klammeranalyse para Finden de vertrackten Klammerfehlern *ENUMERATE-Funktionalität *Assert a Fehlerkontrolle *lo puede beliebige DLL en el XProfan-EXE integriert voluntad, sodass ellos no con ausgeliefert voluntad necesario (siehe {$WrapDll}) *einfaches Killen de con JRPC3 gestarteten Programmen (interpretiert, .prc comenzó, .exe comenzó) *extremadamente rápido (y por lo tanto natürlich no en XProfan geschrieben, como una interpretierte Lingua esta naturgemäß viel a langsam es) *beim Start de JRPC3 ya vorhandene .prc-Archivos puede para Starten y Linken genutzt voluntad (lo se una Referencia adecuado, dass es una altes Kompilat es) *el Profano-Compiler kann a Beschleunigung con hoher Prozessorpriorität aufgerufen voluntad *eingebauter Actualización-Checker con Descargar, si lo una Actualización son (Ayuda --> online después de Updates suchen) *64- oder 32-bit-Versión verfügbar (simplemente JRPC3_64.exe oder JRPC_32.exe como Interpreter en XProfEd hinterlegen [Optionen --> Allgemeine Einstellungen] y JRPC3 con F7 starten) - Achtung, el 64-bit-Versión producido natürlich no 64-bit-XProfan-Programas, como XProfan el no kann, pero JRPC3 incluso se como 64-bit-Programa ausgeführt *XProfan X4-Syntax verfügbar (möglicherweise todavía no alles, como Yo vermutlich no alles su benutze, pero yo habe mich en Vollständigkeit bemüht - jedenfalls son z.B. HASH-Arrays y QUADINTs esta) *Interpreter, PRCs y EXEs puede con Kommandozeilenparametern ausgeführt voluntad *Interpreter, PRCs, EXEs y XPSE puede con Administratorrechten ausgeführt voluntad *Prozeduren, el en el aktuellen Programa zwar enthalten son, pero no verwendet voluntad, voluntad de el umgesetzten Expediente lejos, a Dateigröße des Kompilats möglichst klein a halten *Variables, el en el aktuellen Programa zwar enthalten son, pero no verwendet voluntad, voluntad de el umgesetzten Expediente lejos, a Dateigröße des Kompilats möglichst klein a halten y el Speicherverbrauch a optimieren *nPROCs de XPSE voluntad automáticamente con XPE a uno DLL umgesetzt y el Aufrufe el nPROCs en el Programa entsprechend adaptado, sofern XPSE disponible es *fast alles de XPSE funktioniert auch en JRPC3 ({$NOERR}, {$(PRE)BATCH}, {$PUSHKEYWORD}, Interpreter, Runtime y Compiler festlegen, Shorties, ...) *XProfEd_JR con Ver código fuente-AutoComplete *XProfEd_JR con Ver código fuente-Memory-Función (Markierungen, a denen zurückgesprungen voluntad kann)
Einschränkungen: -kein XPSE-Inline-Ensamblador, wohl aber XProfan-Inline-Ensamblador (en él allerdings no Prüfungen en Korrektheit des Codes) -ABER: uno kann XPSE de JRPC3 heraus aufrufen, sodass esta Funktionalität weiterhin verfügbar es, sofern uno XPSE besitzt (neuer Shorty: {$x}) -Variables, el en uno Procedimiento no deklariert son, pero "aus el aufrufenden Procedimiento übernommen werden", son standardmäßig no zugelassen (XProfan erlaubt el, aber así algo es genauso tödlich como GOTO-Anweisungen). Bitte todos a nutzenden Inputs como Parámetro transferencia, y si algo de el aufrufenden Programmteil verändert voluntad muss, beim Aufruf como Parámetro z.B. @addr(x&) uso y el Procedimiento parámetros x# y LONG x#,0=y& nutzen. Wenn uno aber necesariamente "vererbte" Variables nutzen möchte, puede ser dies con el Kompilerdirektive {$Declarar...} tun.
*como Hommage a XPSE lautet el Endung el Ausgabedatei ".enh3"
Un genauere Erläuterung el individual Features es el chm-Hilfedatei a entnehmen, el en el Programa bajo Ayuda --> Hilfedatei Mostrar oder con F1 verfügbar es.
----- /Features
Descargar y installieren: JRPC3 kann unten heruntergeladen voluntad (setup_jrpc3.exe oder como ZIP-Expediente). Als Installationsverzeichnis Por favor, el XProfan-Stammverzeichnis angeben, also dasjenige, en el el Archivos PROFAN.EXE, PROFCOMP.EXE, PRFRUN32.EXE etc. mentira. Alternativ kann el ZIP-Expediente heruntergeladen y deren Inhalt manuell en el XProfan-Stammverzeichnis kopiert voluntad.
Einrichtung: JRPC3_64.exe oder JRPC_32.exe como Interpreter en XProfEd hinterlegen [Optionen --> Allgemeine Einstellungen] y JRPC3 con F7 starten.
Alle Befehle son con el Befehl "h" como "Hilfe" abrufbar y debería selbsterklärend ser.
Für viele erweitere Features, el XProfEd betreffen, como z.B. jenes, el Línea, en el una Fehler auftrat, direkt en XProfEd Mostrar a puede, es el mitinstallierte XProfEd_JR erforderlich. Dafür muss uno also XProfEd_JR.exe en lugar de XProfEd.exe como Editor benutzen. Als "goody" hay dazu, dass beim Auf- y Zufalten de Programmen una Fortschrittsanzeiger integriert es (el kann en großen Programmen sí bekanntlich una bisschen dauern).
Lo mag ser, dass todavía no alles perfekt funktioniert. Yo Por favor, esta en Nachsicht. Mi Programas dejar se umsetzen, aber el muss todavía largo no heißen, dass dies con Programmen otro Autores, el cada así ihre Eigenheiten haben, auch funktioniert.
Fehlermeldungen y Verbesserungsvorschläge gerne a jreumsc@web.de oder hier en el Foro.
Beste Grüße, Jens-Arne |
| 2.584 kB | | Bezeichnung: | JRPC3 | | Versión: | 10.29 | | Kurzbeschreibung: | JRPC3-Installer | | Hochgeladen: | 15.02.2021 | | Ladeanzahl: | | | | Descargar | | | | 1.699 kB | | Bezeichnung: | XProfEd_JR | | Versión: | 5.2 | | Kurzbeschreibung: | Alte Versión sin AutoComplete a Sicherheit | | Hochgeladen: | 15.02.2021 | | Ladeanzahl: | | | | Descargar | | | | 3.777 kB | | Bezeichnung: | JRPC3 | | Versión: | 10.29 | | Kurzbeschreibung: | ZIP-Expediente en lugar de Installer | | Hochgeladen: | 02.04.2021 | | Ladeanzahl: | | | | Descargar |
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 16.02.2021 ▲ |
|
|
|
| |
|
- Página 17 - |
|
|
« Dieser Contribución wurde como Solución gekennzeichnet. » |
|
- Página 15 - |
|
Jens-Arne Reumschüssel | Lo son una neue Versión, el anders con el internen Messagehandling umgeht. Bitte probier el veces de. Tal vez el problema así Fijo. |
|
|
| XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 24.09.2022 ▲ |
|
|
|
|
|
RudiB. | Übrigens, Freebasic es incluso beim verarbeiten de String-Función ca. 35x más rápido como XProfan. Das hätte Yo no pensamiento, dafür es aber Freebasic largo no así komfortabel en Programación.
Saludo de München |
|
|
| |
|
|
|
RudiB. | Sí, Su Ejemplo funktioniert.... |
|
|
| |
|
|
|
Jens-Arne Reumschüssel | Puedo no bestätigen, dass FreeBasic-Stringfunktionen más rápido wären como XProfan-Stringfunktionen, jedenfalls no para @upper$:
declarar i%,tc&,s$
fbPROC fbupper(ByRef s As ZString) As Integer Export s=ucase(s) volver 0 ENDPROC
cls
tc&=&GetTickCount for i%,1,10000 s$="asdjhaskdjhaskjdhkajshdkjhaksjdhkjahö+12" s$=@upper$(s$) endfor imprimir "@upper$: "+@str$(&GetTickCount-tc&)
tc&=&GetTickCount for i%,1,10000 s$="asdjhaskdjhaskjdhkajshdkjhaksjdhkjahö+12" @fbupper(@addr(s$)) endfor imprimir "@fbupper: "+@str$(&GetTickCount-tc&)
waitinput end
FreeBasic es deutlich langsamer, y zwar obwohl el Funktionsaufruf de JRPC3 encima call realisiert se y no encima external, y obwohl para el FreeBasic-Rutina no una vez neuer Speicherplatz reserviert voluntad muss, como para @upper$ el Fall es (porque hay s$ neu zugewiesen se). |
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 30.09.2022 ▲ |
|
|
|
|
RudiB. | entonces teste veces así.....
incluso más rápido con Upper-Case y Lower-Case.... |
|
|
| |
|
|
|
RudiB. | más o menos, con gleichen Voraussetzungen (jeweils una Procedure aufrufen)
hier es el Vorteil zwar no mehr bastante así groß, aber trotzdem más rápido |
|
|
| Xprofan X4 Rudolf Beske / München
Hardware: NB Intel I9 - 16GByte RAM | 01.10.2022 ▲ |
|
|
|
|
Jens-Arne Reumschüssel | ¡Hola Rudi,
darüber Tuve auch ya nachgedacht. Offenbar es el Aufruf uno Procedimiento con así viel Registergeschiebe u.ä. verbunden, dass el bastante schön largo dauert. In el Praxis lohnt lo por lo tanto no, una FB-Función para el Stringfunktionen a escribir, el una continuación en el Profano-Programa nutzen sería. Aber innerhalb uno fbProc puede ser el Geschwindigkeitsvorteil, el offenbar doch existiert, natürlich ausspielen.
Saludo, Jens-Arne |
|
|
| XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 01.10.2022 ▲ |
|
|
|
|
RudiB. | Usted sprichst gerade el FB-Características a. ¿Por qué se el eigentlich no de JRPC3 erkannt, hast Usted el no implementiert ? |
|
|
| |
|
|
|
Jens-Arne Reumschüssel | Yo meinte así FreeBasic-Procs (fbProcs). El voluntad doch hoffentlich de JRPC3 erkannt. Yo habe darauf angespielt, dass offenbar jedweder Funktionsaufruf con muy viel Overhead geschieht, el Tiempo kostet. Ansonsten verstehe Yo el Cuestión no bastante, erläutere me ellos Por favor, todavía una vez (hast Usted con "FB-Funktion" de otra manera gemeint como Yo?).
Und unser kleines Ejemplo Todavía una vez algo verfeinert. Denn en wirklich Gerechtigkeit herzustellen, muss auch el Profano-Función con call aufgerufen y ser außerdem una Parámetro haben (auch si la vorliegend nichts tut):
declarar i%,tc&,s$,funcaddr%
fbPROC fbupper(ByRef s As ZString) As Integer Export s=ucase(s) volver 0 ENDPROC
PROC upper parámetros dummy% s$=@upper$(s$) ENDPROC
cls funcaddr%=@procaddr("upper",1)
tc&:=&GetTickCount for i%,1,10000 s$:="asdjhaskdjhaskjdhkajshdkjhaksjdhkjahö+12" call(funcaddr%,@addr(s$)) endfor imprimir "@upper$: "+@str$(&GetTickCount-tc&)
tc&:=&GetTickCount for i%,1,10000 s$:="asdjhaskdjhaskjdhkajshdkjhaksjdhkjahö+12" @fbupper(@addr(s$)) endfor imprimir "@fbupper: "+@str$(&GetTickCount-tc&)
waitinput end
Jetzt son beide Varianten fast igual rápidamente (kompiliert) con siempre todavía una pequeño Vorteil en FreeBasic. |
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 01.10.2022 ▲ |
|
|
|
|
RudiB. | ¡Hola Jens-Arne,
....alles bien. El fbProcs voluntad natürlich sauber erkannt y verarbeitet. Yo meinte Freebasic-Características. Posesiones doch dazu el Expediente "datei_fb_test.prf" hochgeladen. Diese hast Usted entonces auch umgeschrieben a uno fbProc. Como ya he dicho bajo Freebasic gibst sí Sub´s y Características.... |
|
|
| |
|
|
|
Jens-Arne Reumschüssel | Se puede schlicht no direkt en FreeBasic programa, also auch no direkt Características de hay aufrufen, porque el Profano-Compiler esta Características no direkt en ser Programa einbauen kann. Um ellos a nutzen, muss siempre una DLL producido voluntad, en el naturgemäß Características (Procs) posición, el una continuación de außen aufrufen kann, en el en él enthaltenen nativen FreeBasic-Code a nutzen. Es no sin el Umweg una DLL-Función. Das macht auch el XProfan-Inline-Ensamblador así, el XPSE-Inline-Ensamblador y XPSE-nPROCs ebenfalls.
EDIT: Tal vez todavía una vez anders herum erklärt: Um FreeBasic-Code a erzeugen, muss el FreeBasic-Compiler verwendet voluntad. Es natürlich no "plötzlich" innerhalb uno Profano-Programms. Durch el Nutzung de DLL-Características es el FreeBasic-Code hingegen derart abgegrenzt, dass el FreeBasic-Compiler el vorgesetzt bekommt, qué para ihn pensamiento es, y Profano-Compiler seinen Anteil. |
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 01.10.2022 ▲ |
|
|
|
|
RudiB. | ¡Hola Jens-Arne,
Gracias para Su Antwort......verstehe....uno puede todo en efecto con Sub´s lösen. Aber bien a wissen. Yo möchte mein Programa ahora con fbProcs optimieren, como lo me simplemente a langsam es.....
Saludo Rudi |
|
|
| |
|
|
|
Jens-Arne Reumschüssel | Exactamente dafür son fbProcs como. Das lohnt se aber sólo en Programmpassagen, el viel rechnen oder bastante oft aufgerufen voluntad, etwa en uno großen Bucle. Z.B. es una extremo gute Concepto, el Subclassproc después de FreeBasic a verlagern, si la länger como unos pocos Zeilen es. Wenn uno en él bspw. OwnerDraw-Elemente versorgt, entonces el en Profano oft a langsam. Ein Ejemplo dafür wären farbige Elemente en Gridboxen. |
|
|
| XProfan X4XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 01.10.2022 ▲ |
|
|
|