| |
|
|
Claus Santa | XPIA: No Externo DLL! Hier todavía kleine Veränderungs-Tips... Ansonsten es XPIA bien. Assembly direkt codieren y no uber DLL, porque CALL funktion es SCHNELLER!
1. Vorteil: ReverseEnginiering con DLL es Kinderleicht, qué schlecht es para Datenverschlüsselung. ;(
2. Vorteil: Direktes einbinden en sourcecode, como:
if getfocus( hb_MakeSomting& ) whileloop 10 imprimir your cpu said: +AMSMcall MeineASMproc, MyText, ... ) endwhile
3. Vorteil: Rückgabe de 0-Terminated Cuerdas es posible [!]. Dann ginge en efecto el:
imprimir AssemblyFunk() retruns: > +cadena( AssemblyFunk#, 0 ) +<
4. Vorteil: Ein weiterer Vorteil es entonces auch externe Module handling (como: PLUGIN-MODULES) -> MORE IMPLIMENTATIONS. ;)
blockread( #1, ExternalModule#, 0, getfilesize( #1 ) ) ... call( ExternalModule# ) -> call_addr = addr( ExternalModule# )
5. Vorteil: Objeto Orientiertes Assembling - wichtig para MS Foundation Classes!
ASMcode$ contains suff of MemoryAddress# class A = ASMcode$[ SIZE ], ....
AObject# es una Objeto el Klasse A (en diesem Besipiel) call( AObject#, ... )
Syntax-Vorschlag:
Bitte no encima Parámetros, como schlecht/verwirrend para todos ANFÄNGER! Lo se bastante PROFAN (simplemente?) bleiben!
--- ROOT SOURCE --- ASMproc WhatEverItMakes( params ) volver ? ASMendproc
ASMcall( WhatEverItMakes, [params..] )
--- PATCHED SOURCE --- on app init dim WhatEverItMakes#, (SizeOfObj) byte WhatEverItMakes#, 0 = ...code source...
somewhere en your app call( WhatEverItMakes# )
on uninit disponer WhatEverItMakes#
--- appendix --- Yo una Página en Alemán con OpCodes igual beigefügt - BESSER ALS MEIN DEUTSCH!. ;/
Genereller BinaryCode: offsetdescription +1 byteoperation code +?operands ->byte = +1 ->single word = +1 ->double word = +1 ->quard word = +1
El Struktur debería entonces así aussehen para una ASM-Función (e.g. WhatEverItMakes#):
[ on call ] offsetvalue/datacontentasm code +1$E9buffer skip jumpjmp +4?? ?? ?? ??WhatEverItMakes# + RetrunSize(WhatEverItMakes# + RetrunSize) +(RetSz-Offs)$90reserved data buffernop +??...your stuff here......
[ on volver ] offsetvalue/datacontentasm code +RetSz?WhatEverItMakes# + RetrunSize [volver data] ( Posesiones fleisig en el Deutschprachigen Chats geübt. Hoffe es lesbar... [thx2sabine*] ) |
|
|
| Snoozel, [[StA/oXr]] // life is just'n bugfree, cos coding is life | 30.10.2005 ▲ |
|
|
|
|
Frank Abbing | Hi,
> XPIA: No Externo DLL! > Hier todavía kleine Veränderungs-Tips... Ansonsten es XPIA bien. > Assembly direkt codieren y no uber DLL, porque CALL funktion es SCHNELLER!
Mag ser, sólo ha el ziemliche Nachteile. Yo zähl veces algunos en, el me spontan einfallen:
- APIs trabajo así sólo muy aufwendig. - Keine Hight-Level-Syntax - Keine Library-Unterstützung - Komplizierte Parámetro- y Variablenübergabe - Keine Makro-Unterstützung - Keine Debugging-Unterstützung - Keine MASM32 Erweiterungen (MASM32.lib)
> 3. Vorteil: > Rückgabe de 0-Terminated Cuerdas es posible [!]. Dann ginge en efecto el: > > imprimir AssemblyFunk() retruns: > +cadena( AssemblyFunk#, 0 ) +<
Dll-Características transferencia en STDCALL grundsätzlich sólo Largo-Werte. Deswegen kannst du aber el Zeiger uno Cuerdas transferencia, wo el problema es?
> 5. Vorteil: > Objeto Orientiertes Assembling - wichtig para MS Foundation Classes! > > ASMcode$ contains suff of MemoryAddress# > class A = ASMcode$[ SIZE ], .... > > AObject# es una Objeto el Klasse A (en diesem Besipiel) > call( AObject#, ... ) >
Yo bin bekennender OOP Gegner. OOP y Ensamblador, el beisst se eh de vornherein.
> Syntax-Vorschlag: > > Bitte no encima Parámetros, como schlecht/verwirrend para todos ANFÄNGER! Lo se bastante PROFAN (simplemente?) bleiben! > > > --- ROOT SOURCE --- > ASMproc WhatEverItMakes( params ) > volver ? > ASMendproc > > ASMcall( WhatEverItMakes, [params..] ) > > > --- PATCHED SOURCE --- > on app init > dim WhatEverItMakes#, (SizeOfObj) > byte WhatEverItMakes#, 0 = ...code source... > > somewhere en your app > call( WhatEverItMakes# ) > > on uninit > disponer WhatEverItMakes# > > > --- appendix --- > Yo una Página en Alemán con OpCodes igual beigefügt - BESSER ALS MEIN DEUTSCH!. ;/ > > Genereller BinaryCode: > offset description > +1 byte operation code > +? operands > ->byte = +1 > ->single word = +1 > ->double word = +1 > ->quard word = +1 > > > El Struktur debería entonces así aussehen para una ASM-Función (e.g. WhatEverItMakes#): > > [ on call ] > offset value/data content asm code > +1 $E9 buffer skip jump jmp > +4 ?? ?? ?? ?? WhatEverItMakes# + RetrunSize (WhatEverItMakes# + RetrunSize) > +(RetSz-Offs) $90 reserved data buffer nop > +? ? ...your stuff here... ... > > [ on volver ] > offset value/data content asm code > +RetSz ? WhatEverItMakes# + RetrunSize > [volver data] Tiempo ehrlich! Usted hast erwähnt, Profano sei una Anfängersprache y alles debería ligeramente ser. Hälst du deinen oben angeführten Code para ligeramente verständlich? Also Yo no. Como finde Yo mi Prozeduren-artige Syntax para erheblich Principiante-geeigneter... El (optionale) Vereinfachung el Parameterangabe innerhalb des Assembleraufrufs ziehe Yo aber gerne en Erwägung. |
|
|
| |
|
|
|
Claus Santa | Hmm...
Fieleicht hast Usted bastante... Como restos sólo una SourceConverter a escribir.
...Und el voluntad algo heisen - Yo bin una wirklicher LazyDog! Schade, aber trotzdem Gracias! |
|
|
| Snoozel, [[StA/oXr]] // life is just'n bugfree, cos coding is life | 03.11.2005 ▲ |
|
|
|
|
Frank Abbing | Hi,
Source-Converter, sí? La idea scheint más verbreitet a ser, como du tal vez ahnst...
Yo bin Neuerungen aber durchweg no negativo geneigt y begrüsse solche Propuestas, el du hier gebracht hast. Wenn ellos me sinnvoll erscheinen y si ellos realisierbar son, entonces bau Yo ellos auch una. Lass dich also no abschrecken.
Cooles Cape! |
|
|
| |
|
|
|
Claus Santa | Sehe Yo auch así. Aber si sólo como Zusatz - XProfan se XProfan bleiben, okey?
P.S.: DEBIAN CAP nimby rulers (=für selberfummler) |
|
|
| Snoozel, [[StA/oXr]] // life is just'n bugfree, cos coding is life | 05.11.2005 ▲ |
|
|
|
|
Melanie Brayer | ...(M)una objektive Meinung...
( )`·.¸¸.-> Sicherheit: Leider muss Yo Franco bastante geben, como el API-Handling (besonders en XP) echt schlecht es - Windos-like eben. Usted hast zwar bastante con Deiner Safe-Is-Safe-Einstellug, aber vergiss no el Anwender el Software benutzen y no Hardliner como Usted! --> Hardware es HARD y Software eben SOFT! ¿Por qué benutzt du no Su PMC, el klappt auch under Windows!
( )`·.¸¸.-> In-Runtime: In-Runtime-DLL blähen el Runtime unnötig en y el In-Source-DLL kann no verändert voluntad. Als Ejemplo dient una PLUG-IN-Función, nombre RenderScene. Wir querer unsere Runtime aber flexibel hacer y DirectX y OpenGL rendern. Dazu se cada PLUG-IN el Función RenderScene besitzen, qué con In-Runtime-Code no va... Dieses Problema puede ser aber con Externen .PRC-Archivos lösen! Ein Aufruf podría entonces z.B. así de sehen: Drehfux32.exe opengl.prc RenderScene -mem $0000.
Tut me wirklich leid Sani, aber wo Franco bastante ha, ...
PS: Su deutch es 1000x mejor como antes una 3/4 Jahr. |
|
|
| mele (¯`·.¸¸.{ WinXP Pro, XProfan9, XPIA }.¸¸.·´¯)
<Bugs zählen ist besser als Schafe zählen, da der Computer nur so schlau ist wie der der Mensch der ihn bedient.> | 08.11.2005 ▲ |
|
|
|
|
Frank Abbing | Hi,
In-Runtime-Dlls con XPIA muss uno sí no einsetzen. XPIA producido sí el Dll auch separat y el Quellcode dazu. |
|
|
| |
|
|
|
Frank Abbing | Claus, Yo tener una deiner Sugerencias veces aufgegriffen. El nächste XPIA-Versión se, zusätzlich a herkömmlichen Form, auch una Kurzform el Parámetro- y Rückgabevariablen kennen. Hier una Ejemplo: KompilierenMarcaSeparación P.S.: iFs Syntaxbuilder kommt con el Code (todavía) no está claro. Como muß él wohl todavía nachbessern... |
|
|
| |
|
|
|
| So el Comunidad erkennt Su syntaktische Erweiterung ahora y reagiert entsprechend. |
|
|
| |
|
|
|
Frank Abbing | Super, danke. |
|
|
| |
|
|
|
Claus Santa | ( Damn good! ) Posesiones vielen Dank!! |
|
|
| Snoozel, [[StA/oXr]] // life is just'n bugfree, cos coding is life | 18.11.2005 ▲ |
|
|
|
|
Michael Dell | ¡Hola Franco,
el neue Parameterübergabe kommt echt bien! Como bleiben kaum todavía Wünche offen, una tener Yo aber todavía. Manchmal voluntad spezielle Características sólo a internen Anwendung benötigt y debería also no Exportiert voluntad.
¿Es posible una Schalter einzubauen el XPIA sagt el una Función no en el Export- Tabla gehört? Bislang mach Yo el sí a mano pero wär schön wenns auch Automatisch ginge etwa en el Art:
AsmStart Test (p1&,p2&) I I es hier natürlich para Intern. |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 22.11.2005 ▲ |
|
|
|