當我在頭文件中混合使用靜態原型時,編譯器總是會發出嗚嗚聲。有沒有辦法在C中的同一個頭文件中有靜態原型和公共的?
說我有具有靜態原型函數一個和正常原型函數b頭main.h。然後我想要在兩個.c文件中的頭文件,即main.c和other.c。在main.c中,我需要一個包含,因爲我在任何原型之前調用該函數。
main.h:
static int a(void);
int b(void);
的main.c:
#include "main.h"
void main(){
a();
}
static int a(void){
/* do stuff */
}
int b(void){
/* do stuff */
}
other.c:
#include "main.h"
b();
什麼是最好的做法比這個分裂的明顯的解決方案頭文件轉換成專門用於靜態原型的獨立頭文件,另一個用於公共頭文件?
爲什麼你需要靜態函數的頭文件呢?另外,'void main()'?如果你不是在嵌入式系統上工作,你有一些解釋要做... –
@Chris我知道它應該是int。只是想盡可能使代碼小,所以我會得到一個答案:) – Pithikos
我很欣賞不轉儲代碼的努力,但沒有人會被'return 0;'推遲); –