makefile 编译参数_gcc使用说明

makefile 编译参数_gcc使用说明gcc编译源文件共有4个过程,预处理、编译、汇编、链接。预处理:命令:gcc-Etest.c-otest.i(-o后面指定生成文件的命名)过程:展开宏定义(#define),处理编译条件指令(#if#ifndef等),插入引用的头文件(#include),删除注释,添加行号和文件标识。结果:生成.i文件,一般的文本编辑器都能打开编译:命令:gcc-Ste…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

gcc编译源文件共有4个过程,预处理、编译、汇编、链接。

预处理:

命令:gcc -E test.c -o test.i  (-o后面指定生成文件的命名)
过程:展开宏定义(#define),处理编译条件指令(#if #ifndef等),插入引用的头文件(#include),删除注释,添加行号和文件标识。
结果:生成.i文件,一般的文本编辑器都能打开

编译:

命令:gcc -S test.i -o test.s
过程:词法分析,语法分析,语义分析,生成相应的汇编代码
结果:生成.s文件,一般的文本编辑器都能打开 

汇编:

命令:gcc -c test.s -o test.o
过程:将汇编语言转换成二进制文件
结果:生成.o文件,一般的文本编辑器无法打开,二进制文件都是0、1

链接:

命令:gcc test.o -o test
过程:链接动态库、静态库
结果:生成可执行文件

我们编译源文件的时候,可以分步编译,也可以使用gcc test.c -o test直接生成可执行文件。将多个源文件编译输出时,需要一起进行gcc编译,可利用Makefile文件来实现。

分步编译如下:

 makefile 编译参数_gcc使用说明

最后得到main可执行文件,在cmd命令窗口下输入main+回车,即可运行main可执行文件。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182416.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java.sql.SQLException: Field ‘id’ doesn’t have a default value

    java.sql.SQLException: Field ‘id’ doesn’t have a default valuejava.sql.SQLException: Field ‘id’ doesn’t have a default value

    2022年4月25日
    37
  • layoutSubviews的使用

    layoutSubviews的使用-(void)layoutSubviews{ }layoutSubviews是对subviews的重新布局以下情况会被调用1.直接调用layoutSubviews.如:[selflayoutSubviews];2.用addSubview添加视图时会触发3.滚动UIScrollView时会触发4.旋转屏幕的时候会触发父视图的layoutSu

    2022年7月15日
    14
  • ubuntu16.04安装搜狗输入法_ubuntu18.04安装搜狗输入法

    ubuntu16.04安装搜狗输入法_ubuntu18.04安装搜狗输入法首先安装fcitx一、检测是否安装fcitx首先检测是否有fcitx,因为搜狗拼音依赖fcitx>fcitx提示:程序“fcitx”尚未安装。您可以使用以下命令安装:>sudoapt-getinstallfcitx-bin二、安装fcitxsudoapt-getinstallfcitx-bin相关的依赖库和框架都会自动安装上。sudoapt-getinstall…

    2022年10月18日
    0
  • 有了这 15 款编程游戏,谁都可以学编程!

    有了这 15 款编程游戏,谁都可以学编程!程序员的成长之路互联网/程序员/成长/职场关注阅读本文大概需要5.2分钟。1CodingGames一边玩游戏,一边挑战编程难题。Codinggames支持包括P…

    2022年4月19日
    153
  • linux mqtt客户端

    linux mqtt客户端实现功能:(1)定时30s发送心跳包;(2)接收mqtt数据包,解析函数是user_recv_handle_cb;(3)定时PERIOD_TIME发布自身订阅的主题信息,即循环PERIOD_TIME发啥收啥。说明:(1)主要根据庆科的MiCO_A_v3.2.0/demos/net/mqtt_client的stm32freeRTOS移植到li…

    2022年10月24日
    0
  • 数组的前缀和及查分数组

    数组的前缀和及查分数组1,前缀和主要适用场景是原始数组不会被修改的情况下,频繁查询某个区间的累加和。这里就不写前缀和的代码了,就是用一个数组记录下原有数组的前缀和。比如,prefix[i]就代表着nums[0…i-1]所有元素的累加和,如果我们想求区间nums[i…j]的累加和,只要计算prefix[j+1]-prefix[i]即可,而不需要遍历整个区间求和。(需要注意的是使用场景是频繁查询某个区间的累加和,而不需要对原始数组进行频繁修改)2,查分数组的主要适用场景是**频繁对原始数组的某个区间的元素进行增减。**比

    2022年6月11日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号