首页 > 其他分享 >gcc编译过程

gcc编译过程

时间:2023-02-27 18:11:49浏览次数:33  
标签:汇编 gcc 文件 hello 编译 过程 预处理

编译过程:预处理、编译、汇编、链接

  预处理:包括宏替换、删除注释、头文件包含、条件编译(这个阶段不会报语法错误)

    gcc -E hello.c -o hello.i

  编译:将预处理后的文件编译成汇编文件(这个阶段会报语法错误)

    gcc -S hello.i -o hello.s

  汇编:将汇编文件生成二进制文件

    gcc -c hello.s -o hello.o

  链接:将二进制文件 + 库函数 + 启动代码,生成可执行文件

    gcc hello.o -o hello.main(最后这个名字可以随便取)

  如果编译想一步到位,可以使用gcc hello.c -o hello 或者 gcc hello.c

 

标签:汇编,gcc,文件,hello,编译,过程,预处理
From: https://www.cnblogs.com/yachifeng/p/17161383.html

相关文章

  • 性能压测过程中常见连接错误分析
    1、在压测过程中报错:连接超时(ConnectTimeout)产生原因:1)、可能是压测工具本身有连接超时设置引起a)、如在Jmeterhttp请求页面,advanced页签,有timeout设置,可以对发送请求......
  • gcc 内联汇编简介
    啊 啊 在内联汇编中,标识寄存器的一个%变成了两个%啊 如图是内联汇编的模板assemblertemplate是汇编代码outputoperandsTODOinputoperandsTODOclobb......
  • 记一次前端请求与响应包全加密的解码过程
    即上次解密后,开发不死心,过了几个月,给返回包也进行了加密。并对前端js进行了压缩混淆   根据观察,初步认为服务端也进行了相同的rsa+aes加密,然后把rsa加密后的key和i......
  • 【ubuntu20.04】编译 v83x_pillow_0.7.2 会被链接到 /usr/include/x86_64-linux-gnu
    有点愚蠢,记录一下,先编过去,然后再把x86_64-linux-gnu移回来,估计是我环境变量脏了。juwan@juwan-n85-dls:~/v831/out/v831-sipeed/compile_dir/target/pypi/Pillow-7.2.0$......
  • c语言container_of 编译报错
     求指针ptr所在的结构体实例的首地址,#defineoffsetof(TYPE,MEMBER)((size_t)&((TYPE*)0)->MEMBER)#definecontainer_of(ptr,type,member)({......
  • 运行klayout编译出的二进制文件报错 libklayout_bd.so.1
    错误提示如下解决方法将编译输出目录添加到环境变量编辑~/.bashrc,添加以下代码exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/qqs/桌面/klayout-0.28.5/build-klay......
  • Java对象的创建过程
    1)类加载检查:虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。......
  • wireshark集成Backward-cpp编译
    原文地址:https://www.cnblogs.com/liqinglucky/p/backward-in-wireshark.html在之前的文章中已经介绍过ubuntu系统wireshark源码编译与安装和Backward-cpp:Segmentation......
  • CTF测试过程中遇到Forbidden目录的处理办法
    CTF测试过程中遇到Forbidden目录的处理办法当CTF测试过程中利用gobuster工具扫描出目录,而且此时没有其他更多的目录或者方法时,访问该目录,返回forbidden的信息,则:第一:尝试......
  • linux编译安装3.7.12
    基本环境安装yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgccmake1.下载到本地并解压wgethttps:/......