- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 利用递归函数逆序一个栈(C语言实现)
利用递归函数将一个栈逆序,不能申请新的数据结构。参考了常用解法,即两个递归函数嵌套使用,第一个递归函数用于获取栈的栈底元素,另一个递归函数用于逆序这个栈。代码如下:int getBottomElement(element *data){ int result=pop(data); //弹出一个元素 if(isEmpty(data)==1) return result; el
2016-11-09 21:34:17
1238
原创 利用C语言实现一些简单的栈操作
参考了对该问题的解法,利用C语言实现了带基本功能和getMin功能的栈,同理还可以添加getMax功能,代码如下:#include <stdio.h>#include <stdlib.h>#define MAX_STACK_SIZE 6typedef struct{ int stack[MAX_STACK_SIZE]; int top;}element;element ini
2016-11-03 22:33:15
460
原创 《30天自制操作系统》学习笔记(九)
一、内存容量检查1.如何进行内存检查?往内存中随便写入一个值,然后马上读取,来检查读取的值与写入的值是否相等2.为了实现直接写入内存的功能,需要先暂时关闭CPU中的告诉缓存代码如下:#define EFLAGS_AC_BIT 0x00040000 #define CR0_CACHE_DISABLE 0x60000000unsigne
2016-07-10 21:51:18
534
原创 《30天自制操作系统》学习笔记(七)
一、代码执行顺序(前内容六天的内容)ipl10.nas-->asmhead.nas-->boopack.c二、代码阅读1.ipl10.nas(将软盘内容拷贝到内存中); haribote-ipl; TAB=4; 读取软盘内容到内存中,然后跳转到0xc200开始执行,就是asmhead.nas文件CYLS EQU 10 ; CYLS=10 读取是10个柱面
2016-07-09 15:23:02
1586
原创 《30天自制操作系统》学习笔记(六)
IDT学习心得(一)什么是中断? 通常被定义为一个事件,该事件改变处理器执行的指令顺序。例如通过键盘输入、点击鼠标等(二)为什么要引入中断? 因为CPU的处理速度远高于外围硬件设备的响应速度,为了提高CPU的利用率,所以引入了中断机制。当某个设备发生变化时便会产生中断,CPU就暂时停止正在处理的事务,并做好接下来能够继续处理的准备,转而执
2016-07-03 14:51:55
788
原创 《30天自制操作系统》学习笔记(五)
GDT学习(一)什么是GDT?需要解决什么问题? 1.什么是分段?将合计4GB的内存分成很多块,每一块的起始地址都看作0来处理,像这样分割出来的块,就称为段(Segment)。 2.为什么要引入分段?为了让程序在内存中自由浮动而又不影响它的正常运行,处理器将内存划分成逻辑上的段,并在指令中使用段内偏移地址。 3.由分段的问题--如何使每个段可以访问?利用段描述符(
2016-07-01 07:48:51
278
原创 《30天自制操作系统》学习笔记(四)
第一天--第三天小结这部分完成了操作系统的启动过程(将软盘内容读入到磁盘中,并执行相应的指令)一、系统启动(一)制作启动区 主要完成读入软盘内容到内存中的任务,该部分需控制在512字节以内,并且符合系统引导程序的要求(二)将文件保存到软盘中以便读取 书中使用了nask.exe将操作系统文件(暂时这样称呼)生成了sys文件,同时使用了edimg.exe
2016-06-25 18:00:37
398
原创 《30天自制操作系统》学习笔记(三)
一、指针相关 目的:达到效果 mov BYTE[i], (i&0x0f) 使用C语言直接操作内存 做法:int i; char *p; p=(char *) i; *p=i&0x0f 二、显示控制 (一)色号设定。采用调色板模式,有程序员自己指定颜色编号。 (二)调色板使用步骤。禁止中断-->
2016-06-19 15:48:05
974
原创 《30天自制操作系统》学习笔记(二)
一、制作真正地IPL(IPL, initial program loader,启动程序装载器)(PS:这部分其实就是就是实现了一个用途,即将扇区中的内容读取到内存中) (一)储备知识 1.软盘结构及读写 http://blog.youkuaiyun.com/smallmuou/article/details/6796867
2016-06-19 15:45:31
435
原创 《30天自制操作系统》学习笔记(一)
一、汇编语言 (一)寄存器 AX------accumulator 累加寄存器 AL AH CX------counter 计数寄存器 CL CH DX------data 数据寄存器 DL DH BX-------base 基址寄存器 BL BH SP-------stack pointe
2016-06-19 15:44:52
449
原创 一段python分级基金数据收集代码
实现功能:每天将“集思录“网站上的分级基金数据收集下来,然后逐条写入到对应的CSV文件中,可以方便日后使用。代码如下:#!/usr/bin/env python#coding=utf-8import csvimport os__metaclass__=type #表明下面的类都是新式类"""问题空间分析:初始状态:每个交易日的数据分A、
2016-05-28 17:35:30
594
原创 python测试多空交易效果代码
用python写了一个简单的多空交易的测试代码其中的空头部分用分级基金A,多头部分用跟踪同样指数的etf基金测试的不是很理想。由于刚开始接触python,所以在编写代码时已实现功能为主,还有很多可以改进的地方。十分欢迎有相同爱好的朋友一起交流。代码如下from __future__ import divisionimport tushare as tsimport pand
2016-05-25 21:33:36
876
原创 matplotlib使用show方法后不能显示图像的问题
系统ubuntupython版本2.7.11matplotlib版本1.5.0问题:在利用测试脚本运行时不能显示图像,但是可以正常存储图像文件。原因:因为在安装matplotlib之前系统中没有安装一个python使用的GUI图形库解决:参照了点击打开链接中的解决方法使用了backend:WX的设置目前可以正常显示图像
2016-05-19 15:14:33
3864
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人