Mail Archives: cygwin/1999/07/15/14:00:39
Howdy again
We're continuing our DLL battles here and here is another
question that has come up.. If anyone can help me out with
an answer here, I'd sure appreciate it.
Mark Thompson wrote:
>
> I am trying to compare 2 pointers to functions.
> All I am looking for is if they match or not.
> The pointers are to a function.
> The function is in a DLL, and the first place to get the
> function pointer is in an exe.
> The following is kind of a code sample (kind of but not really).
>
> In the exe.
> Pass a function pointer to DllFunc1….
>
> DllFunc1( DllFunc1 );
>
> In The DLL
>
> Void DllFunc1( FuncPtr func )
> {
> …. Do some processing
> if ( func != DllFunc1 )
> func( func ) ;
> }
>
> I know the above is a bad example,
> but it will work for demonstration.
> The passed parameter is not a pointer to the function DllFunc1,
> Instead what we get is a pointer to the DLL relocation table.
> This means that the comparison always fails.
> If func is set to DllFunc, it continually calls itself ending up in
> blowing the stack.
> If we link this application statically, the comparison works
> correctly.
>
> Is there some way to make the comparison of function pointers that
> are in a
> DLL actually compare the address of the function and not the address
> of the
> relocation table?
Thanks in advance for any suggestions
----------------------------------------
Robert Bresner rbresner AT olf DOT com
Open Link Financial 516-227-6600 x216
http://www.olf.com/ fax: 516-227-1799
----------------------------------------
Opinions expressed are explicitly my own
"No more talking! Cerebus has a SWORD!"
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
- Raw text -