我一直想知道编译> 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"
但我不知道如果这,还有,是一个不好的做法与否。这导致我到另一个问题:
- 是否包括源文件一个不好的做法?
注意:通过不好的做法,我的意思是如果某件事情是违背约定或导致某种低效率。
编辑:我刚刚读过,图书馆之间共享的文件。我的客人,这意味着我的第一个问题的答案是否定的。然而,如果包含使用预处理器的源文件是普遍的做法,我很好奇。