Re: Как эстимировать портирование С++ кода на 64 бита?
От: altmenn Германия DLR IPA
Дата: 20.08.09 14:36
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть тонны незнакомого мне кода для 32-битной платформы.

А>Моя задача сейчас дать эстимации сколько времени потребуется на портирование этого кода на 64 бита.

А>С тонкостями самого портирования уже ознакомился, а вот как делать эстимации пока не ясно.

А>Идеи? рукомендации? ссылки?

Если совсем непонятно с чего браться, то можно пройтись по коду имея в виду следующее (MSDN):
Common Visual C++ 64-bit Migration Issues  

When you use Visual C++ to create applications to run on a 64-bit Windows operating system, you should be 
aware of the following issues:

An int and a long are 32-bit values on 64-bit Windows operating systems. For programs that you plan to compile 
for 64-bit platforms, you should be careful not to assign pointers to 32-bit variables. Pointers are 64-bit on 
64-bit platforms, and you will truncate the pointer value if you assign it to a 32-bit variable.
size_t, time_t, and ptrdiff_t are 64-bit values on 64-bit Windows operating systems.
time_t is a 32-bit value on 32-bit Windows operating systems in Visual C++ versions before Visual C++ 2005. 

In Visual C++ 2005 and later, time_t is a 64-bit integer by default. For more information, see Time Management.
You should be aware of where your code takes an int value and processes it as a size_t or time_t value. It is 
possible that the number could grow to be larger than a 32-bit number and data will be truncated when it is passed 
back to the int storage.

The %x (hex int format) printf modifier will not work as expected on a 64-bit Windows operating system. 
It will only operate on the first 32 bits of the value that is passed to it.
Use %I32x to display an integer on a Windows 32-bit operating system.
Use %I64x to display an integer on a Windows 64-bit operating system.
The %p (hex format for a pointer) will work as expected on a 64-bit Windows operating system.

For more information, see:

Compiler Options 

/Wp64 

__w64


Найти здесь:
http://msdn.microsoft.com/en-us/library/3b2e7499(VS.80).aspx
Безвыходных ситуаций не бывает!(Правило Кирхгофа)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.