Article View: de.comp.lang.c++
Article #410Optimieren mit WATCOM C++ 10.0
From: Olaf Krzikalla
Date: Sun, 17 Sep 1995 11:16
Date: Sun, 17 Sep 1995 11:16
27 lines
1360 bytes
1360 bytes
Hi Leute,
ich habe eine Klassenfunktion
void a::b() {
viele arithmetische Anweisungen mit Daten aus a
}
Aufgerufen wird die Sache immer mit a->b.
Der Compiler erzeugt dann Code, wobei er aber vor jede Anweisung die Adresse
von a neu in eax laedt, dann aber natuerlich mit eax weiterrechnet (und sonst
eigentlich keine Register braucht). Da das ganze aber oft durchlaufener
Bestandteil eines Interrupts ist, ist Geschwindigkeit angebracht. Wie kann ich
dem Compiler sagen, dass er gefälligst den Ptr auf a in einem Register zu halten
hat (es sind ja noch ebx...edx frei). Als ich in C mit einer Zeigerübergabe
gearbeitet habe, sahs so aus:
void b (a *var) {
register a *new = var
alles mit new
}
funktionierte aber auch nicht.
Muss ich wirklich alles in Assembler umschreiben ???
Ciao Olaf
Technical Details
Message-ID:
<43h01o$av2@irz413.inf.tu-dresden.de>Path:
arc1-ca.pugleaf.net!xlink.net!fauern!irz401!not-for-mailShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!xlink.net!fauern!irz401!not-for-mail From: ok4@irz.inf.tu-dresden.de (Olaf Krzikalla) Newsgroups: de.comp.lang.c++ Subject: Optimieren mit WATCOM C++ 10.0 Date: 17 Sep 1995 13:16:08 +0200 Organization: Dept. of Computer Science, TU Dresden, Germany Distribution: world Message-ID: <43h01o$av2@irz413.inf.tu-dresden.de> Reply-To: ok4@irz.inf.tu-dresden.de (Olaf Krzikalla) NNTP-Posting-Host: irz413.inf.tu-dresden.de Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit