Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
10.10.2001, 18:12
shenZi



CHANGE (starting at line 77):

#ifdef _WIN32
void __inline set_fpu_cw(void)
{
_asm
{ wait
fnstcw old_cw
wait
mov ax, word ptr old_cw
or ah, 0xc
mov word ptr new_cw,ax
fldcw new_cw
}
}

int __inline quick_ftol(float f)
{
_asm {
// Assumes that we are already in chop mode, and only need a 32-bit int
fld DWORD PTR f
fistp DWORD PTR dlong
}
return dlong.i[0];
}

void __inline restore_fpu_cw(void)
{
_asm fldcw old_cw
}
#else
#define set_fpu_cw() /* */
#define quick_ftol(f) ftol(f)
#define restore_fpu_cw() /* */
#endif

TO:

#define set_fpu_cw() /* */
#define quick_ftol(f) ftol(f)
#define restore_fpu_cw() /* */

??
was soll ich denn jetzt da machen? alles was zwischen change und to steht löschen und dafür das nach to einsetzen? das nach to ist doch genau das gleiche wie das oben
*konfus

--

..::Follow the rabbit ::..

zum Seitenanfang zum Seitenende Profil || Suche
001
10.10.2001, 19:00
Prefect



Lol? Das nach to ist nicht genau das gleiche wie das oben. Das oben sind 30+ Zeilen, das unten sind 3 Zeilen. Der Unterschied dürfte selbst Blinden auffallen.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
002
10.10.2001, 20:55
TheTinySteini



Sieht mir so aus, als müsstest du eben einfach alles in dem #ifdef rausnehmen, weil Mingw32 kein _WIN32 definiert (weiß net, ob das zutrifft, aber scheint ja so zu sein). Damit bleibt nur noch der Teil zwischen #else und #endif -> das #else und das #endif nimmste auch noch weg und damit bleiben nur noch die 3 Zeilen, die unten stehen.

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
003
11.10.2001, 12:40
Prefect



Nein, das Problem liegt nicht beim _WIN32, sondern bei der Inline-Assembly. Das ist nämlich MSVC-Style, und MingW verwendet logischerweise gcc-Style-Inlineassembly.

Andererseits... warum sind die Funktionen da überhaupt drin? Die werden doch sicher nirgendswo verwendet? Ganz abgesehen davon, daß die höchstens in einem DOS-Programm bzw. Betriebssystemcode Sinn ergeben würden...

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
004
11.10.2001, 23:02
TheTinySteini



Stimmt, benutzt wird es nie... zumindest gibt mir MSVC keine Fundstellen aus.
Laut nem Kommentar im Code soll das ganze dies hier sein:
// Here are some "manual" INLINE routines for doing floating point to integer conversions

Naja, wer's braucht... =)

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
005
13.10.2001, 14:51
shenZi



die ganze prozedur war umsonst da das tut zum sdk kompatibel machen für mingw32 nur auf sdk2.0 bezogen war. mit 2.1 funzt das nich :(
ich brauche vc++ das is mir klar,aber bis ich das habe wollt ich schon mal anfangen aber keine chance,trotzdem danke für die hilfe
:)

--

..::Follow the rabbit ::..

zum Seitenanfang zum Seitenende Profil || Suche