学习记录
文章平均质量分 71
屁啦啦小魔仙
南京工程学院学生
展开
-
6.3学习记录
今天下午差不多花了3个小时左右学习了Linuxc中关于数组和指针的内容。由于内容比较难懂,我也只是学到了一些皮毛,以下列出的知识点算是今天的一些小收获。 1.指针的类型和指针所指向的类型,这两点是有区别的,至于区别是什么,我也没弄懂现在,今后搞懂了会做进一步补充。 2.常量指针和指针常量的区别。const char*p;定义了一个常量指针;而char *const p=a;则是定义了一原创 2016-06-03 22:17:59 · 242 阅读 · 0 评论 -
操作系统—进程相关知识
相关进程及其关系: 在多道程序设计的系统中,存在着若干进程,这些进程,他们同时运行,是“并发进程”。这些并发进程中,有的进程之间可能是没有任何关系的,它们不共享任何的系统资源,因此这些进程互为无关进程。无关的进程之间,它们的运行是独立的,一个进程的运行不会影响另一个进程;但在并发进程中,有些进程相互之间是有联系的。例如,两个进程在运行中都需要申请打印机,由于打印机是独享设备(独占设备),那么原创 2016-09-21 19:15:46 · 402 阅读 · 0 评论 -
优先读者/写者问题—操作系统
所谓谁谁优先的问题,我认为主要体现在以下两点中:1.当低优先级进程(线程)获得临界区时,高优先级进程能很快从低优先级的进程中抢得访问权。2.当高优先级的进程获得临界区访问权时,低优先级得等到高优先级全部访问完的空闲时间才能抢得访问权。这两点中, 第一点一定得要,不然无法体现出优先的意思 。第二点可以根据程序的需要决定。typedef int Sema原创 2016-09-28 19:08:37 · 587 阅读 · 0 评论 -
指令系统及汇编语言程序设计
相对基址变址寻址方式形成操作数或指令地址的方式,称为寻址方式。寻址方式分为两类: 指令寻址方式、操作数寻址方式操作数的寻址方式: 形成操作数的有效地址(EA)的方法。在8086/8088中,操作数在内存中的有效地址是段的偏移地址。8086寻址方式分为以下几种:立即数寻址方式 :操作数作为指令的一部分存放在操作码之后的内存单元中寄存器寻址方式:操作数存放在CPU的原创 2016-09-27 19:09:44 · 866 阅读 · 0 评论 -
生产者和消费者问题
转自 orientalcherry生产者-消费者(producer-consumer)问题,也称作有界缓冲区(bounded-buffer)问题,两个进程共享一个公共的固定大小的缓冲区。其中一个是生产者,用于将消息放入缓冲区;另外一个是消费者,用于从缓冲区中取出消息。问题出现在当缓冲区已经满了,而此时生产者还想向其中放入一个新的数据项的情形,其解决方法是让生产者此时进行休眠,等待消费者从缓转载 2016-09-25 20:00:20 · 725 阅读 · 0 评论 -
寄存器
其实那些数据段,代码段,都是人自己定义的,CPU可不会这么想,它执行代码的时候,它只跟着CS:IP走,CS:IP指向哪里,他就认为哪里是代码,并执行它。所以如果想让CPU执行我们放在内存中的代码,那么,请让CS:IP指向他即可。8086CPU存放是按小端存放的规则来的,即字的高位字节存放在内存的髙地址中,字的低位字节存放在内存的低位地址中。下面我们来看DS和转载 2016-09-24 18:51:21 · 577 阅读 · 0 评论 -
《数据结构和算法分析—C语言描述》读书笔记
第一章主要讲的是数学知识的复习,指数,级数什么的,最后,浅层次的谈了一下递归。 当一个函数用它自己来定义时就称为是递归(recursive)的,C语言是允许递归的。但重要的是要记住,C提供的仅仅是遵循递归思想的一种企图。不是所有的数学递归函数都能有效地或者正确地由C的递归模拟来实现。 举个递归的小例子: int x F(int X) { if(0 ==原创 2016-09-23 20:14:13 · 4171 阅读 · 0 评论 -
数据结构—单链表双链表9.18
单链表结点类Node声明如下,成员变量data表示结点的数据域,保存数据元素,数据类型为T,next表示结点的指针域,保存后继结点的地址。文件名为Node.h template class Node { public; T data; Node*next; Node() { this原创 2016-09-18 18:57:06 · 347 阅读 · 0 评论 -
uc/OS-II读书笔记
今天回家比较晚了,没什么积累就把之前的读书笔记弄上来了,争取下不为例的吧!操作系统是一种系统软件,它在计算机硬件与计算机应用程序之间,在操作系统之上的是系统软件,一个完整的计算机系统是由硬件和软件两部分组成的,硬件是所有软件运行的物质基础,软件能充分发挥硬件的潜能和扩充硬件的功能,两者互相依存,缺一不可。在计算机系统中软件和硬件是分层次的,下层是上层运行的基础,上层是下层功能的扩充;下层对原创 2016-09-14 17:00:44 · 323 阅读 · 0 评论 -
uc/OS-II读书笔记二
第五章小结 嵌入式系统中的各个任务是为同一个大的任务服务的子任务,它们不可避免地要共同使用一些共享资源,并且在处理一些需要多个任务共同协作来完成的工作时,还需要相互的支持和限制,因此,对于一个完善的多任务操作系统来说,系统必须具有完备的同步和通信机制。 在各任务之间必须建立一些制约关系。其中一种制约关系叫做直接制约关系,另一种制约关系叫做间接制约关系。直接制约关系源于任务之间的合作。间原创 2016-09-15 22:15:04 · 481 阅读 · 0 评论 -
TCP/IP协议
在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。但是简单的连到一起是远远不够的,就好像语言不同的两个人互相见了面原创 2016-10-01 21:21:47 · 239 阅读 · 0 评论 -
Linux的shell提取文件名和目录名的方法
本文转载自 ljianhui。很多时候在使用Linux的shell时,我们都需要对文件名或目录名进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等。例如,从路径/dir1/dir2/file.txt中提取也文件名file.txt,提取出目录/dir1/dir2,提取出文件后缀txt等。下面介绍两种常用的方法来进行相关的操作。一、使转载 2016-10-02 17:19:36 · 352 阅读 · 0 评论 -
C++对C的升级
1.声明和定义我们在c语言中,通常把变量的声明放在文件开头,即所有要用到的变量统一定义,而在c++中,我们可以把变量的定义放在快要用到的时候,例如,for语句,在c中我们是int i = 3;for(i = 0; i {}而在c++中,我们可以for(int i = 0;i 2.register 关键字的升级在C语言中,register的作用是修饰一个变量,该变量经常原创 2017-02-07 09:34:39 · 311 阅读 · 0 评论 -
算法-连接两条排序的链表
之前在牛客网上面做的题目,感觉对自己很有帮助,而且以后面试可能会用到,整理了两种方法,递归的和非递归的,同时也是对代码再一次巩固了。ok,第一种,用递归实现!class Solution{ ListNode * Merge(ListNode* pHead1, ListNode *pHead2) { if (pHead1 == NULL) //如果pHead1原创 2017-08-20 21:05:53 · 310 阅读 · 0 评论 -
Ubuntu R语言 install.packages出错
刚捣鼓完小程序,最近又踏上了R语言的学习。。我是真的很闲吧自己买了个腾讯云的服务器,用的ubuntu的系统,教程在W3C上面学习,但是在实际过程中发现有点Package本身不包括需要手动安装,下面列举几个碰到的问题。1.plotrix这个包的问题是出在我开始的R版本是2开头的,这个包不支持,所以我就更新了一下R的版本,具体操作如下版本更新后再install.packages("p...原创 2019-07-10 11:03:47 · 1604 阅读 · 0 评论 -
pwn波形和占空比
今天做小车学到的两个知识点,感觉蛮重要的,整理一下。PWM就是脉冲宽度调制,也就是占空比可变的脉冲波形.脉冲宽度调制是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF原创 2016-09-20 20:16:01 · 7389 阅读 · 0 评论 -
Pentium的相关知识
Pentium有三种主要工作方式:一种叫实地址方式;另一种叫保护虚拟地址方式;还有一种叫虚拟8086方式。 Pentium的原理结构: 1.总线接口部件 2.U流水线和V流水线 3.数据Cache 4.代码Cache 5.指令预取部件 6.指令译码器 7.控制ROM 8.分支目标缓冲器BTB 9.控制部件 10.浮点处理部件FPU原创 2016-09-22 19:34:04 · 1675 阅读 · 0 评论 -
6.4学习记录
因为最近在看的一本书叫《高质量前入式LinuxC编程》,所以大部分内容是直接借鉴的。以下为6.4的学习记录。 1.数据类型这一章中,变量和常量的区分。局部变量和全局变量的区分 2.基本内置类型。有整形,实型,构造类型,指针类型,枚举类型,void类型。同时各种不同类型大小,数的范围,所占字节数。 3声明与定义:int i;extern int i;同时static与extern的原创 2016-06-04 22:33:34 · 5574 阅读 · 0 评论 -
6.5学习记录
今天主要学习的是LinuxC中内存管理的部分,以为为学习的知识点 1.未初始化的全局变量(.bss段)以及初始化的全局变量(.data段) 2.栈(stack)以及堆(heap)。这一点内容在本学期的数据结构中也是很重要的部分,指针在里面也有很多知识点,栈当中存放的顺序是先进后出,不过堆和数据结构的队列应该不是同一块的内容,队列是先进先出,堆是灵活的一种内存。在堆中有以下几种函数:(1原创 2016-06-05 15:40:57 · 266 阅读 · 0 评论 -
7.9学习问题整理
问题(1):可重入函数与不可重入函数满足下列条件的函数是不可重入的:1.函数体内使用了静态的数据结构2.函数体内调用了malloc()或者free()函数3.函数体内调用了标准I/O函数可重入函数:可以由多于一个任务并发使用,而不必担心数据错误,相反,不可重入函数不能由超过一个任务所共享,除非能确定函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。可重入函数可以在任意原创 2016-07-09 20:18:20 · 289 阅读 · 0 评论 -
0710学习记录
今天学了c语言的相关概述以及C语言中的数据类型,全局变量,局部变量等。首先c语言的标准:k&RC / C89 / C99 /C11等,关于每一个标准的不同我会在最近几天进行补充。C语言的特点:(1).C语言具有出色的可移植性,能在多种不同体系结构的软、硬件平台上运行。 (2).C语言具有简洁紧凑,使用灵活的语法机制,并能直接访问硬件原创 2016-07-10 20:48:16 · 282 阅读 · 0 评论 -
0711学习记录
今天自习了一天,解决了一些问题,扫清了一些盲点,文中有一部分是百度的结果,但也算是自己的收获,。第一是进程和线程的含义以及他们之间的关系:进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。通常在一个进程中可以包含若干个线程,它们可原创 2016-07-11 16:27:32 · 304 阅读 · 0 评论 -
0722学习记录(预处理和关键字)
register:作用是请求编译器将值尽可能保存在cpu内部寄存器中,这样将省去从内存抓取数据的时间,增快程序的运行效率。但是为什么是尽可能呢,因为寄存器的数量是有限的,我们不能将每个变量都用register来声明,一般用它来声明频繁使用的或者是循环变量,使用register要注意以下几点:1.只能修饰局部变量,不能修饰全局变量,因为全局变量会被多个任务或者说是进程所访问,但是用register声明原创 2016-07-23 09:18:34 · 250 阅读 · 0 评论 -
0718学习记录(指针与数组)
今天学习的内容比较多,到现在也还是没彻底弄懂,只能一边回忆一边编写,希望在以后的学习生活中能慢慢理解。 让我们先来看一下野指针的相关知识。首先,野指针是难以杜绝但是是可以避免的,它的定义是随机指向内存的一块地址,导致内存泄露,那么它产生的原因有两个原因:1.指向一块已经释放的内存 2.指向一块无法访问的内存。前者很好理解,我们在之前的操作给指针分配了地址,用完之后将其释放,之后的操作又用了一个原创 2016-07-18 20:25:19 · 308 阅读 · 0 评论 -
0708学习记录
今天学习的主要内容是Makefile。首先说下Make工程管理器,它是完全根据Makefile文件中的编译规则命令进行工作的。Makefile的好处:自动化编译,一旦写好,只需要一个make命令,整个工程自动化编译,极大提高软件的编译效率,作为一个好的程序员,makefile必须有所了解。Makefile文件由以下三项基本内容组成。(1)需要生成的目标文件(Target file)原创 2016-07-08 20:17:58 · 258 阅读 · 0 评论 -
0720学习记录(函数)
首先为什么要用函数,有以下三点原因:1.提高代码的复用性。 2.提高代码的维护性 。3.实现代码可扩展的开发。复用性即代替最原始的复制粘贴,用函数使代码可读性得到了很大提升,代码的维护性,就是如果你的程序运行错误,因为每个函数有不同的功能,所以你可以准确判断那个地方出错然后修改,可扩展的开发指的是如果你想要在代码中加入功能,直接用函数的改编来实现。 然后我们来看一下函数的三要素:分别是函数名,原创 2016-07-20 19:30:54 · 290 阅读 · 0 评论 -
9.9学习记录
- 今天写写微型原理与接口技术所学到的知识,因为跟单片机所学到的知识有些关联,所以整理一下还是有点必要的。 到目前所学的是有关于16位和32位微处理器,16位微处理器选用的是8086,它有16根数据线和20根地址线,编程结构分为执行部件(EU),总线接口部件(BIU)。总线接口部件的功能是负责与存储器,i/o端口传送数据。具体讲,总线接口部件要内存取指令送到指令队列。 8086的总线原创 2016-09-09 17:29:41 · 375 阅读 · 0 评论 -
9.10学习记录
因为明天要去上海,所以讲要整理的内容放在今天一起写了。另外明天是教师节,祝梁哥and张工and坚哥and天底下的好老师天天。 整理一下8086的中断分类。 8086有一个强有力的中断系统,可以处理256种不同的中断,每个中断对应一个类型号,所以,256种中断对应的中断型号为0-255,跟之前学的uc/os-II不一样,它里面是64个中断等级,0-63,数字越小,等级越高。我们再回到80原创 2016-09-09 18:01:56 · 400 阅读 · 1 评论 -
9.11学习记录(数据结构)
讲道理的话,其实今天学习时间并没有很久,学到的新知识根本不足以敲一篇博客,所以我只能把大二学的数据结构的知识做一点复习,这部分知识还是蛮重要的,这门课说难还是蛮难的我都不知道怎么过的。 在计算机界流传着一句经典名言“数据结构+算法 = 程序设计”,这句话简洁,明了地说明了程序(或软件)与数据结构和算法的关系,以及“数据结构”课程的重要性,这是我们学习这门课的原因,数据结构是软件设计的重要理论原创 2016-09-11 21:11:59 · 370 阅读 · 0 评论 -
9.12学习记录<<C和指针>>读后感
《C和指针》这本书是暑假看的,看的不算精吧,也可以说是原来懂得巩固一下,之前没有理解的这次还是没有彻底弄明白。我就把我看的比较仔细地方做一点整理。 先讲数组这块,我们先考虑下面这个例子: int a[10]; int b[10]; int *c; ……c = &a[0];表达式&a[0]是一个指向数组第一个元素的指针。但那正是数组名本身的值,所以下面这条赋值语原创 2016-09-12 17:58:10 · 527 阅读 · 0 评论 -
9.13学习记录《C与指针读后感二》
接着昨天的继续讲多维数组,一维数组名的值是一个指针常量,它的类型是“指向元素类型的指针”,它指向数组的第一个元素。多维数组也差不多简单。唯一的区别是多维数组第1维的元素实际上是另一个数组。例如下面这个声明;int matrix[3][10];创建了matrix,它可以看做是一个一维数组,包含3个元素,只是每个元素恰好是10个整形原创 2016-09-13 19:54:26 · 423 阅读 · 0 评论 -
skinEngine如何在不同的窗体切换皮肤
最近又在用C#写一个桌面软件...,一般winform自带的窗体比较丑,在网上发现了skinengine这个东西,插件的安装就不介绍了,网上有很多文章介绍,例如这个https://www.cnblogs.com/mq0036/p/6654219.html,我在实现过程中碰到了一些问题。 第一是如果后面加入的窗体希望恢复默认皮肤,可以使用两种办法解决,一是在ShowDialog将skin...原创 2019-07-30 10:02:29 · 805 阅读 · 0 评论