Как выдрать из PULARGE_INTEGER цифру во float?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _nic, 16 Jun 2009.

  1. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Как такое сделать на С (значение получаемое из GetDiskFreeSpaceEx)? В гугле нашол макрос
    Code:
    #define _float_uint64_(fVar,uint64_var) 
    { 
    _asm fild QWORD PTR uint64_var 
    _asm fstp DWORD PTR fVar 
    }
    
    Но он на 2008 вижул студио(экспресс вариант) не пашет :( Какие ещё есть варианты?
     
  2. SmanxX1

    SmanxX1 Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    27
    Likes Received:
    6
    Reputations:
    2
    Напиши лучше функцию:
    Code:
    float uint64_q16(uint64 value)
    {
    	_asm fild QWORD ptr value;
    }
    
     
  3. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Точно такая же ошибка как и у макроса.
    Я так понимаю последнее вижуалстудио "_asm" воспринимает несколько по другому чем более старые IDE ?
     
  4. SmanxX1

    SmanxX1 Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    27
    Likes Received:
    6
    Reputations:
    2
    Проверил на 2008ой TS, все в порядке.
    Видимо это проделки експресс эдишена.

    П.С. Мб так:
    Code:
    _asm {fild QWORD ptr value};