编译与调试

计算机的构成:运算器,控制器,存储器,输入设备(i),输出设备(o)

Windows 系统上可执行程序格式是 PE

Linux 系统上可执行程序格式是 ELF

gcc主要处理c语言中的.c文件

c语言 .c文件如果想要直接去运行,首先需要将源文件变成可执行文件

这个过程可以细分为四个过程:预编译,编译、汇编、链接

gcc分步编译:

(1)预编译

        gcc -E main.c -o main.i

        (-o :out输出,输出想要得到的文件(自己命名),不加-o,生成一个默认的文件)

(2)编译

        gcc -S main.i -o main.s

(3)汇编

        gcc -c main.s -o main.o

(4)链接

        gcc main.o -o main

 一步编译

将上述四步合一进行编译

gcc main.c(不加-o系统默认生成可执行文件a.out,想自定义最终生成的可执行文件名,需加上-o)

gcc main.c -o main(-o后面跟自定义文件名)gcc -o main mian.c(也可以)

 main 和a.out是一样的

 编译后执行

1)./main执行

通过路径+文件名的方式可以启动一个程序,这里主要的目的就是让系统可以准确的找到文件

eg: ./main     ./a.out

2)标准路径备份执行

此执行方法需要加上路径名,但我们可以发现系统命令执行时不需要加上路径名就可以执行,我们发现,pwd,ls可以直接执行,因为他们在标准路径下有备份,标准路径/user/bin,为此,我们可以将我们自己文件编译后的可执行文件放入/user/bin中,从而可以直接文件名执行

 

3)环境变量配置执行

echo 等价于printf

PATH 环境变量,记录可执行程序放在哪里

/use/sbin 管理员命令

/usr/bin 普通用户命令

 编译链接过程

 g++主要处理c++的.cpp文件

一、通过g++进行编译

g++ main.cpp

g++ main.cpp -o main

二、通过gcc进行编译

通常gcc是用来编译.c文件的,但它也可以用来编译.cpp文件,只是gcc默认链接c语言的库,没有链接c++的库,我们可以手动添加c++标准库(g++默认链接c++标准库

 -l :library,表示链接的库名称,注意:-l和库名中间不能加空格

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值