C
文章平均质量分 83
C
执假以为真
Learning, Coding, Writing
展开
-
循环展开与Duff Device
本文介绍了Duff Device和循环展开。原创 2023-12-31 22:30:57 · 1016 阅读 · 0 评论 -
谈谈Cache Line
本文介绍了cache line相关的知识。转载 2023-12-31 21:04:04 · 264 阅读 · 0 评论 -
从“循环展开”谈起
说明:本文转载自微信公众号“原点技术”。主要讲解了循环展开及其背后的一些原理以及计算机基础理论知识。转载 2023-12-31 09:58:15 · 597 阅读 · 0 评论 -
自动获取结构体内部成员变量的位置偏移
已知一个结构体的名称和该结构体内的一个成员变量的名称,如何得到该成员变量在该结构体内的位置偏移?原创 2022-06-11 22:29:04 · 754 阅读 · 0 评论 -
《Expert C Programming》(C专家编程)读书笔记
C专家编程笔记第一章 C: 穿越时空的迷雾C 与 UNIX 的历史1969: Multics 工程失败(通用电气、麻省理工、贝尔实验室)1969: 一个简易的新型操作系统诞生 (用PDP-7汇编编写)1970: 更名为 UNIX ,并采用 PDP-11 汇编重写 (所以UNIX系统时间从1970-01-01:00:00:00 算起)1970: Dennis Ritchie 利用PDP-11的强大性能,创立了 “New B” 语言,即 C 的前身1972: 可能是3月,更名为原创 2022-05-03 21:57:00 · 1976 阅读 · 2 评论 -
C指针总结
本文深入剖析数组指针、函数指针、以及函数、数组和指针的深度结合,最后一针见血地指出多级指针的本质。原创 2022-02-06 22:17:09 · 1103 阅读 · 0 评论 -
返回函数指针的函数与signal函数原型分析
如果一个函数返回的是一个函数指针,那么这个函数的原型应该怎么写呢?原创 2021-06-17 23:55:16 · 374 阅读 · 3 评论 -
多级指针存在的意义
多级指针存在的意义原创 2021-05-22 13:30:08 · 1612 阅读 · 0 评论 -
C语言中的setjmp和longjmp
在C语言中,goto语句只能在一个函数内实现跳转,而不能在函数间进行跳转。如果希望在函数间跳转,可以使用 setjmp 和 longjmp 函数。Linux 会把进程的上下文保存在 task_struct 结构体中,切换时直接恢复。而 setjmp 和 longjmp 的原理也差不多: 第一次调用setjmp时,保存该函数内的上下文;调用longjmp时,跳转到setjmp处再调用setjmp来...原创 2020-01-29 10:46:34 · 1231 阅读 · 0 评论 -
预编译头简介
C/C++程序编译时的预编译头,也叫“被预编译的头文件”,英文名是“precompiled header”. 使用预编译头,是一种提高编译器编译速度的方法。举个例子,1.cpp和2.cpp都包含了util.h;在编译1.cpp的时候,编译器需要把util.h和1.cpp结合起来解析一遍,而在编译2.cpp的时候,编译器又需要将util.h和2.cpp结合起头来再解析一遍。这其中就会把util.h解...原创 2019-04-28 17:48:55 · 1364 阅读 · 0 评论 -
C语言中的volatile关键字
转载自: https://blog.csdn.net/tigerjibo/article/details/7427366一.前言1.编译器优化介绍由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度...转载 2018-09-02 17:41:20 · 306 阅读 · 0 评论