我有几个C脚本都具有相同的格式(函数),但偶尔会有几个函数中的实际代码。我试图将一个函数分成一个外部头文件,但问题是:
int FunctionImExtracting()
{
//some code
FunctionThatCannotBeExtractedButTheFunctionSignatureWillAlwaysRemainTheSame()
//more code.
};
我有一种感觉,功能指针将成为我的朋友,但我不确定如何。如何实现这一目标?
答案 0 :(得分:1)
您不(通常希望)将函数本身放入标题中 - 您只想在函数头中放置函数声明,因此其他文件可以包含标题并能够调用该函数:
//myfunc.h:
#ifndef MY_HEADER_H_INCLUDED
int FunctionImExtracting(void);
#define MY_HEADER_H_INCLUDED
#endif
// myfunc.c:
#include "theirheader.h"
#include "myfunc.h"
int FunctionImExtracting() {
// as in question
}
答案 1 :(得分:0)
您需要一个声明为FunctionThatCannotBeExtractedButTheFunctionSignatureWillAlwaysRemainTheSame()
的头文件。然后,在要导出的文件中,您需要包含此标头。 FunctionThatCannotBeExtractedButTheFunctionSignatureWillAlwaysRemainTheSame()
的实际定义仍然可以在导出FunctionImExtracting()
的文件中。
我的问题是否正确?