linux 如何运行编译程序

网上有关“linux 如何运行编译程序”话题很是火热,小编也是针对linux 如何运行编译程序寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

gcc有多达100多个参数,现介绍常用的几个。如果对其他参数也有兴趣,可以参考:man gcc

预先处理选项

-E: 只对文件进行预处理,输出结果到标准输出

-C: 告诉预处理器不要丢弃注释.配合`-E‘选项使用.-P: 告诉预处理器不要产生`#line'命令.配合`-E'选项使用.

-v: 显示正在使用的gcc的版本

常用编译选项

-c: 将源程序编译为目标代码但并不做链接的工作,不生成最终的可执行文件,只生成一个与源文件文件名相同的以.o为后缀的目标文件。

-S:将远程序编译为一个后缀为.s的汇编语言文件,不会生成可执行文件

-x:强制编译器用指定的语言编译器来编译某个源文件

gcc -x c++ test.c 表示强制用C++编译器来编译c程序

-static: 强制连接静态库,运行时不依赖动态库

-share: 编译时尽量使用动态库

-o: 指定生成的可执行文件名,如果没有该选项,如果生成可执行文件,默认文件名为a.out

编译路径选项

-i : 指定特定头文件

gcc –c -i /home/zry/test.h test.c

-I<DIR>: 依赖选项,指定头文件路径

Linux下大多数函数将头文件放在/usr/include目录下,如果需要指定其他路径,可以使用该选项

gcc –I/home/zry/include –c test.c 添加/home/zry/include到查找路径

-L<DIR> : 指定库文件搜素路径,用法同上

-l<库名>:指定特定库文件

gcc –lapp –c test.c

Linux的库文件有一个约定,即以lib开头,-lapp表示连接libapp.so库文件

目标生成选项

-shared: 生成动态库

gcc –shared libtest.so -i /home/zry/test.h test.c

生成静态库需要ar命令,后面讲解

-fPIC: 生成可用于动态库的位置独立代码。所有的内部寻址均通过全局偏移表完成。

-ansi:支持符合ANSI标准的C程序.

该选项就会关闭GNU C中某些不兼容ANSI C的特性,例如asm, inline和 typeof关键字以及诸如unix和vax这些表明当前系统类型的预定义宏。

__asm__, __extension__, __inline__和__typeof__仍然有效

使用`-ansi'选项的时候,预处理器会预定义一个__STRICT_ANSI__宏.有些头文件 关注此宏,以避免声明某些函数,或者避免定义某些宏,这些函数和宏不被ANSI标准调用;这样就不会干扰在其他地方使用这些名字的程序了.

fno-asm:此选项实现ansi选项的功能的一部分,它禁止将asm,inline和typeof用作关键字。

-fno-strict-prototype:只对g++起作用,使用这个选项,g++将对不带参数的函数,都认为是没有显式的对参数的个数和类型说明,而不是没有参数.而gcc无论是否使用这个参数,都将对没有带参数的函数,认为没有显式说明的类型

-fthis-is-varialble:就是向传统c++看齐,可以使用this当一般变量使用

-fcond-mismatch:允许条件表达式的第二和第三参数类型不匹配,表达式的值将为void类型

-funsigned-char:

-fno-signed-char:

-fsigned-char:

-fno-unsigned-char:

这四个参数是对char类型进行设置,将char类型设置unsigned char(前两个参数)或者 signed char(后两个参数)

-imacros file: 将file文件的宏,扩展到gcc/g++的输入文件,宏定义本身并不出现在输入文件中

-Dmacro: 相当于C语言中的#define macro

-Dmacro=defn: 相当于C语言中的#define macro=defn

-Umacro: 相当于C语言中的#undef macro

-undef: 取消对任何非标准宏的定义

-M: 生成文件关联的信息。包含目标文件所依赖的所有源代码

-MM: 和M一样,但是它将忽略由#include<file>造成的依赖关系。

-MD: -M相同,但是输出将导入到.d的文件里面

-MMD: 和-MM相同,但是输出将导入到.d的文件里面

警告选项

fsyntax-only:检查程序中的语法错误,但是不产生输出信息.

-w:禁止所有警告信息.

-Wno-import: 禁止所有关于#import的警告信息.

-pedantic:打开完全遵从ANSI C标准所需的全部警告诊断;拒绝接受采用了被禁止的语法扩展的程序.

-Werror:将所有警告转换为错误

Werror选项要求GCC将所有警告当作错误进行处理。

-Wall: 显示所有警告信息

在Linux中,可以使用gcc编译器编译C语言程序,生成可执行文件,并最终执行。

具体步骤如下:

1、编译。

由.c文件生成.o文件,写作:

gcc a.c -o a.o -c这个命令可以将a.c编译成a.o。

如果存在多个文件,可以逐个编译,即a.c

b.c...

生成a.o

b.o...等。

2、链接。

由.o文件生成可执行文件,写作:

gcc a.o b.o c.o -o a.out这个命令将a.o

b.o

c.o三个目标文件,生成可执行文件a.out。

3、执行。

调用命令:

./a.out即可执行生成的可执行文件a.out。

4、注意事项:

(1)

当文件较少时,可以省略目标文件步骤,编译链接一步执行,如:

gcc a.c b.c c.c -o a.out(2)

提供的示例为最基础的编译功能,在实际应用中gcc有很丰富的编译选项,根据需求进行添加。

(3)

当项目包含文件较多时,可以使用makefile进行管理。

关于“linux 如何运行编译程序”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[清蟾]投稿,不代表盛龙号立场,如若转载,请注明出处:https://m.snlon.net/sn/26874.html

(174)

文章推荐

  • 磷酸铁锂电池和三元锂电池哪个好

    网上有关“磷酸铁锂电池和三元锂电池哪个好”话题很是火热,小编也是针对磷酸铁锂电池和三元锂电池哪个好寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。现阶段销售市场再售的新能源车驱动力电池全是选用磷酸铁锂电池,在其中磷酸铁锂电池能够分成磷酸铁锂电池和三元锂电池二种

    2025年09月25日
    200316
  • 青少年心理健康小知识口诀

    网上有关“青少年心理健康小知识口诀”话题很是火热,小编也是针对青少年心理健康小知识口诀寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。1.心理健康小知识1.身体健康,智力正常。身体健康、智力正常是衡量心理健康最重要的标准之一,是正常生活工作的基本条件。

    2025年10月11日
    323323
  • 高聚物改性沥青防水卷材的施工方法有哪些

    网上有关“高聚物改性沥青防水卷材的施工方法有哪些”话题很是火热,小编也是针对高聚物改性沥青防水卷材的施工方法有哪些寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。一、高聚物改性沥青防水卷材一般有四种施工方法,分别为:冷粘法、热粘法、热熔法和自粘法。二、冷粘法

    2025年10月13日
    203314
  • 合肥二手房交易流程有哪些

    网上有关“合肥二手房交易流程有哪些”话题很是火热,小编也是针对合肥二手房交易流程有哪些寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。合肥二手房交易流程有哪些1、看房选房买方通过中介所看房,挑选自己中意的房子,并且需要了解清楚房屋现状及产权状况。包括:房屋所有

    2025年11月03日
    207317
  • 冲绳美妆买什么好冲绳药妆店必买

    网上有关“冲绳美妆买什么好冲绳药妆店必买”话题很是火热,小编也是针对冲绳美妆买什么好冲绳药妆店必买寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。其实说冲绳大家可能都不是很熟悉,这里其实就是日本的一个地方,所以这一次还是关于日本的美妆了。大家去的时候应该还是要

    2025年11月05日
    189307
  • 徐州到宿州萧县杨楼该咋走

    网上有关“徐州到宿州萧县杨楼该咋走”话题很是火热,小编也是针对徐州到宿州萧县杨楼该咋走寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。驾车前往安徽省宿州市萧县杨楼镇的路线748公里–大约9小时29分钟建议路线用goooooogle地图,选g

    2025年11月07日
    210319
  • 改色膜质量好的品牌推荐一下?

    网上有关“改色膜质量好的品牌推荐一下?”话题很是火热,小编也是针对改色膜质量好的品牌推荐一下?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。汽车改色膜颜色丰富,可以根据车主的个性喜好,以整体覆盖粘贴的方式改变全车或局部外观,相对于以往喷漆改色方式,更加方便快

    2025年11月14日
    197318
  • 辅助开挂工具“微乐云南麻将小程序开挂免费软件”(曝光透视必备猫腻)

     您好,“微乐云南麻将小程序开挂免费软件这款游戏可以开挂的,确实是有挂的,通过咨询客服安装软件网上科普有关“微乐云南麻将小程序开挂免费软件”详细分享装挂步骤”话题很是火热,小编也是针对小程序雀神广东麻将挂软件开挂有用吗寻找了一些与之相关的一些信息进行分析,如果能碰巧

    2025年12月22日
    120311
  • 开挂辅助工具“微信小程序麻将真的能开挂吗”(免费)开挂辅助教学(最新辅助开挂教程)

    1、软件助手是一款功能更加强大的软件!无需打开直接搜索微信: 2、自动连接,用户只要开启软件,就会全程后台自动连接程序,无需用户时时盯着软件。 3、安全保障,使用这款软件的用户可以非常安心,绝对没有被封的危险存在。 4、快速稳定,使用这款软件的用户肯定是土豪。安卓定制版

    2026年02月10日
    87318
  • 从山西阳城县芹池镇到太原故交有多少公里

    网上有关“从山西阳城县芹池镇到太原故交有多少公里”话题很是火热,小编也是针对从山西阳城县芹池镇到太原故交有多少公里寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。驾车路线:全程约398.6公里起点:芹池镇1.阳城县内驾车方案1)从起点向正西方向出发,沿S33

    2026年02月23日
    81320
  • 实测教程“微信小程序跑得快能控制输赢吗”开挂(透视)辅助教程

    >>>您好:,软件加微信【添加图中QQ群】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【添加图中QQ群】安装软件.1、起手看牌2、随意选牌3

    2026年03月04日
    67306
  • 真实辅助“微乐麻将开挂神器软件下载免费安装”开挂神器{透视辅助}全揭秘

    您好:这款游戏是可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,1.wepoker开挂辅助透视工具这款游戏是可以开挂的,确实是有挂的,通过添加客服微信【添加图中微

    2026年04月02日
    28317

发表回复

本站作者才能评论

评论列表(3条)

  • 清蟾的头像
    清蟾 2025年12月10日

    我是盛龙号的签约作者“清蟾”

  • 清蟾
    清蟾 2025年12月10日

    本文概览:网上有关“linux 如何运行编译程序”话题很是火热,小编也是针对linux 如何运行编译程序寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助...

  • 清蟾
    用户121006 2025年12月10日

    文章不错《linux 如何运行编译程序》内容很有帮助