- clean 的作用?
- 【C primer Plus】执行过程、.c 、.h ?
- 【番外】静态库:lib(.a) 和 动态库:dll(.so)?Linux 下制作实战
1. 直接添加文件
// main.c
int main()
{
fun();
return 0;
}
倘若直接运行会报错。
添加两个头文件。
// a.h
void fun();
// a.c
void fun()
{
printf("hello world!\n");
}
运行即可,
如何移除?
一切归零。
再运行试试看?
依旧成功,为什么?
猜测之前编译链接完毕的可执行文件仍然存在,仍会执行??
clean
之后,test.exe 可执行文件消失,build 源文件,报错。
2. .lib 的使用
在 codeblocks 中创建静态链接库工程。
起名 mylib。
在 main.c 中插入代码。
int s(int a, int b)
{
return a + b;
}
double pow(int a, int x)
{
double s = 1;
while(x--)
{
s *= a;
}
return s;
}
build
,即可得到 mylib\bin\Debug\libmylib.a
文件。
再新建一个控制台工程。
将 main.c 中代码替换为:
int main()
{
printf("%lf\n%d\n", pow(2, 10), s(1, 2));
return 0;
}
现在还不能使用,需要指定静态链接文件。
settings->compiler settings->linker settings->add
运行即可。
1024.000000
3
Process returned 0 (0x0) execution time : 0.016 s
Press any key to continue.