Administrator
发布于 2023-09-26 / 2 阅读 / 0 评论 / 0 点赞

9月25日

规划

  • 算法 1h

  • linux学习 2h

  • 笔试题 1h,秋招岗位情况

  • 英语 1h

  • 简历30min

  • 项目文档30min

实际

11:00起床

16:00学习

Linux学习

gcc常用参数

Ø  -I   指定头文件所在的路径(大写i)

Ø  -L   指定库文件所在的路径

Ø  -l    指定库的名字(小写l)

Ø  -o   指定生成的目标文件的名字

Ø  -g   包含调试信息, 使用gdb调试需要添加-g参数

Ø  -On n=0∼3 编译优化,n越大优化得越多

Ø  -Wall 提示更多警告信息

Ø  -D  编译时定义宏

test.c文件中的代码片段:

printf("MAX==[%d]\n", MAX);

         编译:

             gcc -o test test.c -D MAX=10

        gcc -o test test.c -DMAX=10

静态库和共享动态库

  • 2进制文件

  • 加密的源代码

  • 功能相似或相近的函数结合体

好处

  • 高可重用性

  • 让程序更健壮,不易出错

  • 减少开发量

如何让他人使用

  • 头文件--包含库函数的声明

  • 库文件--包含库函数的实现

静态库

linux:

libtest.a lib+库名称+.a

如何制作
//test.h
void fun1();
void fun2();
// fun1.c
#include <stdio.h>
void fun1(){
	printf("fun1 !\n");
}
// fun2.h
#include <stdio.h>
void fun1(){
	printf("fun2 !\n");
}
$ gcc -c fun1.c -o  fun1.o

$ gcc -c fun2.c -o  fun2.o

$ ar rcs libtest1.a fun1.o fun2.o         // 制作库

$ gcc -o mainc main1.c -I../t1/ -L../t1/ -ltest1 && ./mainc 

-I   指定头文件所在的路径

-L   指定库文件所在的路径
-l	 指定库文件名字

a


评论