[ Usenet FAQs | Web FAQs | Documents | RFC Index ]
    Search the FAQ Archives

Part1 - Part2 - Part3 - Part4 - Part5 - Single Page

Top Document: comp.unix.aix Frequently Asked Questions (Part 4 of 5)
Previous Document: 2.08: What's with malloc()?
Next Document: 2.10: Why do I get 'Parameter list cannot contain fewer ....'


2.09: Why does xlc complain about 'extern char *strcpy()'


The header <string.h> has a strcpy macro that expands strcpy(x,y) to
__strcpy(x,y), and the latter is then used by the compiler to generate
inline code for strcpy.  Because of the macro, your extern declaration
contains an invalid macro expansion.  The real cure is to remove your
extern declaration but adding -U__STR__ to your xlc will also do the
trick, although your program might run a bit more slowly as the compiler
cannot inline the string functions any more.



Top Document: comp.unix.aix Frequently Asked Questions (Part 4 of 5)
Previous Document: 2.08: What's with malloc()?
Next Document: 2.10: Why do I get 'Parameter list cannot contain fewer ....'

Part1 - Part2 - Part3 - Part4 - Part5 - Single Page


[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
bofh@mail.teleweb.pt (Jose Pina Coelho)

Last Update October 22 2009 @ 05:22 AM

Some parts © 2009 Advameg, Inc.