1.编写hello.c程序,并编译运行

book@100ask:~/linux/c01$ cat hello.c -n
1 #include <stdio.h>
2
3 int main(void)
4 {
5 printf("hello world!\n");
6 return 0;
7 }
book@100ask:~/linux/c01$ gcc hello.c -o hello
book@100ask:~/linux/c01$ ./hello
hello world!

2.hello.c编译详解

book@100ask:~/linux/c01$ gcc -E hello.c -o hello.i  //预处理,生成 .i 文件
book@100ask:~/linux/c01$ file hello.i
hello.i: C source, ASCII text
book@100ask:~/linux/c01$ gcc -S hello.i -o hello.s //编译,生成 .s 文件
book@100ask:~/linux/c01$ file hello.s
hello.s: assembler source, ASCII text
book@100ask:~/linux/c01$ gcc -c hello.s -o hello.o //汇编,生成 .o 文件,-c选项只编译不链接
book@100ask:~/linux/c01$ file hello.o
hello.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
book@100ask:~/linux/c01$ gcc hello.o -o hello //链接,生成可执行文件
book@100ask:~/linux/c01$ file hello
hello: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=4929e517885a8ac7ff58da69b24c00d8d5622654, not stripped
book@100ask:~/linux/c01$ ./hello //执行程序
hello world!

C语言001--hello world编译详解的更多相关文章

  1. 2010_3_1最新 完整 FFMPEG 编译详解

    在网上看了很多编译详解,都很零散.经过自己的编译,解决一些BUG,在此分享自己的一些经验... 话不多说了!直接上贴. 第一步:准备编译平台. 需要 一个 MinGW 和 一个 MSYS 安装包 以及 ...

  2. Android 6.0 RK3288 ROM编译详解+命令详解【转】

    本文转载自:http://blog.csdn.net/MLQ8087/article/details/58607692 Android 6.0 RK3288 ROM编译详解+命令详解 原创 2017年 ...

  3. Android编译详解之lunch命令 【转】

    本文转载自: Android编译详解之lunch命令 (2012-10-08 10:27:55) 转载▼ 标签: it 分类: android内核剖析     Android的优势就在于其开源,手机和 ...

  4. Go语言Slice作为函数参数详解

    Go语言Slice作为函数参数详解 前言 首先要明确Go语言中实质只有值传递,引用传递和指针传递是相对于参数类型来说. 个人认为上诉的结论不对,把引用类型看做对指针的封装,一般封装为结构体,结构体是值 ...

  5. 02.PHP7.x编译详解

    #php7编译安装安装 ``` useradd -M -s /sbin/nologin www yum -y install openssl-devel bzip2-devel curl-devel ...

  6. 01.PHP5.x编译详解

    ##PHP5.5编译安装 ``` wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo yum i ...

  7. C语言的代码内存布局详解

    一个程序本质上都是由 BSS 段.data段.text段三个组成的.这样的概念在当前的计算机程序设计中是很重要的一个基本概念,而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配, ...

  8. LeetCode-391. 完美矩形(使用C语言编译,详解)

    链接:https://leetcode-cn.com/problems/perfect-rectangle/description/ 题目 我们有 N 个与坐标轴对齐的矩形, 其中 N > 0, ...

  9. Android APK反编译详解(附图)

    转载自http://blog.csdn.net/sunboy_2050/article/details/6727581 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而 ...

随机推荐

  1. 一文聊透 Netty 核心引擎 Reactor 的运转架构

    本系列Netty源码解析文章基于 4.1.56.Final版本 本文笔者来为大家介绍下Netty的核心引擎Reactor的运转架构,希望通过本文的介绍能够让大家对Reactor是如何驱动着整个Nett ...

  2. GitHub相关资料&&可以参加的开源项目

    GitHub相关的资料 有不懂的地方时可以看GitHub Docs. GitHub tutorial GitHub glossary GitHub的字典,可以看到里面特定的概念. All about ...

  3. 第十四天python3 面向对象

    1.面向对象 是对现实世界中的事物进行抽象的方式: 一切皆对象: 对象是数据和操作的封装: 对象之间相互独立,但也可以相互作用: 三要素: 封装: 数据与方法的集合: 提供一个或者多个接口来访问:隐藏 ...

  4. 使用marker的一些内容

    因为最近在搞uni-app的地图项目,所以大量使用了uni-app中的地图组件 虽然uni-app还是一个小学生水平,但是自己也想了很多 本期就来谈一谈uni-app中的marker,里面的好的内容和 ...

  5. Vue $nextTick && 过度与动画

    1 # $nextTick 2 # 1.语法: this.$nextTick(回调函数); 3 # 2.作用:在下一次DOM更新结束后执行其指定的回调. 4 # 3.什么时候用:当改变数据后,要基于更 ...

  6. cache2go-源码阅读

    简介 cache2go 是非常简短的 go 开源项目了,很适合作为第一个读源码项目. 如果你有一定的 go 开发经验,读起来会感觉到比较容易. 如果你刚刚接触 go 语音,基础知识还不完全了解,希望阅 ...

  7. 用虚拟机封装win10系统的一些记录

    想用虚拟机封装一个WIN10企业LTSC,期间参考了IT天空小鱼儿的几大步骤一直到手动优化完,后面就自己用系统安装直接备份了一个.gho镜像.期间出过好多毛病,不过总算是成功实现了.注意点: 1.前面 ...

  8. 【原创】Magisk+Shamiko过APP ROOT检测

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! Magisk+Shamiko过APP R ...

  9. 多云部署多主模式的MGR集群,每个云一个MGR 节点,满足业务单元化改造的需求

    欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 本 ...

  10. Apache DolphinScheduler 使用文档(4/8):软件部署

    本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 4. 软件部署 4.1 为 dolphinschedu ...