LINUX系统——gcc和gdb编译C程序的关键点(胎教版)

linux+vim+gcc+gdb开发C/C++程序环境搭建 我用的是ubuntu操作系统。打开终端1.sudo apt-get install vim(vim-full 这个软件自9.10版本被废弃了,不论怎么添加软件源都找不到的,所以直接安装vim就可以了,,也可以安装gvim,,在新立得软件里面搜索vim就可以找到了) 2. sudo apt-get install build-essential // build-essentia 阅读详情

此文章用以提醒自己gcc与gdb的一些操作

1. gcc

1.1 创建.c文件
首先打开linux的终端,输入“cd xxxx”进入想要创建文件的路径。然后输入“vim xxx.c”创建一个.c文件。
在这里插入图片描述

1.2 编辑.c文件
在vim模式下进行c语言代码的编辑。
在这里插入图片描述
1.3用“ls”指令查看.c文件是否创建成功
在这里插入图片描述
1.4用gcc命令生成可执行文件
格式:gcc xxx.c -o xxx
在这里插入图片描述
1.5运行可执行文件
格式:./xxx
在这里插入图片描述

2.gdb

2.1使用gcc的“-g”参数编译源文件
格式:gcc -g xxx.c -o xxx
在这里插入图片描述
2.2启动gdb调试
在这里插入图片描述

2.3使用list进行查看
在这里插入图片描述
2.4用“b”命令添加断点
① b 函数名 在某函数入口处添加断点;
② b 行号 在指定行添加断点
③ b 文件名:行号 在指定文件的指定行添加断点
④ b 行号 if 条件 当条件为真时,指定行号处断点生效
在这里插入图片描述

2.5“info break”查看断点信息
在这里插入图片描述
2.6运行程序
格式:run xxx
在这里插入图片描述
在遇到断点时可以使用“next”或者“continue”命令继续进行。
next:单步执行。
continue:执行到下一个中断点。

Linux上c程序的编译和调试(gcc make gdb) 首先需要在Linux上安装gcc , sudo su切换到管理员模式 ,apt install gcc 安装gcc 前面有说过vim的安装和使用 ,在我们用vim写好一个程序后 ,就可以用gcc进行编译 1 gcc分步编译链接 (1) 预编译 : gcc -E main.c -o main.i (2) 编译: gcc -S main.i -o main.s (3) 汇编: gcc -c main.s -o main.o (4) 链接: gcc main.o -o main 通常直接一... 阅读详情

相关推荐

FlowPic实战:从流量到图像的端到端加密应用识别

本文深入解析了FlowPic技术如何将网络流量转化为图像,并利用CNN模型进行端到端加密应用识别。该方法通过分析数据包大小和时序信息生成流量图像,有效绕过加密内容,实现对视频、聊天、文件传输等应用的精准分类。文章提供了从流量抓取、图像生成到轻量级CNN模型设计与训练的完整实战指南,并探讨了在VPN、Tor等复杂场景下的应用与挑战。

weixin_29046035的博客 151

C编译: 使用gdb调试

gdb是the GNU Debugger的简称。它是一款UNIX平台的调试器(debugger),可用于为C, C++, Objective-C, Java, Fortran等程序debug。 在gdb中,你可以通过设置断点(break point)来控制程序运行的进度,并查看断点时的变量和函数调用状况,从而发现可能的问题。在许多IDE中,gdb拥有图形化界面。 这里主要介绍gdb

疯流人物 512

Hermes+MemOS记忆系统:用SQLite构建可编辑AI个人认知资产

AI记忆不是简单延长上下文或叠加RAG,而是构建具备分层存储、混合检索与自然语言反馈能力的个人认知资产。其核心原理在于将用户交互痕迹(L1)、偏好策略(L2)、结构化世界模型(L3)和结晶化技能统一管理,实现记忆的可追溯、可修正、可进化。技术价值体现在降低token消耗、提升长程一致性、支持离线演进,并突破传统‘静态快照’式知识库局限。典型应用场景包括个人知识助手、客服工单分析Agent、研发文档理解系统等。本文聚焦Hermes Agent与MemOS深度集成方案,详解SQLite作为ACID底座支撑L1/

weixin_33623304的博客 434

2、GDB 调试 C/C++ 程序

GDB 调试 C/C++ 程序

融码一生:专注 Python、C/C++、Linux、机器学习 & 深度学习、NLP、算法领域分享 1777

Python与PyCharm安装配置教程:从零搭建开发环境

编程入门的第一步是搭建开发环境,而Python解释器与IDE工具的选择常让新手困惑。Python作为解释型语言,负责将代码翻译为机器指令,而PyCharm作为集成开发环境,提供代码编辑、调试与项目管理功能,两者协同工作构成高效开发基础。环境变量PATH的配置是安装过程中的关键环节,正确处理可避免“python不是内部或外部命令”的常见错误。理解pip包管理机制,则能轻松安装第三方库并管理项目依赖。从下载官方安装包到运行第一个Hello World程序,再到利用虚拟环境隔离应用依赖,这套流程适用于Window

benben 685

Quartus (Quartus Prime 18.1)的安装及仿真步骤

前两天做计组的课设需要用到Quartus 这个软件,但安装有点麻烦,在网上搜了很多教程,发现都是旧版本的,最后弄了好半天才把环境搭建好。所以,分享一下它的搭建过程。 因为我不经常用它,所以安装的版本是精简版的其他版本的也应该差不多以下是需要下载的安装包: 准备: Quartus Prime 精简版,最新发布: v18.1 1. QuartusLiteSetup-18.1.0.625-wi...

weixin_41082948的博客 8万+

如何编译并用gdb调试c文件

win gcc test.c -o test 要对程序进行调试,使用-g参数,gcc -g test.c -o test 编译完成后,启动GDB调试工具,命名为:gdb + 要调试程序的程序名,在本例中使用的命令为【gdb test】; 可以使用list/l命令查看程序,方便我们添加断点时查看信息; 然后使用break/b命令给程序添加断点,共有下面几种情况: ① b 函数名 在某函数入口处添加断点; ② b 行号 在指定行添加断点 ③ b 文件名:行号 在指定文件的指定行添加断...

weixin_49573332的博客 1133

调用D3D11硬解码和渲染VideoProcessor版本

在https://blog.csdn.net/robothn/article/details/78781321一文中使用shader来显示FFMPEG硬解码后的YUV420P,本文调用D3D11的videoprocessor来进行图像空间变换和尺寸变换,取得了较好的效果。 1.初始化D3D11设备、videodevice等数据结构 FFMPEG调用D3D11硬解码,获取其对应的device,videodevice。。。 FFMPEG使用av_hwdevice_find_type_by_name调用D3d11

zlyadvocate的博客 9285

Linux下安装gcc、gdb、g++以及编译运行C程序

进入超级用户:su root 然后输入密码 安装gcc:yum install gcc 然后输入y即可 安装gdb:yum install gdb 安装g++:yum install gcc-c++ 编辑C/C++代码:vi [C文件名].c 然后开始写C代码(需要按下insert键才能code) 不想用vim编写的话,可以用gedit,修改一下文件的权限即可 修...

xcatf的博客 1297

VC Spyglass实战指南:从零开始掌握CDC约束配置与调试

本文详细介绍了如何使用VC Spyglass进行CDC约束配置与调试,从基础环境搭建到典型CDC问题调试实战,帮助开发者快速掌握跨时钟域验证技术。通过TCL脚本和SDC约束的深度解析,提升CDC验证效率,避免常见设计风险。

weixin_26757925的博客 296

Spark Catalog详解

旁边的实习生说:我想要用spark代码中对hive库中的内部表和外部表进行删除(包括数据),咋感觉网上搜了一圈都找不到解决方案啊,spark这么鸡肋吗?我:你应该静下心来好好把spark基础知识进行全面学习。实习生:难道spark有这功能,而我没有学习过?咋弄啊?我:学习一下Spark Catalog。实习生:啥是Catalog啊?Spark Catalog是Spark SQL中的一个元数据管理组件,它提供了一个集中化的存储和查询表、视图和函数的位置。

SunnyRivers 1814

【Linux系统】Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试

Linux 是当今计算机领域最重要的操作系统之一,其强大的命令行工具和丰富的生态系统为开发者提供了极大的灵活性和效率。然而,对于新手和部分用户而言,如何使用这些工具高效管理软件、编译代码、自动化构建和调试程序仍然是一项挑战。这篇文章旨在为读者提供一站式的 Linux 工具指南,从软件包管理 (apt) 到编译器 (gcc/g++)、自动化构建工具 (make),再到调试器 (gdb),我们将以清晰、系统化的方式为您逐步解析这些工具的功能和使用方法。

17的博客 8047

Python 爬虫实战:从零搭建第一个爬虫程序(附完整代码)

本文介绍了Python网络爬虫的入门实战,以豆瓣Top250电影榜单为例,详细讲解爬虫开发全流程。内容包括爬虫基础原理、环境搭建、请求发送与响应处理、数据解析与保存等核心环节,并提供了可直接运行的完整代码示例。文章还分析了常见问题解决方案,并强调了爬虫开发的合规注意事项。通过本教程,读者可快速掌握Python爬虫的基本思路和实操技巧,为后续深入学习BeautifulSoup、XPath等进阶技术打下基础。

2503_91057718的博客 2316

【Linux】Linux程序编译(gcc编译和gdb调试)

一、gcc使用 1.gcc简介 gcc命令使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点。 gcc是GNU编译器套件(GNU Compiler Collection),它包括了C、C++、Objective-C、Fortran、Java、Ada、Go语言和D语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,“自由”的含义是

Jacky_Feng的博客 7524

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【linux】2 Linux编译器-gcc/g++和Linux调试器-gdb

Linux编译器-gcc/g++的使用、linux调试器-gdb的使用

m0_57388581的博客 2841

Linux(六)编译链接、gcc和gdb

本篇文章向大家介绍了编译链接过程,gcc和gdb的安装、使用方法,以及学习创建makefile文件和使用makefile文件,内附带使用截图

SSaltedFish_tian的博客 1605

Linux学习系列(六):linux系统上C程序的编译、运行及调试

摘要:本文介绍了Linux操作系统中关于C程序的编译,通过介绍编译过程、gcc命令、分步编译、一步编译和makefile自动化编译,详细介绍了编译的原理过程及命令。再介绍了在Linux操作系统下,应如何执行C程序,以及如何把可执行文件转化成命令。最后介绍了应如何像VS一样去逐步调试程序,并介绍了相应的命令

weixin_60033897的博客 5670

【Linux下的cpp】编译调试(gcc、g++、gdb)

【Linux下的cpp】编译调试(gcc、g++、gdb)

小雨的分享斋 2368

Linux下gcc编译器和gdb调试

对于gcc编译的四步骤展开介绍,以及对gdb优化进行相比比较,并对调试的相关命令进行演示。

林夕07 3690

Linux基础(六):Linux 系统上 C 程序的编译与调试

当源码文件比较多的时候就不适合通过直接输入gcc命令来编译,这时候就需要一个自动化的编译工具, 这就是make工具,make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建。make:一般说GNU Make,是一个软件,用于将源代码文件编译为可执行的二进制文件,make工具主要用于完成自动化编译。make工具编译的时候需要Makefile文件提供编译文件。Makefile:make工具所使用的文件,Makefile指明了编译规则。

weixin_47040031的博客 4010

Linux系统上c程序的编译和调试

本文介绍了GCC编译工具链的安装使用及开发调试全流程。首先详细说明了在Linux系统中安装GCC的方法,包括配置yum源和安装步骤。接着阐述了GCC的分步编译过程(预编译、编译、汇编、链接)和一步编译命令。然后介绍了Makefile的基本概念和使用方法,包括编写规则和make命令执行。最后重点讲解了GDB调试技术,包括调试版本和发布版本的区别、基础调试命令(断点设置、变量查看等)、多进程/线程调试方法,并通过实例演示了如何定位和修复代码逻辑错误。文章全面覆盖了从代码编译到调试的完整开发流程。

2401_87910242的博客 1361

Linux——C程序编译gdb和库文件

预编译:展开所有的宏定义,将被包含的头文件内容插入到源代码中相应的位置。通常称为预处理文件       gcc -E main.c -o main.i   -o表示输出文件为  main.i。编译:词法分析,语法分析,语义分析,中间代码生成,中间代码优化,目标代码生成

weixin_75197906的博客 1208

GCC编译器和GDB调试器

GCC编译器 GCC(GNU Compiler Collection) 是目前Linux下最常用的c语言编译器,它是GNU项目中符合ANSI C标准的编译系统,可以在多种硬件平台上编译出可执行程序的超级编译器,执行效率与一般的编译器相比平均效率要高20%~30%。 基本用法 在终端中输入下列命令: gcc options filename 其中,filename为要操作的*.c文件

sywyg 7万+

【Linux】编译器gcc和g++与调试器gdb的使用

本文介绍了编译器gcc和g++与调试器gdb的使用

qq_67582098的博客 2246

【Linux】实验报告3 vi、gcc 和 gdb 的使用

【Linux】实验报告2

「Rickyの水果摊」的博客 4462
上一篇: 计算机网络 第二章课后习题作业讲解
下一篇: 关于开机自启动软件的三种方法
酱紫玩,好好好
博客等级 码龄7年 39粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值