- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 【C语言总结】重读C语言
本文通过阅读了runoob上的C语言教程重新学习了一遍C语言,并且做了一些笔记,主要目的是自我的学习,后续有新的知识会持续更新
2023-08-02 23:50:18 198
原创 关于在Ubuntu20.04中安装python-pyqt4的问题
上周,刚做完编译原理实验三,其中需要用到python的Qt库,但是很不幸,Ubuntu20.04已经移除了对Qt库的支持,也就是我们无法使用如下命令去下载pyqt4了:sudo apt-get install python-pyqt4博主也是上网了找了很多解决办法,最后在Linux讨论网站里找到了解决办法并将问题解决了,解决方法如下:首先,在Linux终端下输入:sudo add-apt-repository ppa:rock-core/qt4sudo apt-get update
2022-04-26 13:35:34 4554 3
原创 c语言中一个程序的运行过程
今天面试海康威视嵌入式开发的时候,面试官问了我一个问题,一个程序是如何变成可执行程序的,记得学过,但是没回答出来,今天回来翻了csapp的课本,找到了答案记录一下基本过程(以hello.c举例):①预处理阶段:预处理器(cpp)根据以字符#开头的命令,修改原始的C程序。比如hello.c中第一行的#include<stdio.h>命令就告诉预处理器读取系统头文件stdio.h的内容,并把它直接插入程序文本中。结果就得到了另一个C程序,通常是以.i作为文件拓展名生成.i预处理文
2022-04-26 00:08:09 406
原创 c嵌入式开发——进程与线程的差别以及线程中共享的资源和私有的资源
一、进程与线程的差别首先来看看进程与线程的定义进程:是资源分配的基本单位,是程序执行的一次实例线程:线程是程序执行时的最小单位,是进程的一个执行流,是cpu调度和分配的基本单位,一个进程可以由多个线程组成区别:①进程是资源分配的最小单位,线程是程序执行的最小单位②进程有自己独立的地址空间(虚拟地址空间),每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵,而线程是共享进程中的数据的,使用相同的地址空间,因此cpu切换一个线程的花费远比进
2022-04-25 22:32:35 602
原创 重载与重写的区别
重写:1、子类对父类方法的重写,形参不变,返回值可以不相同(java7及以上可以不相同但是必须是父类返回值的派生类)。2、重写方法不能抛出新的异常或比父类更广泛的异常,例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exception 异常,因为 Exception 是 IOException 的父类。3、访问权限不能比父类中被重写的方法的访问权限更低,例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protec
2022-03-07 19:39:13 87
转载 Java学习总结(一):关于工厂模式
首先是一个实现例子的贴图:思想:就拿上图举个例,首先,我们创建一个shape接口,这个接口里定义了一个抽象方法draw(),于是,我们创建了三个shape接口的子类Circle,Square,Rectangel,根据自身属性的不同,去实现这个shape接口中的抽象方法draw()。接着,我们编写一个shapeFactory类,相当于构造一个工厂,用户可以通过这个类去调用实现shape接口的不同类型的具体类,至于具体调用规则是什么,用户可以通过输入参数的不同来选择,是我们进行选择地方,最后的这个Fa.
2021-07-13 18:13:34 151
原创 软件构造中关于接口的学习
在进行软件构造实验二的过程中,接触了一种新的数据类型,接口,它只会在内部对方法进行参数声明和功能声明,但不给出具体的实验方法,由继承这个接口的类去实现。有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。接口(interface)是抽象方法和常量值的定义的集合。从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。接口定义举例public interface Runner.
2021-07-06 21:04:40 173
原创 软件构造实验中git fetch和git pull
在进行软件构造实验中,对于git fetch和git pull产生了疑惑,以下是我上网搜了资料后的总结1、简单概括先用一张图来理一下git fetch和git pull的概念:可以简单的概括为:git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。而git pull则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。下面我们来详细了解一下git.
2021-07-06 21:00:16 81
原创 Object数组
1. 数组的协变性 正常来说,相比于泛型,数组类型是一种协变类型,即如果类S是类F的子类,那么,S[]类型的数组是F[]类型数组的子类,也即从类型S[]转换到F[]是隐式转换的,那么由于Object是所有类型的父类,因此任何数组转换到Object数组都是一定成功的。 关于Object数组转换到String数组有一个地方需要注意:2. Object数组与String数组的转换测试代码块2-1运行时会报错:java.lang.ClassCastException: [Ljava.la
2021-07-05 21:00:38 350
原创 哈工大软件构造实验三关于在一个类多个方法中使用同一个Scanner流产生的问题
在编写软件构造实验三的过程中,碰到了一个问题,就是我在一个类Main主函数中定义了一个Scanner流去读取控制台的输入,然后再在这个类其他方法中再重新定义一个Scanner流去读入数据,读完后回到主函数再用主函数的Scanner流去读,此时,发现,这与我顺序输入的结果不相同。下面给出例子:代码(Java)预期代码可满足下面的功能:输入三个字符串,每输入一个字符串后,立即打印它。代码0(从文件输入)Input.txt代码1(与代码1相同,只不过改为从命令行输入)Inp
2021-07-05 20:47:33 264
原创 哈工大软件构造实验三关于Set,Map,List中内容比较的问题
在编写哈工大软件构造实验三的过程中,我发现所有的继承Collection接口的接口,例如Set,Map,List,Iterator接口中关于contains和equals方法在比较的时候都是对引用的比较,也就是对于这些类里保存的对象,就算是内容完全相同,但是不指向同样的地址,就算它们不相同,这就造成了一个困扰,假设事先已经将一个元素存进这些类中,当我们想判断我们控制台输入的元素是否包含在这个所给类里面的时候,不管内容是否相同,只要引用不同就会判断为不相等。下面看个例子。上述代码的输出为:程序
2021-07-05 20:25:41 138
原创 哈工大深入理解计算机系统大作业
链接:https://pan.baidu.com/s/1J-TDvkZpGozNsKQ1Jl_jlw提取码:1234复制这段内容后打开百度网盘手机App,操作更方便哦
2021-06-25 11:09:58 109
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人