会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
bluehattt
博客园
首页
新随笔
联系
订阅
管理
2022年4月24日
放弃所谓“右移优化除法”行为
摘要: The Difference between Division and Arithmetic Right Shifting in C 你是否有听说过有符号数不能使用右移操作(>>)来代替除法? 这篇短文会向你证明它,并尝试向你解释为什么。当然,如果你没有听说过,那么从现在开始,记住它! Founda
阅读全文
posted @ 2022-04-24 16:54 cnwanglu
阅读(692)
评论(0)
推荐(0)
2022年4月5日
含糊不清的C语言符号扩展
摘要: 问题出在哪? 下面一段代码会输出什么呢? char c = 0xff; if (c == 0xff) printf("successful\n"); else printf("failed\n"); 答案是取决于不同的编译器设定: 当编译器将char识别为signed char时,该判断会失败。因为
阅读全文
posted @ 2022-04-05 12:25 cnwanglu
阅读(181)
评论(0)
推荐(0)
2022年4月4日
C语言标准的那些事
摘要: C语言的标准 我们在使用C语言编程时很少有人告诉我们C语言各个标准的情况,于是我们在看见一些函数标定支持的C标准(例如仅支持C99及以后),内心不会有什么波澜。 我们常见这些C标准:K&R C、ANSI C、ISO C、C89、C99、C11、C18。让我们补充点可能很少使用的知识吧。 什么是K
阅读全文
posted @ 2022-04-04 12:04 cnwanglu
阅读(1201)
评论(0)
推荐(1)
2022年3月22日
C语言的枚举类型——enum的优势和漏洞
摘要: 枚举类型的优势 枚举类型完全可被宏定义替代,类如 enum Furniture { DOOR = 1, DESK, LOCK, } 与下面的代码等效 #define DOOR 1 #define DESK 2 #define LOCK 3 那么我们如何在两种设计方法中选择呢?在我看来某些情况下使用e
阅读全文
posted @ 2022-03-22 22:31 cnwanglu
阅读(1752)
评论(0)
推荐(2)
2022年1月7日
红黑树及其在Linux内存管理中的应用详解
摘要: # 背景 普通的二叉查找树在极端情况下可退化成链表,此时的增删查效率比较低。平衡的二叉树(如AVL、红黑树等)能较好的解决这个问题。 本文首先介绍了红黑树的五个重要性质,然后详细介绍了红黑树重要的两个操作——插入和删除的原理。最后将红黑树与Linux中虚拟内存的管理进行结合,用代码展示了红黑树插入、
阅读全文
posted @ 2022-01-07 20:34 cnwanglu
阅读(2304)
评论(0)
推荐(1)
2021年10月28日
现代操作系统:原理与实现配套实验ChCore-03(1)
摘要: 邮箱:wanglu082@yeah.net QQ : 1052658906 欢迎交流~ 实验3加入用户进程的概念,使用Capability-object模式来管理系统资源和分配权限,开始慢慢地体现微内核地设计原则 。 本次实验内容比较多,所以暂时分三个部分吧,后面如果有变动再更改。 练习 2 请简要
阅读全文
posted @ 2021-10-28 10:47 cnwanglu
阅读(309)
评论(0)
推荐(0)
2021年10月17日
Linux串口设备的Canonical and noncanonical mode
摘要: Canonical and noncanonical mode 可能翻译为规范/非规范模式? 通过termios结构体的c_lflag成员来设置Canonical or noncanonical mode. 这两种模式是串口输入相关的配置。 Canonical模式中: 串口读取的单位是行,行定义为包
阅读全文
posted @ 2021-10-17 12:31 cnwanglu
阅读(571)
评论(0)
推荐(0)
2021年9月30日
现代操作系统:原理与实现配套实验ChCore-lab-02
摘要: 现代操作系统:原理与实现配套实验ChCore-02 邮箱:wanglu082@yeah.net 欢迎交流~ 问题 1 请简单解释,在哪个文件或代码段中指定了 ChCore 物理内存布局。你可以从两个方面回答这个问题: 编译阶段和运行时阶段。 ChCore的物理内存布局可分为以下几部分: 保留(0x0
阅读全文
posted @ 2021-09-30 13:55 cnwanglu
阅读(1743)
评论(0)
推荐(1)
2021年9月29日
在嵌入式上使用ldd命令查看链接的库文件
摘要: 使用动态库交叉编译生成可执行程序时,经常使用ldd指令来检查可执行程序链接的动态库是否定位到。 而问题是很多嵌入式Linux本身都是不带ldd指令的,所以想办法搞一个ldd上去是很有必要的! ldd与我们常用的ls、cd不用,ldd只是一个脚本,而ls、cd..都是可执行程序。 这就意味着我们不需要
阅读全文
posted @ 2021-09-29 20:24 cnwanglu
阅读(760)
评论(0)
推荐(0)
2021年9月26日
【转】C代码使用链接脚本定义的变量
摘要: 转载自:http://bbs.100ask.org/forum.php?mod=viewthread&tid=16231 在链接脚本中,经常有这样的代码: SECTIONS { ..... . = ALIGN(4); .rodata : { *(.rodata) } . = ALIGN(4); .d
阅读全文
posted @ 2021-09-26 15:13 cnwanglu
阅读(344)
评论(0)
推荐(0)
下一页
公告