gcc的简易用法(编译,参数与链接)

2024-08-30 01:18

本文主要是介绍gcc的简易用法(编译,参数与链接),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

     gcc为linux上面最标准的编译程序。这个gcc是由GNU计划所维护的,有兴趣的朋友请自动前往参考,既然gcc对于linux上开放源码是这么重要,所以下面我们就列举几个gcc常见的参数,如此一来大家应该更容易了解源码的各项功能。

#仅将源码编译成目标文件,并不制作链接等功能。

【root@www~】#gcc -c hello.c

#会自动生成hello.0这个文件,但是并不会生成可执行文件

 

 

在编译时,依据操作系统环境给予优化速度

[root@www~]#gcc -0 hello.c -c

#会自动生成hello.0这个文件,并且进行优化

 

#在进行二进制文件制作时,将链接的函数库与相关的路径填入

[root@www~]gcc sin.c -lm -L/user/lib  -I/user/include

#这个命令较常执行在最终链接成binary file的时候

#-lm指的是libm.so或libm.a这个函数库文件

#-L后面接的路径是刚才上面那个函数库的搜索目录

#-I后面接的是源码内的Include文件的所在目录

 

 

#将编译的结果输出成某个特定文件名

[root@www~]#gcc -o hello hello.c

#-o后面接的是输出的binary file文件名

 

 

#在编译的时候,输出较多的信息说明

[root@www~]#gcc -o hello hello.c -Wall

#加入-Wall之后,程序的编译会变得较为严谨一点

#所以警告信息也会显示出来

 

 

 

 

 

 

比较重要的大概就是这一些,另外,我们通常称-Wall或者-O这些非必需的参数为标志(FLAGS)。

这篇关于gcc的简易用法(编译,参数与链接)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119387

相关文章

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

Java序列化之serialVersionUID的用法解读

《Java序列化之serialVersionUID的用法解读》Java序列化之serialVersionUID:本文介绍了Java对象的序列化和反序列化过程,强调了serialVersionUID的作... 目录JavChina编程a序列化之serialVersionUID什么是序列化为什么要序列化serialV

python3中正则表达式处理函数用法总结

《python3中正则表达式处理函数用法总结》Python中的正则表达式是一个强大的文本处理工具,用于匹配、查找、替换等操作,在Python中正则表达式的操作主要通过内置的re模块来实现,这篇文章主要... 目录前言re.match函数re.search方法re.match 与 re.search的区别检索

Java编译错误java.lang.NoSuchFieldError的解决方案详析

《Java编译错误java.lang.NoSuchFieldError的解决方案详析》java.lang.NoSuchFieldError是Java中的一种运行时错误,:本文主要介绍Java编译错... 目录前言解决方案1. 统一JDK版本环境2. 优化maven-compiler-plugin配置3. 清

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.

SpringMVC配置、映射与参数处理​入门案例详解

《SpringMVC配置、映射与参数处理​入门案例详解》文章介绍了SpringMVC框架的基本概念和使用方法,包括如何配置和编写Controller、设置请求映射规则、使用RestFul风格、获取请求... 目录1.SpringMVC概述2.入门案例①导入相关依赖②配置web.XML③配置SpringMVC

GO语言中gox交叉编译的实现

《GO语言中gox交叉编译的实现》本文主要介绍了GO语言中gox交叉编译的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、安装二、使用三、遇到的问题1、开启CGO2、修改环境变量最近在工作中使用GO语言进行编码开发,因

C++实现一个简易线程池的使用小结

《C++实现一个简易线程池的使用小结》在现代软件开发中,多线程编程已经成为提升程序性能的常见手段,本文主要介绍了C++实现一个简易线程池的使用小结,感兴趣的可以了解一下... 在现代软件开发中,多线程编程已经成为提升程序性能的常见手段。无论是处理大量 I/O 请求的服务器,还是进行 CPU 密集型计算的应用

MySQL 中的 JSON_CONTAIN用法示例详解

《MySQL中的JSON_CONTAIN用法示例详解》JSON_CONTAINS函数用于检查一个JSON文档中是否包含另一个JSON文档,这篇文章给大家介绍JSON_CONTAINS的用法、语法、... 目录深入了解 mysql 中的 jsON_CONTAINS1. JSON_CONTAINS 函数的概述2

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(