技术栈
gcc
凛冬将至__
5 天前
linux
·
gnu
·
gcc
【GNU】gcc -g编译选项 -g0 -g1 -g2 -g3 -gdwarf
GCC 的 -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也会造成调试符号丢失),毕竟嵌入式的存储都比较有限,肯定是需要剥离调试符号的。
witton
1 个月前
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编译环境。
CodingCos
1 个月前
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:我们写的代码是文本信息,而计算机执行的是二进制的指令,这二者之间如何进行的转换?
时差freebright
2 个月前
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链接器脚本中符号所谓何物,以及符号的定义及实例解析。
DogDaoDao
2 个月前
c语言
·
c++
·
windows
·
vscode
·
gcc
·
mingw-w64
Windows 环境下 vscode 配置 C/C++ 环境
Visual Studio Code(简称 VSCode)是一个由微软开发的免费、开源的代码编辑器。它支持多种编程语言,并提供了代码高亮、智能代码补全、代码重构、调试等功能,非常适合开发者使用。VSCode 通过安装扩展(Extensions)来增加对不同编程语言和工具的支持,使其成为一个功能强大的集成开发环境(IDE)。
Mr.zwX
2 个月前
c++
·
编译
·
cmake
·
gcc
【CMake编译报错小复盘】CMAKE_CUDA_ARCHITECTURES,CMake version,GCC version问题
今天在写大模型量化推理框架时遇到了一些编译上的错误,简单复盘一下问题和解决方案:报错信息: CMake Error: CMAKE_CUDA_ARCHITECTURES must be non-empty if set
VictorYu
3 个月前
ubuntu
·
gcc
ubuntu 20.04安装GCC G++ 6.2,支持c++ 14
1. 下载源码包
Betty’s Sweet
3 个月前
linux
·
git
·
vim
·
makefile
·
gdb
·
gcc
·
g++
[Linux]:环境开发工具
✨✨ 欢迎大家来到贝蒂大讲堂✨✨🎈🎈养成好习惯,先赞后看哦~🎈🎈所属专栏:Linux学习贝蒂的主页:Betty’s blog
JoShamash
3 个月前
linux
·
gcc
gcc/g++编译
当预处理器遇到 #if 指令时,会计算后面常量表达式的值。如果表达式的值为 0,则#if 与 #endif 之间的代码会在预处理阶段删除;否则,#if 与 #endif 之间的代码会被保留,交由编译器处理。 #if 指令常用于调试程序,如下所示:
EleganceJiaBao
3 个月前
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查看可用的软件包安装软件包更新软件包