Help Needed: How to overwrite library functions.

Kayvan A. Sylvan kayvan@sylvan.com
Wed Mar 20 11:38:00 GMT 2002


On Wed, Mar 20, 2002 at 10:38:52AM -0600, Mynampati, Venkata S. wrote:
> Hi,
> I have this issue where i have an archive, whose member
> "1.o" contains functions named A(), B(), C().
> Now, i want to write a module, in which i want to use A() , BUT
> overwrite B() and C() and YET link both "1.o" and my own module
> together with rest of the system.
> 
> i.e
> 1.o contains A(), B() and C()
> say 2.o contains my_A(), B(), C(), where
>  my_A()
>  {
>     /*do something*/;
>     A();			=> linked from 1.o
>  }
> 
> Thanks for your time and help.
> Regards,
> Venkat
> Worry about chances you miss when you don't even try.
>   

This is probably a job for the preprocessor.

#define B my_replacement_B
#define C my_replacement_C

Then code up my_replacement_B() and my_replacement_C() with the same
API as B() and C()

-- 
Kayvan A. Sylvan          | Proud husband of       | Father to my kids:
Sylvan Associates, Inc.   | Laura Isabella Sylvan  | Katherine Yelena (8/8/89)
http://sylvan.com/~kayvan | "crown of her husband" | Robin Gregory (2/28/92)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 232 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-help/attachments/20020320/49b4b253/attachment-0001.sig>


More information about the Gcc-help mailing list