关于C和编译器的一些基本问题。
我打算使用ATLAS库,但是我只会使用两到三个算法。是这样,如果我只包含一个标题,那么只会构建标题并且我的SW不会变得太大?或者是否包含整个ATLAS库?那么最好只剪切和粘贴该算法?
答案 0 :(得分:0)
如果您使用#include
指令,那么整个头文件就会粘贴到您的文档中。 #include
是递归的,即它嵌套(最多256个级别),因此包含的文件中包含#include
d的内容也是如此。举个例子:
yourprogram.c
,lib1.h
和lib2.h
/* yourprogram.c */
#include <lib1.h>
int main(void)
{
printf("Hello, world.");
return 0;
}
/* lib1.h */
#include <lib2.h>
void function1(void);
void function2(void);
/* lib2.h */
void function3(void);
void function4(void);
/* yourprogram.c (after preprocessing) */
void function3(void);
void function4(void);
void function1(void);
void function2(void);
int main(void)
{
printf("Hello, world.");
return 0;
}