C Linux 下的编译

时间:2022-04-29
本文章向大家介绍C Linux 下的编译,主要内容包括Hello World!、基本编译命令、头文件与函数定义分离、Makefile、指针与内存、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

本文简要介绍了 C 语言的编译命令。

Hello World!

#include <stdio.h>

int main()
{  
     printf("Hello World!n");
     return 0;
}

基本编译命令

$ gcc a.c
# 生成 a.out
$ ./a.out

多个文件分而治之

//声明
# include “max.c”
# 不声明,会发生警告信息
$ gcc max.c hello.c -o main.out
# 声明
$ gcc hello.c

头文件与函数定义分离

不经常变动的函数 生成静态库

$ gcc -c max.c -o max.o
# hello.c 声明去掉
$ gcc max.o hello.c
# 可以将文件写为 头文件
$ gcc max.o min.o hello.c

Makefile

# 注释
hello.out:max.o min.o hello.c
        gcc max.o min.o hello.c -o hello.out
max.o:max.c
        gcc -c max.c
min.o:min.c
        gcc -c min.c

指针与内存

gdb 工具

$ gcc -g main.c -o main.out
$ gdb ./main.out