AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

XE2: ASM und Pascal gemischt?

Ein Thema von Schorschi5566 · begonnen am 11. Sep 2011 · letzter Beitrag vom 12. Sep 2011
Antwort Antwort
Seite 1 von 2  1 2   
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#1

AW: XE2: ASM und Pascal gemischt?

  Alt 11. Sep 2011, 17:24
ASM grundsätzlich funktoniert noch. Nur haben sich dort die Register, das Alignment und die Größen der Register geändert (klar ist ja nun alles größer).

Aber um auf die nächsten Compiler änderungen vorbereitet zu sein (ARM?!) sollte man puren Pascal-Code nutzen.
Lars
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.052 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: XE2: ASM und Pascal gemischt?

  Alt 11. Sep 2011, 17:39
Bei dem konkreten Problem sollte die Lösung ja null problemo sein, einfach _SQLite3_Open nicht als puren Pointer sondern typisiert mit der richtigen signatur deklarieren und dann einfach aufrufen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.054 Beiträge
 
Delphi 12 Athens
 
#3

AW: XE2: ASM und Pascal gemischt?

  Alt 11. Sep 2011, 17:51
An der Stelle mit Assembler zu arbeiten... Wie kommt man denn auf so komische Ideen?

Sauber und typsicher mit Delphiquelltext ist das doch erstens viel einfacher und zweitens weniger fehleranfällig.

(Auch wenn theoretisch die Möglichkeit besteht, die ganze Methode als Assemblerfunktion umzuschreiben. Aber dann fängst du bei ARM wieder an umzuschreiben...)
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#4

AW: XE2: ASM und Pascal gemischt?

  Alt 11. Sep 2011, 17:53
An der Stelle mit Assembler zu arbeiten... Wie kommt man denn auf so komische Ideen?

Sauber und typsicher mit Delphiquelltext ist das doch erstens viel einfacher und zweitens weniger fehleranfällig.
Keine Ahnung - hab ich schon öfter mal gesehen, wo Funktionen einer Dll so geladen und aufgerufen wurde.
Lars
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.312 Beiträge
 
Delphi 12 Athens
 
#5

AW: XE2: ASM und Pascal gemischt?

  Alt 11. Sep 2011, 18:02
Auf den Delphitagen wurde gesagt, daß in einer Procedure bei 64Bit entweder Pascal-Code drinstehen darf ODER Assembler. Musst also den Assemblerteil in eine Procedure auslagern.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#6

AW: XE2: ASM und Pascal gemischt?

  Alt 11. Sep 2011, 18:06
Oder besser: Typen dafür definieren und diesen nutzen.
Lars
  Mit Zitat antworten Zitat
Schorschi5566

Registriert seit: 6. Feb 2006
197 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

AW: XE2: ASM und Pascal gemischt?

  Alt 11. Sep 2011, 18:02
Danke für Eure Antworten. Jepp, leuchtet ein, dass das nicht gerade multiplattformfreundlich ist.

So wie's der Wrapper gemacht hat, konnte man das gut mit dem DLL2MemoryModule von Martin Offenwanger kombinieren und die DLL direkt aus einer Ressource verwenden ohne den Umweg die DLL temporär ins Filesystem laden zu müssen. Aber mit Funktionspointern sollte das natürlich auch gehen.


P.S.: Der Vorteil den der Autor des Wrappers darin gesehen hat, dürfte sein, dass man keinen "doppelten" Funktionsaufruf macht, sondern die DLL-Funktion den Rücksprung direkt machen kann.
Uwe
"Real programmers can write assembly code in any language." - Larry Wall
Delphi programming rocks
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.054 Beiträge
 
Delphi 12 Athens
 
#8

AW: XE2: ASM und Pascal gemischt?

  Alt 11. Sep 2011, 18:21
P.S.: Der Vorteil den der Autor des Wrappers darin gesehen hat, dürfte sein, dass man keinen "doppelten" Funktionsaufruf macht, sondern die DLL-Funktion den Rücksprung direkt machen kann.
// EDIT:
Ok, ich sehe es, aber wo liegt da der große Vorteil? Die paar Mikrosekunden Zeitersparnis?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Schorschi5566

Registriert seit: 6. Feb 2006
197 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#9

AW: XE2: ASM und Pascal gemischt?

  Alt 11. Sep 2011, 18:27
Zitat:
Ok, ich sehe es, aber wo liegt da der große Vorteil? Die paar Mikrosekunden Zeitersparnis?
Wird sich zeigen. Werde dann mal die Win32 und die Win64-Version vergleichen. Wirkt sich wahrscheinlich eh erst ab ein paar Millionen Aufrufen auf der Stopuhr aus.
Uwe
"Real programmers can write assembly code in any language." - Larry Wall
Delphi programming rocks
  Mit Zitat antworten Zitat
Insider2004
(Gast)

n/a Beiträge
 
#10

AW: XE2: ASM und Pascal gemischt?

  Alt 11. Sep 2011, 20:53
Seit XE2 gilt mehr denn je: weg mit dem Assembler-Zeugs! Pascal ist mittlerweile genauso schnell. Und es entfällt das ständige Neuschreiben beim Portieren. Die beste Performance erreicht man durch gescheite Algorithmen, nicht durch Assembler.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz