c语言
文章平均质量分 91
快乐的学习
越努力、越幸运
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
开源相关术语及提交commit关键字总结
本文介绍了开源相关的核心术语与概念,包括基本术语(如Open Source、Fork、Pull Request)、分支维护策略(如LTS、stable)、常见工具(如GitHub Actions、Jenkins)、许可证类型(如GPL、MIT)以及版本管理(如tag、release)。重点解析了Git相关操作,包括代码溯源(bisect、blame)和标准commit格式规范,提供常用动作词(Add/Fix/Update)的示例。内容涵盖开源项目开发全流程的关键知识点,可作为快速参考指南。原创 2025-11-26 07:09:07 · 1148 阅读 · 0 评论 -
Linux下进程通信原理图(详细)总结附实例代码快速掌握
每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信机制。速度慢,容量有限,只有父子进程能通讯任何进程间都能通讯,但速度慢容量受到系统限制,且要注意第一次读的时候,要考虑上一次没有读完数据的问题不能传递复杂消息,只能用来同步。原创 2024-10-21 23:03:45 · 1384 阅读 · 0 评论 -
C语言中宏定义中#和##使用详解
本文主要讲解C语言中宏定义使用#和##的场景,通过实例方便大家快速掌握。原创 2024-01-18 22:59:11 · 1290 阅读 · 0 评论 -
C语言内联汇编(详细)介绍附实例快速掌握
使用内联汇编主要目的是为了提高效率,同时还是为了实现 C 语言无法实现的部分。asm("汇编语句": 输出部分: 输入部分: 会被修改的部分);asmvolatile(“汇编语句”: 输出部分: 输入部分: 会被修改的部分);各部分使用“:”格开,汇编语句必不可少,其他三部分可选,如果使用了后面的部分,而前面部分为空,也需要用“:”格开,相应部分内容为空。第一部分是汇编语句,其中 “asm” 是内联汇编语句关键词。原创 2023-10-02 17:46:30 · 1962 阅读 · 0 评论 -
c语言函数指针、指针数组、二级指针、结构体、联合体、枚举实例解析(一文快速掌握)
本文主要讲解函数指针及用法,同时实例讲解结构体和枚举。函数指针是指向函数的指针变量。因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。//typedef可以使用stFunc_t去申明一个函数指针//成员申明一个函数指针对结构体进行赋值_CleanShutDownStateFuncs,//将最开始的指针数组传入(每个成员指向设置的函数 )原创 2023-02-25 22:47:47 · 1160 阅读 · 0 评论 -
ARM全汇编指令(详细)整理附实例快速掌握
本文主要整理了arm常用的汇编指令,同时通过实例进一步讲述语句的用法。通用寄存器是一组用于存储数据和地址的寄存器。在 ARM 架构的不同版本中,这些寄存器的数量和命名有所不同。在 ARMv7 和之前的版本中,有 16 个通用寄存器,编号从 R0 到 R15。R0 到 R14 用于存储数据和地址。R15 通常被称为程序计数器(PC),用于存储下一条指令的地址。在 ARMv8 和之后的版本中,有 31 个通用寄存器,编号从 X0 到 X30。X0 到 X28 用于存储数据和地址。原创 2023-02-25 20:55:38 · 31422 阅读 · 0 评论 -
c语言attribute关键字参数(详细)总结附示例快速掌握
GNU C编译器增加了一个__attribute__ 关键字用来声明一个函数、变量或类型的特殊属性。申明这些属性主要用途就是指导编译程序进行特定方面的优化或代码检查。attribute 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。关键字__attribute__ 也可以对结构体(struct )或共用体(union )进行属性设置。原创 2023-01-19 23:31:03 · 14322 阅读 · 0 评论 -
c语言gcc编译常见报错及解决方法整理
本文主要是整理c程序编译过程的常见报错的解决方法,方便大家及时解决问题。^~~~定义一个数组 a[n],说明该数组有n个元素,那么这个数组中元素最大的下标是 n–1;而元素 a[i] 表示数组 a 中第 i+1 个元素,数组修改为如下表示即可。关于警告Warning:Implicit declaration of function “xxx” is invalid in C99!1.函数的声明放在头文件(H文件);2.函数定义在源文件(C文件);3.函数的名称是否一致(大小写要一致);原创 2023-01-19 18:20:50 · 8221 阅读 · 0 评论 -
c语言volatile关键字(详细)总结附示例讲解
volatile属于C语言的关键字。开发者告诉编译器该变量是易变的,无非就是希望编译器去注意该变量的状态,时刻注意该变量是易变的,让编译器不再去优化被volatile修饰的变量的操作,每次读取该变量的值都重新从内存中读取,但是volatile并不能做内存屏障的功能,想使用内存屏障请使用平台相关的屏障指令,比如GCC提供了一个内联asm volatile (“” : : : “memory”);的编译器屏障。原创 2023-01-19 09:58:10 · 4227 阅读 · 0 评论 -
C语言常用函数详细总结附示例(快速掌握)
本文主要讲解c语言编程中常用的函数的语法和使用示例,主要有如下函数strncpy、strcmp、memset、strlen、memcp、ioremap、mmap。strcpy函数的作用是把含有转义字符\0即空字符作为结束符,然后把src该字符串复制到dest,且返回值的类型为“char*”;strcpy是“string copy”(字符串复制)的缩写。src字符串赋值给dest时,遇到转义字符\0即空字符后面便不再继续输出。如果转义字符在开始定义的时候设置给dest后面也是一样不再继续输出strcpy只原创 2022-06-14 14:47:33 · 8137 阅读 · 0 评论 -
C语言中指针、数组作为作为函数参数使用(总结)附详细示例
本文主要讲述指针、数组和数组指针等做为函数参数进行使用,最后通过具体示例进行快速理解,希望对大家有所帮助。一维数组作为参数传参,直接将地址传进来进行使用。相对于一维数组,二维数组要明确列的值,具体有下面两种类型:首先指针即存放一个地址,指向的这个地址的类型要根据具体数据进行声明;如:以指针数组为例进行解析:二级指针相对于一级指针的不同是,二级指针将一级指针的地址再存放在定义的二级指针中:使用基本与一级指针类似,用于多级函数传参使用:注意:当申明viod ** 类型的二级指针时,如果要输出,原创 2022-06-13 19:17:22 · 8036 阅读 · 1 评论 -
C语言常见数据类型字节数和打印格式总结(快速掌握)
本文主要介绍C语言常见数据类型字节数、不同类型输出格式和c程序中不同类型的简写总结。c语言中,常见数据类型的字节数和机器字长及编译器有关系,所以,int、long int、short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):二、字节数对比数据类型 \ 编译器位数16位32位64位char1个字节1个字节1个字节char* (即指针,一个地址所占位数)2个字节4个字节8个字节short int2个字节2个字节2个字原创 2022-06-13 10:01:28 · 4070 阅读 · 0 评论
分享