首页 > 系统相关 >Linux环境搭建和项目基础

Linux环境搭建和项目基础

时间:2024-06-15 21:54:50浏览次数:28  
标签:GCC GNU 环境 指定 源文件 编译 编译器 Linux 搭建

GCC

  • GCC 原名为 GNU C语言编译器(GNU C Compiler)

  • GCC(GNU Compiler Collection,GNU编译器套件)是由 GNU 开发的编程语言译器。GNU 编译

  • 器套件包括 C、C++、Objective-C、Java、Ada 和 Go 语言前端,也包括了这些语言的库(如

  • libstdc++,libgcj等)

  • GCC 不仅支持 C 的许多“方言”,也可以区别不同的 C 语言标准;可以使用命令行选项来控制编译器

  • 在翻译源代码时应该遵循哪个 C 标准。例如,当使用命令行参数 -std=c99 启动 GCC 时,编译器

  • 支持 C99 标准。

  • 安装命令 sudo apt install build-essential

  • 查看版本 gcc/g++ -v/--version

GCC工作流程

 

GCC常用参数

gcc编译选项 说明
-E 预处理指定的源文件,不进行编译
-S 编译指定的源文件,但是不进行汇编
-c 编译、汇编指定的源文件,但是不进行链接
-o [file1] [file2] or [file2] -o [file1] 将文件 file2 编译成可执行文件 file1
-I directory 指定 include 包含文件的搜索目录
-g 在编译的时候,生成调试信息,该程序可以被调试器调试
-D 在程序编译的时候,指定一个宏
-w 不生成任何警告信息
-Wall 生成所有警告信息
-On n的取值范围:0~3 编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-l 在程序编译的时候,指定使用的库
-L 指定编译的时候,搜索的库的路径。
-fPIC/fpic 生成与位置无关的代码
-shared 生成共享目标文件,通常用在建立共享库时
-std 指定C方言,如:-std=c99,gcc默认的方言是GNU C

标签:GCC,GNU,环境,指定,源文件,编译,编译器,Linux,搭建
From: https://www.cnblogs.com/xuzj5/p/18249798

相关文章

  • Linux的目录结构
    问题产生:在学习Linux的过程中对Linux系统的文件结构感到不解,例如/bin和/usr/bin和/usr/local/bin之间的区别以及各个目录到底是存放什么内容的问题,需要进行进一步的学习!列举一下Linux中比较重要的部分目录:主目录:/root,/home/username用户可执行文件:/bin,/usr/b......
  • 广告联盟小游戏APP平台搭建
      广告联盟对接小游戏的运作方式通常如下:  1.注册与审核:小游戏开发者需要在广告联盟平台上注册并提交相关资料进行审核,以成为联盟的合作伙伴。  2.广告接入:一旦通过审核,广告联盟会为小游戏开发者提供相应的广告接入SDK或API,开发者需要将其集成到小游戏的代码中。......
  • 【Linux】进程_4
    文章目录五、进程4.进程状态5.进程优先级6.进程的调度和转换未完待续五、进程4.进程状态当进程属于挂起状态时,进程的可执行程序代码和数据均会被从内存中换入到磁盘中,此时进程的PCB并没有消失,只要操作系统还需要管理这个进程,进程的PCB就需要存在,所以我们可以......
  • linux内存管理(八)- 反向映射RMAP
    这里有一篇博客讲的不错。linux内存管理笔记(三十八)----反向映射_linux反向映射-CSDN博客页表是把虚拟地址映射到物理页面,但是如何根据一个物理页找到所有映射它的pte呢?答案是用反向映射ReverseMapping(RMAP)。这在页面回收中很有用。回收页面需要将到物理页的映射断开(改一下pte......
  • 【PL理论】(24) C- 语言:有块的作用域 | 更新的语法 | 新的语义域 | 环境 vs. 内存
    ......
  • Linux 并发与竞争实验学习
    Linux并发与竞争实验学习原子操作实验这里原子操作就是采用原子变量来保护一个程序运行的完整过程,使用atomic来实现一次只能允许一个应用访问LED,创建atomic.c文件,其实改动内容就是添加原子变量,要在设备结构体数据添加原子变量,具体代码如下:structgpioled_dev{dev_td......
  • Linux vim 文本编辑 操作文本 三种模式
    介绍vi是一个经典的行编辑器,支持模式编辑(包括普通模式、插入模式和命令模式)。vim保留vi核心功能的基础上,增加了多级撤销、语法高亮、插件支持等高级功能。两者的最大区别,简单的来说vim就是vi的增强版三种模式命令模式(CommandMode)默认进入的是命令模式。在这个模式......
  • Linux PM:wakeup count、wakelock、autosleep
     在进行wakeupcount、wakelock、autosleep之前,先参考《Linux电源管理(7)_Wakeupeventsframework(wowotech.net)》。下面简单跟一下,wakeupcount、wakelock、autosleep,及其使用方法。1PM初始化PM子系统初始化:pm_initpm_start_workqueuehibernate_image_size_ini......
  • mac上zsh环境变量如何配置
    环境变量配置在macOS上,如果你使用的是zsh作为默认的shell,那么/bin/zsh的环境变量通常可以在以下文件中配置:~/.zshrc~/.zprofile~/.zshenv这些文件的作用如下:~/.zshrc:这是zsh的主要配置文件。它在每次打开新的zsh会话时都会被读取和执行。这是设置环境......
  • 零基础-零成本搭建个人博客-Hexo-基于windows10
    下载nodejs #1、访问官网:https://nodejs.org/en-下载LTS版本下载后安装下一步、选择安装路径即可、注意要选择addtopath(这是npm下载包的路径)安装hexo安装成功后在cmd中输入npm验证一下:按Win+R键、弹出后输入cmd创建workspace:需要安装hexo下载的nmp包F:\worksp......