分类: 学习记录

23 篇文章

thumbnail
C语言实现双向链表
之前一直写的都是Java/C#,初学几天C语言,先来实现一个简单的链表试试。 1.定义结构体 typedef struct LinkedListNodeStruct { struct LinkedListNodeStruct *next, …
thumbnail
面向对象的七大原则
说到面向对象,很多人应该都想到了封装、继承和多态,这是面向对象的三大特征。 但是,面向对象还有七大原则,如果你不了解的话,其实也并不影响你正常开发,但是有可能会造成不可预料的后果。掌握面向对象的七大原则,可以帮助你更好的设计规划,提高代码的…
thumbnail
单周期MIPS 32位CPU设计及编译器设计
使用PC端阅读本文章以获得最佳阅读效果。 去年我也在这里发过一次单周期16位的CPU设计,只是简单地实现了几条指令,用if else写了一个能用的编译器,那这次就参照MIPS的架构,尽量还原一下试试。 上期传送门:如何制作一个简易单周期16…
thumbnail
尝试一下用Selenium爬取数据
听说Python很适合写爬虫,于是我就花了两个晚上稍微学了学Python,现在差不多入门了,就先写个简单的爬虫试试,爬一下B站的热榜。 这里用到了selenium和xlwt两个库,主要是用于模拟浏览器和写入电子表。 因为传统获取网页源代码的…
Android开发 读写外部储存
今天在写Android的时候突然发现APP不能向自身的Android/data或内部文件夹写入文件。 按理来说,在申请了读写储存空间权限的情况下我们也只能读写本应用的文件夹,但我在复制文件的时候出现了一些小问题。 我试着复制文件到Andro…
Java多线程 等待所有子线程执行完毕
有时候在开发中,可能会遇到需要启动多个子线程的情况,并且这时候我们需要等待所有子线程执行完毕才能继续向下。 Thread配合CountDownLatch使用,可以轻松达到上述效果。 CountDownLatch像是一个倒计时器,你可以为它设…
thumbnail
Material Design 3 初体验
Material 3很久之前就发布了,最近才了解到,感觉和Material 2完全不同,新建个项目来感受一下: 这个版本最大的特点就是圆角,几乎所有组件都有圆角,看上去非常圆润。(主题色还会随系统壁纸颜色而改变) 使用Material 3主…
thumbnail
为做好的CPU写一个编译器
上一篇记录了一次CPU的制作过程:如何制作一个简易16位CPU – LovelyCat的小站 于是我又试着写了一个编译器来实现真正的可编程,下面只展示一些核心代码。 由于编程语言语法简单,编译器的逻辑也很简单,无数if for套上去就是了。…
thumbnail
4位符号加减器
问题 继续上次的问题再拓展一下,为什么不做一个可加可减的计算器呢? 1.如何识别加减法?2.正数加负数、正数减负数,负数加负数、负数减负数等怎么判断最终符号、计算结果。 设计思路 第一个问题很简单,只需要用0代替加法用1代替减法就行了。 初…