我一直想知道編譯> 1000行代碼的項目的最佳方法。關於編制項目的最佳方式,我只是有一些基本問題。我使用GCC,如果它有所作爲。我的問題是:關於彙編的問題
- 在多個源文件中包含庫是否會導致函數被複制兩次?
我的意思是,如果我有兩個文件是這樣的:
Souce.c
#include<stdio.h>
...
void static test_func(){ printf("Hey!"); }
Source2.c
#include<stdio.h>
...
void static test_func(){ printf("Hey!"); }
請問功能,printf的,得到複製到可執行文件兩次?我想我想避免這種情況,因爲很多時候我會有多個源文件共享相同的頭文件,我想知道這是不是一個壞習慣。
有一次,我只包括使用這種其他的源文件:
由source.c
#include<stdio.h>
#include "source2.c"
但我不知道如果這,還有,是一個不好的做法與否。這導致我到另一個問題:
- 是否包括源文件一個不好的做法?
注意:通過不好的做法,我的意思是如果某件事情是違背約定或導致某種低效率。
編輯:我剛剛讀過,圖書館之間共享的文件。我的客人,這意味着我的第一個問題的答案是否定的。然而,如果包含使用預處理器的源文件是普遍的做法,我很好奇。