1. 直接添加文件

在这里插入图片描述

// main.c
#include <stdio.h>

int main()
{
    fun();
    return 0;
}

倘若直接运行会报错。

添加两个头文件。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

// a.h
void fun();
// a.c
#include <stdio.h>
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 中代码替换为:

#include <stdio.h>
#include <stdlib.h>

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.

更多推荐