Corinna Vinschen wrote:
For clearness I decided to add a quick lecture. Hope that's ok.
Makes much sense. I would suggest two additions:
...
- DON'T mix up int and long in printf/scanf. This:
int i; long l;
printf ("%d %ld\n", l, i);
may not print what you think it should.
- DON'T forget to enable -Wformat gcc warnings, try also -Wformat=2.
(-Wformat is included in -Wall, -Wformat=2 is neither included in -Wall
nor in -W[extra]).
...
- DON'T use C base types together with Win32 functions. Keep in mind
that DWORD, LONG, ULONG are *not* the same as long and unsigned long.
Try to use only Win32 datatypes in conjunction with Win32 API function
calls to avoid type problems.
- DON'T forget to add casts if such Win32 API types are used with
printf(). This:
printf("Win32 Error=%lu\n", GetLastError());
worked for all i686 and Windows x86_64, but fails now on Cygwin x86_64.
Christian
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple