GDB调试 GDB简介 GDB的功能 GDB(GNU Debugger)是用于调试 C、C++ 等语言的强大工具。它允许开发者执行以下操作: 启动程序并按照预期条件暂停(如断点处)。 检查程序中的变量和内存状态。 单步执行代码,观察每一步的变化。 修改运行中的变量值以测试不同的假设。 调试程序崩溃、 ...
按位逻辑运算 取反 ~ 一元运算符~把1变为0,把0变为1 ~(10011010) 01100101 val = ~val 按位与 & 二元运算符&通过逐位比较两个运算对象,生成一个新值。对于每个位,只有两个运算对象中相应的位都为1时,结果才为1 (10010011) & (00111101) (0 ...
C/C++ 宏缺陷这么多,它过时了吗?预处理器如何替换宏,有次数限制吗?何时终止?何为预扫描、后扫描?如何利用它们来实现延迟拼接、惰性求值,这些技术又有什么用处,宏与 C++ 模板元编程有何区别和联系?如何利用宏来生成代码?本文为你一一解答。 ...
1.工具简单介绍 Flex 和 Bison 是编译器开发中常用的两个工具,分别用于生成词法分析器和语法分析器。它们通常一起使用,共同完成源代码的词法分析和语法分析工作。 Flex: Flex通过读取一个规则文件(通常是.l文件),这个文件中定义了一系列的模式和对应的动作。模式用于匹配输入文本中的特定 ...
第一章 本书学习方法 1)实验平台:正点原子DNESP32S3开发板 2)章节摘自【正点原子】ESP32-S3使用指南—IDF版 V1.6 3)购买链接:https://detail.tmall.com/item.htm?&id=768499342659 4)全套实验源码+手册+视频下载地址:htt ...
准备写一个基于C的扫雷游戏,这是第一篇,内容:扫雷的主菜单 思路 显示菜单->用户选择->判断用户选项 实现 显示菜单 首先在main函数内显示菜单,菜单显示部分实现在 MainMenu 函数内 int main(void) { while (true) { int iChoose = -1; Ma ...
优先级最高的并不是真正意思上的运算符 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [ ] 数字下标 数组名[常量表达式] 左到右 2 ( ) 圆括号 (表达式)/函数名(形参表) 左到右 3 . 成员选择(对象) 对象.成员名 左到右 4 -> 成员选择(指针) 对象指针->成员名 单 ...
指针, C语言的精髓 莫队先咕几天, 容我先讲完树剖 (因为后面树上的东西好多都要用树剖求 LCA, 树剖求 LCA 比倍增求 LCA 常数小). 什么是指针 保存变量地址的变量叫做指针. 这是大概的定义, 但是Defad认为这个定义不太好理解, 所以我们先不看. 我们的电脑里都有随机存储器 RAM ...
一、使用的MCU为STC89C52RC 二、DS1302驱动 1 #include <REGX52.H> 2 #include "DS1302.h" 3 #include "LCD1602.h" 4 #include "Delay.h" 5 #include "Timer0.h" 6 #includ ...
参考资料 xilinx wiki: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/460653138/Xilinx+Open+Source+Linux 前置知识 zynq启动流程 (UG585,第六章) ![image-202411142 ...
做项目的时候新上手了ESP8266,模块测试的时候发现串口软件识别串口不稳定,换多个串口助手后仍无法解决,疑似硬件问题 此时接线为 后查询得知USB-TTL的3V3供电不满足ESP8266使用,疑似电流不够,但手边没仪器无法求证 可考虑跳线帽短接3V3与VCC,模块接5V供电,询问商家此操作可行,短 ...
写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入 //写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入 #include <stdio.h> int getGCD(int a, int ...
关于变量的声明和定义 一个函数一般由两部分组成:声明部分和执行语句。声明部分的作用:是对有关的标识符(如变量、函数、结构体、共用体等)的属性进行声明。对于函数而言,声明和定义的区别是明显的,函数的声明是函数的原型,而函数的定义是对函数功能的定义。对被调用函数的声明是放在主调函数的声明部分中的,而函数 ...
变量的存储方式和生存期 动态存储方式与静态存储方式 从变量的作用域(即从空间)的角度来观察,变量可以分为全局变量和局部变量 从变量存在的时间(即生存期)来观察:有的变量在程序运行的整个过程都是存在的,而有的变量则是在调用其所在的函数时才临时分配存储单元,而在函数调用结束后该存储单元就马上释放了,变量 ...
局部变量和全局变量 局部变量 定义变量可能有3种情况: 在函数的开头定义 在函数内的复合语句内定义 在函数的外部定义 在一个函数内部定义的变量只在本函数范围内有效,也就是说只有在本函数内才能引用它们,在此函数以外是不能使用这些变量的 在复合语句内定义的变量只在本复合语句范围内有效,只有在本复合语句内 ...
数组作为函数参数 调用有参函数时,需要提供实参,实参可以是常量、变量或表达式 数组元素的作用与变量相当,一般来说,凡是变量可以出现的地方,都可以用数组元素代替,因此,数组元素也可以用作函数实参,其用法与变量相同,向形参船体数组元素的值。此外,数组名也可以作实参和形参,传递的是数组第一个元素的地址 数 ...
函数的嵌套调用 C语言的函数定义是互相平行的、独立的,也就是说,在定义函数时,一个函数内不能再定义另一个函数,也就是不能嵌套定义,但是可以嵌套调用函数,也就是说,在调用一个函数的过程中,又调用另一个函数 如上执行过程: 执行 main 函数 遇到函数调用的语句,调用函数 a ,流程转到 a 函数 执 ...
一:整一些小型的题目 1、题目描述: 小乐乐上课需要走n阶台阶,因为他腿比较长,所以每次可以选择走一阶或者走两阶,那么他一共有多少种走法? 输入描述:包含一个整数n(1<=n<=30) 输出描述:输出一个整数,即小乐乐可以走的方法数。 直接上代码,之后再解释 1 #include<stdio.h> ...
调用函数 定义函数的目的是为了调用此函数,以得到预期的结果。因此,应当熟练掌握调用函数的方法和有关概念 函数调用的形式 函数调用的一般形式为: 函数名(实参表列) 如果是调用无参函数,则“实参表列”可以没有,但括号不能省略 如果实参表列包含多个实参,则各个参数之间用逗号隔开 按函数调用在程序中出现的 ...
一:操作符 &:按位与 2进制 |:按位或 2进制 ^:按位异或 2进制 ~:按位取反 2进制 &:先上代码,然后解释 1 #define _CRT_SECURE_NO_WARNINGS 2 3 #include<stdio.h> 4 int main() 5 { 6 int a = 3; 7 in ...