06. januar 2006 - 14:39Der er
11 kommentarer og 1 løsning
Win64 possible loss of data warnings
Lige et hurtigt spørgsmål. Jeg er skiftet til VS 2005.net og er ved at overføre et tidligere VS 6.0 projekt. Jeg har sat compileren til at give warning ved mulige Win64 fejl, så som cast af pointers til int mv. Jeg er dog noget i tvivl om hvordan jeg løser nogen af de warnings. F.eks:
WNDPROC QCDProc; HWND hwndPlayer; SetWindowLongPtr(hwndPlayer, GWLP_WNDPROC, (LONG_PTR)QCDProc); giver: Warning 4 warning C4244: 'argument' : conversion from 'LONG_PTR' to 'LONG', possible loss of data
Hvordan løser jeg den slags warnings når jeg compiler til Win32?
Nej de har ingen betydning når jeg compiler til Win32, men jeg vil være sikker på de ikke giver problemer i fremtiden, når jeg vælger at compile til Win64.
En del Win32 funktion virker stadig under Win64. For eks.: ------------------------------- If you have window or class private data that contains pointers, your code will need to use the following new functions:
Ja det er jeg klar over. Jeg går ud fra jeg ikke kan komme af med de kompiler warnings. (Hvilket desværre IMO betyder at man ikke kan bruge treat warnings as errors og Detect 64-bit portability issues sammen. (Lyder måske som en tosset ting at gå op i for nogen)
Anyway, er du interesseret i at smide et svar jpk, så jeg kan komme af med de point? :)
Jeg bruger ikke selv "treat warnings as errors", jeg har blot vænnet mig til at fjerne de warnings der "kan" fjernes.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.