gcc

凛冬将至__5 天前
linux·gnu·gcc
【GNU】gcc -g编译选项 -g0 -g1 -g2 -g3 -gdwarfGCC 的 -g 选项用于在编译时生成调试信息,这些信息会嵌入到生成的目标文件或可执行文件中,主要目的是为了支持调试器(如 gdb)对程序的调试工作。
一丝晨光10 天前
c语言·开发语言·c++·gnu·clang·gcc·g++
gcc 1.c和g++ 1.c编译阶段有什么区别?如何知道g++编译默认会定义_GNU_SOURCE?借用 gcc 1.c和g++ 1.c有什么区别? 的示例代码,以汇编代码为比较目标,再经过汇编,最后生成ELF文件,三个过程结果均无差异,这个阶段充分证明了c和c++是多么相似。
一只特立独行的程序猿10 天前
汇编·学习·gcc
关于GCC内联汇编(也可以叫内嵌汇编)的简单学习内嵌汇编(Inline Assembly),是一种高级编程语言(C/C++)中常用的源码中直接嵌入汇编语言的技术,从而可以实现对底层硬件的直接控制或起到优化性能的作用。
一丝晨光13 天前
c语言·开发语言·c++·ide·msvc·visual studio·gcc
编译器、IDE对C/C++新标准的支持很遗憾的是,微软VC++对C99的支持直到VS2015才基本完全支持,在VS2012之前,仅仅支持C89. 也正是2015年之前,这么多人骂微软并纷纷转移到其它C语言编译器的原因。VS2019开始才正式宣布支持C11/C17.
一丝晨光14 天前
macos·objective-c·xcode·apple·clang·gcc·llvm
GCC和clang的爱恨情仇clang代表"a C language family frontend for LLVM", 最早是Apple发起,源于不满GCC不能更友好修改ObjC的需求,Apple另起炉灶。因为ObjC在苹果有足够高的地位,clang一开始支持的语言就包含C/C++/ObjC. clang是编译器前端,意味着它要搭配后端,LLVM就是官方标配的后端。Android平台也逐渐从GCC转向clang.
云中双月23 天前
linux·嵌入式·gdb·调试·gcc·崩溃·ida pro·ulimit·core dump·cross compile
如何使用Ida Pro和Core Dump文件定位崩溃位置(Linux下无调试符号的进程专享)我们在嵌入式Linux开发过程中经常会遇到一个问题,就是程序崩溃后不知道具体位置。因为我们发布到生产环境的一般是没有调试符号的(使用strip或编译时加-s参数,CMake生成的编译指令中的-O3也会造成调试符号丢失),毕竟嵌入式的存储都比较有限,肯定是需要剥离调试符号的。
witton1 个月前
c语言·clang·gcc·defer·attribute·cleanup·block type
C语言实现Go的defer功能之前笔者写了一篇博文C++实现Go的defer功能,介绍了如何在C++语言中实现Go的defer功能,那在C语言中是否也可以实现这样的功能呢?本文就将介绍一下如何在C语言中实现Go的defer功能。
码匠许师傅1 个月前
python·pip·risc-v·openharmony·gcc·1024程序员节·hi3861
【开源鸿蒙】OpenHarmony 5.0轻量系统最小开发环境搭建本文将会介绍,如何下载OpenHarmony 5.0源代码和工具链,让磁盘占用尽可能小的同时,还可以进行轻量系统的OpenHarmony开发(即源码编译构建)。最终实现了,从全量源码和工具链占用磁盘空间的67GB减少到15GB。
程序猿(攻城狮)1 个月前
linux·centos·gcc
CentOS 7 安装gcc编译环境有时需要使用源码安装某个应用程序,有时还需要对源码进行一定程度的修改和定制才能满足业务需求,有时需要在linux环境下开发某个特定功能的c++程序,此时都需要用到gcc编译环境,此时就需要安装gcc编译环境。
CodingCos1 个月前
arm开发·gcc·arm gcc·gcc 编译
【ARM 嵌入式 编译系列 2.9 -- GCC 编译如何避免赋值判断 if ( x = 0)】===> ARM GCC 编译精讲系列课程链接 <===在 GCC 编译中,为了避免误将赋值操作用于条件判断(例如 if (break_var = 0x0))导致的错误,可以使用 -Wall 参数。-Wall 是一个启用一组常见警告的选项,其中包括警告赋值操作被用作条件表达式的 -Wparentheses。 不过,更具体地,使用 -Werror=parentheses 可以将这种情况视为错误来强制修复。以下是相关参数的介绍:
shylyly_2 个月前
linux·gcc·底层·编译链接
编译链接的过程发生了什么?1:翻译环境:代码->二进制指令2:执行环境:执行二进制指令Q:我们写的代码是文本信息,而计算机执行的是二进制的指令,这二者之间如何进行的转换?
时差freebright2 个月前
linux·开发语言·gcc
【Linux 报错】“make: ‘xxxx‘ is up to date.” 解决办法我们使用 make 命令,想要将 text.c 文件编译形成 可执行文件 text 时,报错如下中文含义:test 文件已经达到最新状态
时光飞逝的日子2 个月前
符号·gcc·链接脚本·gnu链接器·符号定义
GNU链接器(LD):什么是符号?符号定义及实例解析一个完整的编译工具链应该包含以下4个部分: (1)编译器 (2)汇编器 (3)链接器 (4)lib库 在GNU工具链中,对应的是: (1)编译器:GCC(GNU Compiler Collection,GNU编译器套件) (2)汇编器:GAS(GNU Assembler,GNU汇编器) (3)链接器:LD(GNU Linker,GNU链接器) (4)lib库:glibc(GNU C Library,GNU C 库) 本文介绍GNU链接器脚本中符号所谓何物,以及符号的定义及实例解析。
DogDaoDao2 个月前
c语言·c++·windows·vscode·gcc·mingw-w64
Windows 环境下 vscode 配置 C/C++ 环境Visual Studio Code(简称 VSCode)是一个由微软开发的免费、开源的代码编辑器。它支持多种编程语言,并提供了代码高亮、智能代码补全、代码重构、调试等功能,非常适合开发者使用。VSCode 通过安装扩展(Extensions)来增加对不同编程语言和工具的支持,使其成为一个功能强大的集成开发环境(IDE)。
Mr.zwX2 个月前
c++·编译·cmake·gcc
【CMake编译报错小复盘】CMAKE_CUDA_ARCHITECTURES,CMake version,GCC version问题今天在写大模型量化推理框架时遇到了一些编译上的错误,简单复盘一下问题和解决方案:报错信息: CMake Error: CMAKE_CUDA_ARCHITECTURES must be non-empty if set
VictorYu3 个月前
ubuntu·gcc
ubuntu 20.04安装GCC G++ 6.2,支持c++ 141. 下载源码包
Betty’s Sweet3 个月前
linux·git·vim·makefile·gdb·gcc·g++
[Linux]:环境开发工具✨✨ 欢迎大家来到贝蒂大讲堂✨✨🎈🎈养成好习惯,先赞后看哦~🎈🎈所属专栏:Linux学习贝蒂的主页:Betty’s blog
JoShamash3 个月前
linux·gcc
gcc/g++编译当预处理器遇到 #if 指令时,会计算后面常量表达式的值。如果表达式的值为 0,则#if 与 #endif 之间的代码会在预处理阶段删除;否则,#if 与 #endif 之间的代码会被保留,交由编译器处理。 #if 指令常用于调试程序,如下所示:
EleganceJiaBao3 个月前
java·c语言·c++·python·gnu·编译器·gcc
【Story】编译器的基础概念与类型分类编译器是一种将高级编程语言(如C、C++、Java、Python等)编写的源代码转换为机器语言或中间代码的工具,使计算机能够执行该程序。编译器的开发和使用在计算机科学中具有核心地位,它帮助程序员将抽象的、高层次的算法和逻辑翻译成具体的、计算机能够理解和执行的指令。
笑川 孙3 个月前
linux·c++·git·vim·makefile·gcc·g++
Linux | Linux开发工具链全攻略:yum、vim、gcc/g++、GDB、Makefile与git版本控制目录Linux开发环境全解析:工具、编程与版本控制1、软件包管理器YUM查看可用的软件包安装软件包更新软件包