I’ve just updated to Dynamic C 10.64 (from 10.60) because 10.60 couldn’t cope with function pointers at all.
That seems to have fixed that issue, only now the problem is that I can’t use the TCPIP library.
I’m inluding the TCP/IP library with #use “dcrtcp.lib” but now I just get the compiler error:
line 180 : ERROR TBUF.LIB : Redefinition of function prototype different.
I can comment the definitions out in the library but there are problems still when the compiler reaches the actual function declaration.
Can anyone help sort this out, not impressed with the Rabbit Tools so far, seem to be a little unfinished in places.
In addition to the adding the mandatory sock_init() call whenever any portion of Rabbit’s network stack is used, the following two tbuf.lib prototype redefinition work arounds are available in Dynamic C 10.64:
Call all standard Rabbit network related functionality from a single C file, so that all network resources (struct definitions, etc.) are in the same scope.
Remove the struct ll_prefix_t tag and ll_prefix typedef from net_defs.lib, and instead declare them in each C file ahead of the #use dcrtcp.lib. I am about to attach a ZIP archive containing updated versions of proof.c, proof2.c and net_defs.lib that demonstrate this work around.
Please note that this problem has been remedied in the current development version of the Dynamic C compiler, and will be included in the next Dynamic C release.