[Spread-users] Compiling Spread 3.17.2 under Win32
bob.baggerman at gtri.gatech.edu
Wed May 26 12:56:13 EDT 2004
Greetings Spread list!
I'm new to Spread and am interested in using it both on Linux and
Win32. Spread builds cleanly with gcc, but MS Visual C++ 6 complains
about one programming idium in particular.
When building the Spread library, the files 'membership.c', 'network.c',
and 'protocol.c' add an event to the event queue using the E_queue()
call. The first parameter of the E_queue() call is defined as a pointer
to a handler function that takes two parameters. However in these
source files, E_queue() is being provided a pointer to a handler
function that has no arguements. Gcc is happy with this, but MSVC
throws a C4113 warning.
On the one hand it doesn't seem unreasonable for the MSVC compiler to
complain about a passed parameter that doesn't match what it was told to
expect. On the other hand, maybe there's no harm in making a function
call and pushing passed parameters onto a stack that the called
procedure doesn't know are there and can't access. Gcc doesn't complain
(even with -pedantic) so I suspect in the end it's OK, but it does seem
sort of like sloppy coding in otherwise nicely done (but under
Bob Baggerman ! bob.baggerman at gtri.gatech.edu
Electronic Systems Laboratory ! 404-894-7109 (office)
Georgia Tech Research Institute ! 404-894-7080 (FAX)
Atlanta, GA 30332 USA !
More information about the Spread-users