
C/C++
文章平均质量分 85
0 error ~ 0 warning
世界上有10种人:一种是懂得二进制的,另一种是不懂二进制的。
展开
-
C 语言中的 volatile 关键字
在程序运行时,编译器通常会假设变量的值仅由当前线程或函数内的代码修改,并据此进行优化(如循环内变量提升、指令重排等)。此时,若未使用 volatile 修饰,编译器可能生成错误的优化代码,导致程序行为异常。volatile 是 C/C++ 语言中的一个类型修饰符,用于告知编译器:该变量的值可能会在程序控制流之外被意外修改(如硬件寄存器、多线程共享变量或信号处理函数等),因此编译器不应对其进行激进的优化(如缓存到寄存器或消除冗余读取)。测试,因为 ARM 是弱内存模型,更容易复现问题。原创 2025-04-16 23:56:25 · 557 阅读 · 0 评论 -
C语言关键字、函数杂谈(1)
1、static关键字static关键的,是用来声明静态变量的。主要作用有两个:隐藏与隔离的作用(当同时编译多个文件)保持变量内容的持久性下面就这两个功能进行详解:(1)隐藏与隔离的作用(当同时编译多个文件): 上面已经阐述过,全局变量虽然属于静态存储方式,但并不是静态变量。全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,全局变量在各个源文件中都是有效的。 如果我们希望全局变量仅限于在本源文件中使用,在其他源文件中不能引用,也就是说限制其作用域只在定义该变量的源文件原创 2021-03-22 21:20:48 · 743 阅读 · 0 评论 -
C/C++ 之 内存管理
C/C++中的内存管理到底是什么样的呢? 网上的说法很多,分区、分段。这里将为大家详细讲解一下。原创 2021-03-22 20:51:58 · 256 阅读 · 0 评论 -
C 函数指针
C语言的函数指针?C语言、C++的结构体有哪些区别?C++的类与结构体有哪些区别?原创 2021-03-07 15:00:42 · 307 阅读 · 1 评论 -
C++何时调用构造函数,何时调用析构函数
前言原创 2021-03-05 20:01:37 · 10668 阅读 · 2 评论 -
C/C++中*和&的用法详解
C/C++中&和∗*∗的用法一直是非常让人头疼的难点,课本、博客上讲这些知识点一般都是分开讲其用法的,没有详细的总结,导致我在这方面的知识结构格外混乱。以下这篇文章系统、全面的讲解C/C++中的&和∗*∗。供大家参考~1. C语言中 1.1 ∗*∗乘法运算:x=y∗*∗z;乘法赋值运算:x∗*∗=y;相当于x=x∗*∗y注释:/∗*∗这里是你的注释∗*∗/指针的声...原创 2020-05-06 21:39:31 · 3686 阅读 · 0 评论