static functions are functions that are only visable to other functions in the same file. Consider the following code.
main.c |
---|
#include |
funcs.c |
---|
/************************************* * * Function declarations (prototypes). * *************************************/ /* Func1 is only visable to functions in this file. */ static void Func1(void); /* Func2 is visable to all functions. */ void Func2(void); /************************************* * * Function definitions * *************************************/ void Func1(void) { puts("Func1 called"); } /*************************************/ void Func2(void) { puts("Func2 called"); } |
If you attempted to compile this code with the following command,
gcc main.c funcs.c |
it will fail with an error simular to.....
undefined reference to `Func1' |
Because 'Func1' is declared as static and cannot be 'seen' by 'main.c'.
For some reason, static has different meanings in in different contexts.
It seems a little strange that the same keyword has such different meanings....
C++ extensions for static
Top | Master Index | Keywords | Functions |
file: /Techref/language/ccpp/CREF/SYNTAX/static.htm, 3KB, , updated: 2003/3/20 09:58, local time: 2024/11/27 05:26,
18.117.166.52:LOG IN
|
©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://techref.massmind.org/Techref/language/ccpp/CREF/SYNTAX/static.htm"> static functions</A> |
Did you find what you needed? |
Welcome to massmind.org! |
Welcome to techref.massmind.org! |
.