C/C++
文章平均质量分 90
大哥您好
这个作者很懒,什么都没留下…
展开
-
从零构建GCC编译工具链简记
文章目录前言参考Buildroot网上资料前置准备编译流程binutilsgmp/mpfr/mpcgcc第一阶段Linux kernel headerc librarygcc第二阶段gdb后记前言由于种种原因,最近有个需求,需要在Windows下用gcc交叉编译,但arch不是常见的arm,网上找不到现成的,刚好又在看龙书《编译原理》,于是索性自己尝试编译一个gcc。本文仅对流程进行简要记录,方便自己以后回溯,不会提及太多细节以及特定arch相关的描述。参考本人小白,一开始天真的以为只需要下载一个原创 2021-10-25 16:25:39 · 2619 阅读 · 0 评论 -
是谁关闭了Linux抢占,而抢占又关闭了谁?
前言本人的目的在于解惑,把读者从糊里糊涂的状态解救出来。本文对比分析:preempt_disable() local_irq_disable()/local_irq_save(flags) spin_lock() spin_lock_irq()/spin_lock_irqsave(lock, flags)哪些关闭了抢占?另外,再说清楚,抢占又关闭了谁。首先,把这几个API...转载 2019-12-12 15:20:54 · 204 阅读 · 0 评论 -
c++中的 extern "C"
原文地址 http://songpengfei.iteye.com/blog/1100239原文比如说你用C 开发了一个DLL 库,为了能够让C ++语言也能够调用你的DLL 输出(Export) 的函数,你需要用extern "C" 来强制编译器不要修改你的函数名。通常,在C 语言的头文件中经常可以看到类似下面这种转载 2016-04-20 23:43:32 · 488 阅读 · 0 评论 -
位运算——异或“∧”
概念 异或运算符”∧”也称XOR运算符。它的规则是若参加运算的两个二进位同号,则结果为0(假);异号则为1(真)。即 0∧0=0,0∧1=1, 1^0=1,1∧1=0。应用1. 使特定位翻转 比如:01111010,想使其低4位翻转,即1变为0,0变为1。可以将它与00001111进行∧运算。2. 实现两个值的交换 通过按位异或运算,可以...原创 2019-02-01 13:47:53 · 3154 阅读 · 0 评论