🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #410

Optimieren mit WATCOM C++ 10.0

#410
From: Olaf Krzikalla
Date: Sun, 17 Sep 1995 11:16
27 lines
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-mail

Show 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