0
点赞
收藏
分享

微信扫一扫

codeblocks 的使用

  • clean 的作用?
  • 【C primer Plus】执行过程、.c 、.h ?
  • 【番外】静态库:lib(.a) 和 动态库:dll(.so)?Linux 下制作实战

1. 直接添加文件

codeblocks 的使用_#include

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

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

倘若直接运行会报错。

添加两个头文件。
codeblocks 的使用_linux_02

codeblocks 的使用_可执行文件_03

codeblocks 的使用_#include_04
codeblocks 的使用_#include_05
codeblocks 的使用_linux_06

// a.h
void fun();
// a.c
#include <stdio.h>
void fun()
{
printf("hello world!\n");
}

运行即可,
codeblocks 的使用_可执行文件_07
如何移除?
codeblocks 的使用_可执行文件_08
codeblocks 的使用_可执行文件_09
一切归零。
codeblocks 的使用_linux_10
再运行试试看?

codeblocks 的使用_linux_11
依旧成功,为什么?

猜测之前编译链接完毕的可执行文件仍然存在,仍会执行??

codeblocks 的使用_linux_12
codeblocks 的使用_linux_13
​​​clean​​ 之后,test.exe 可执行文件消失,build 源文件,报错。

2. .lib 的使用

在 codeblocks 中创建静态链接库工程。

codeblocks 的使用_#include_14
起名 mylib。
codeblocks 的使用_可执行文件_15
在 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​​ 文件。

再新建一个控制台工程。

codeblocks 的使用_linux_16
将 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​

codeblocks 的使用_#include_17
运行即可。

1024.000000
3

Process returned 0 (0x0) execution time : 0.016 s
Press any key to continue.


举报

相关推荐

0 条评论