Хз, может тут только на асме вопросы можно задавать Не кидайте яйца, я ж "не в интересах истины, но в интересах правды" Вообщем шо не так в этом синусе/тангенсе ? Синус вовсе вешает прогу, а тангенс считает не так (во всяком случае вид glFrustum со стандартным tan() и с моим разлчаются) ? Может fld там не double грузит ? хз... <font color="red]используем аттачи..</font><!--color-->
Код (Text): double sin(double x){ double y; __asm{ fld x [u]fcos[/u] fstp y } return y; } fcos - это очепятка? fld грузит все как надо. А вид с этим tan чем отличается?
А _ftol это функция и не int, а void. Код (Text): extern "C" { __declspec(naked) void _ftol() { __asm { fistp DWORD PTR [esp-12] mov eax, DWORD PTR [esp-12] mov ecx, DWORD PTR [esp-8] ret } } } Это из исходника демки Eclipse.
fcos опечатка... Про ftol не знал... Тоже самое (не так считает (хз, по-моему батва именно в округлении), Перспектива выглядит иначе) но уже не вылетает...
/QIfist Suppresses the call of the helper function _ftol when a conversion from a floating-point type to an integral type is required. Могут быть проблемы с округлением, пользовать с умом. На 8й версии компилятора что-то не всегда работает :-\