如果我想通过传递一个函数指针从我的文件中仅公开一个函数,那么将该函数声明为 static
是否安全?编译器是否允许进行任何操作来使我的函数指针无效或使其仅在该文件上下文之外失去意义,因为该函数被声明为特定于该文件?
这不是我的代码,而是我想表达的(愚蠢)示例:
void static cool_function(void);
void extern (*cool_function_ptr)(void); // Actually, I’m not sure of where the `extern` goes in a function-
// pointer declaration. Damn you, confusing function-pointer syntax!
考虑到这段代码(或者其近似的语法正确版本),从另一个文件中访问cool_function_ptr
是否是非法的?