01-28-05 10:54 PM
On 28 Jan 2005 14:19:20 GMT, Jens.Toerring@physik.fu-berlin.de wrote:
> beetle <beetle@beetle.com> wrote:
>
>
>
> Functions with a static qualifier are only visible within the source
> file they are defined in. If you have e.g. a static function called
> cmpr() defined in source file A.c then the compiler may warn you if
> cmpr() ins't used in A.c - the static qualifier renders the function
> useless in this case since it can only be used in A.c but you don't
> use it there. If you try to call the function from another source
> file B.c the linker will tell you that it does not know anything
> about cmpr() (that's the "undefined reference" error message) because
> the function is only visible within A.c. an from nowhere else.
>
> There can't be any options to gcc (or any other correctly working
> C compiler and linker) to get rid of the error messages because
> that's what static when applied to a function means in C (similarly,
> global variables with a static qualifier are also only visible with-
> in the source file they are defined in). If you want the function
> to be visible from B.c while it's defined in A.c you can't make it
> a static function. Or, if it only is used in B.c and nowhere else,
> move it to B.c
> Regards, Jens
Okidoki... that certainly answerd the question.. Thnkx.!!
Beetle..
[ Post a follow-up to this message ]
|