Linux中gcc相关知识和用法

1.gcc组成

gcc是一组编译工具的总称,包含:C编译器、C++编译器、源码预处理程序和库文件。

2.gcc编译
1.生成一个程序

gcc hello.c -o hello把hello.c编译成一个可执行程序、

gcc hello.c不指定输出名,生成一个a.out文件。

通过./hello或者./a.out来运行程序。

2.gcc编译程序步骤

预处理gcc -E hello.c -o hello.i

完成对代码的预处理

编译gcc -S hello.i -o hello.s

将源代码编译成汇编代码

汇编gcc -c hello.c -o hello.o

将汇编代码转换成目标文件(二进制)

链接gcc hello.o -o hello

将目标代码和所需要的库链成一个完整的应用程序。

gcc的结果输出是后缀名不相关的,只与输入参数有关

3.使用多个源码的项目

如果项目中包含2个以上的源代码,一般要先各自将源代码编译成目标代码。最后一次链接成可执行程序

若头文件在多个目录:需要在编译时多次使用-I参数加入头文件所在目录。

gcc -I. -I/usr/include -I/home/hxy -c test_link.c -o ...

也可以选择在头文件中,直接写明头文件的相对位置。但是尽量不要这样做。

3.练习gcc多源码项目编译

请开发一个程序,使用结构定义:

struct student {
    int no;
    char name[64];
    float height;
}

要求创建3个学生定义,并给三个学生的三个成员都赋值。

写一个show函数依次把所有学生信息显示。

提示:创建一个工程student目录,将结构体类型、show()函数原型写到show.h,将show()定义写到show.c里,main()写到main.c里,*.h文件放到include目录下,*.c文件放到source目录下。

*.h文件一般存放的都是函数定义和全局变量,对于*.c文件和*.h文件应该如何处理,题目中描述的非常清楚。下面是操作步骤:

new@ubuntu:~$ cd Desktop
new@ubuntu:~/Desktop$ mkdir student
new@ubuntu:~/Desktop$ cd student
new@ubunt
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值