有分词处理,语义分析,语法分析,词法分析,错误提示等功能
2022-12-09 14:13:17 109KB 编译器
1
BCOpenMIPS 跟着《自己动手写 CPU》书上写的 OpenMIPS CPU。
2022-08-13 23:01:03 71KB Verilog
1
本系列文章来自 Building Your Own Plugin Framework,主要内容是讨论使用 C/C++ 语言开发跨平台的插件框架所需要的架构、开发方法以及部署。我们将从分析现有插件/组件系统开始,一步步深入了解如何开发插件框架,以及很多需要注意的问题,比如二进制兼容性等,在文章的最后,我们将给出一个比较合理的解决方案。 在本系列文章中,我们将开发一套具有工业强度的插件框架,可以运行在 Windows、Linux、OS X 等主流操作系统之上,并且可以很容易地移植到其他操作系统平台。这个插件框架相对于其他已有的系统具有一些独特的属性,并且灵活易用,兼顾 C 和 C++,提供多种部署方式(动态库和静态库)。
2022-08-09 17:52:30 990KB C++ 插件框架
1
从零开始自己动手写区块链
2022-07-20 18:07:37 166.55MB 区块链
工程结构说明: 第一周 双任务切换操作系统的实现 C1.04 工程创建。标志变量反转的逻辑仪观测标志变量反转的逻辑仪观测 C1.07 内核编程实践。CPU寄存器数据的保护(压栈)与恢复(出栈),调试技术的应用。简单汇编代码的编写 C2.01 简单的任务定义实现。包括任务函数、任务结构体、任务栈的定义 C2.02 双任务切换的具体实现。应对任务切换过程中现场保护与现场恢复的实质内涵做深入思考;在各任务函数中调用任务调度函数来实现下一任务的选择及任务切换 C2.03 双任务时间片运行原理。通过在SysTick定时器(《Cortex-M3权威指南》第8章)的周期性定时溢出中断服务函数中调用任务调度函数实现 C2.04 双任务延时原理与空闲任务。通过基于SysTick定时器(时基单元提供者)的软定时器实现延时 第二周 核心数据结构及任务调度管理 C3.01 临界区保护。采用关闭中断的方式保护任务与任务之间、任务与中断之间的共享资源 C3.02 调度锁保护。设置一个任务调度锁计数器变量schedLockCount,若其值大于0,则任务调度函数是被禁止的 C3.03 位图数据结构
2022-06-21 22:00:57 4.93MB 嵌入式操作系统
自己动手写编译器、链接器
2022-06-04 09:39:32 51.75MB 编译器 链接器
1
自己动手写编译器链接器。一门好的编译链接器开发必看的书。
2022-06-04 09:38:21 36.1MB 自己动手写 编译器链接器
1
自己动手写操作系统》 随书附送的光盘 ========== 关于本光盘 ========== \Tinix: 书中所附代码 其中很多目录中除了包含源代码(*.asm, *.inc, *.c, *.h)外,还有这样一些文件: boot.bin 引导扇区(Boot Sector),可通过 FloppyWriter 写入软盘(或软盘映像)。 loader.bin LOADER,直接拷贝至软盘(或软盘映像)根目录。 kernel.bin 内核(Kernel),直接拷贝至软盘(或软盘映像)根目录。 bochsrc.bxrc Bochs 配置文件,如果系统中安装了 Bochs-2.1.1 可直接双击之运行。其它细节请见书第 2.7 节。 godbg.bat 调试时可使用此批处理文件。它假设 Bochs-2.1.1 安装在 D:\Program Files\Bochs-2.1.1\ 中。 TINIX.IMG 软盘映像。可直接通过 Bochs 或者 Virtual PC 运行。 *.com 可以在 DOS (必须为纯 DOS) 下运行的文件。 \Tools: 一些小工具 (在 VC6 下编译通过) DescParser 描述符分析器,输入描述符的值,可以得出起基址、界限、属性等信息。 ELFParser ELF 文件分析器,可以列出一个 ELF 文件的 ELF Header、 Program Header、Section Header 等信息。 FloppyWriter 用以写引导扇区,支持软盘和软盘映像。 KrnlChecker 用以检查一个 Tinix 内核加载后位置是否正确。
2022-06-04 09:15:38 1.58MB 操作系统 光盘
1
自己动手写CPU,完整三级目录,雷思磊著,Verilog HDL ,OpenMIPS , SOPC ,μC/OS-II
2022-05-28 15:19:24 104.91MB cpu 雷思磊 MIPS
1
自己动手写CPU的配套代码
2022-05-23 22:12:26 82.91MB CPU verilog
1