- 博客(69)
- 资源 (3)
- 收藏
- 关注
原创 Linux_C作业day05
/* * 题目:连续子数组的最大和 * 输入一个整型数组,数组里有正数也有负数。 * 数组中一个或连续的多个整数组成一个子数 * 组。求所有子数组的和的最大值。 *eg: a[8]={1,-2,3,10,-4,7,2,-5}, OUT:{3,10,-4,7,2} 18 * * 要求:时间复杂度为O(n);*/#includeint maxsonC(int *a){
2018-06-07 21:20:25
228
原创 Linux_C笔记day09
#排序算法内排序(在内存中进行排序):冒泡排序,插入排序,选择排序,快速排序,堆排序,希尔排序插入排序 O(n^2)定义:假定第一个元素有序,然后将后面的元素按照顺序依次插入前面的序列,使数列依然有序选择排序 O(n^2)定义:在一组无序的数列中,找到比第一个值小的值与第一个值交换,然后下一次从第二值开始找到比其小的与其交换,直到数列跑完。冒泡排序 O(n^
2018-06-07 21:19:55
199
原创 异常机制的处理原理
异常机制的处理原理: 原因:程序会出现错误,尤其是不易察觉的错误。需要了解并解决这些错误。通常,程序出现错误,都会强制退出,很难排除错误原因。C语言的错误信息 1.函数返回值 *通常,成功返回‘0’,失败返回值‘-1’。 *返回值为指针类型,成功返回非‘NULL’,失败返回值‘NULL’。 shmat():MAP_IN
2018-06-07 21:19:13
1194
转载 C语言中malloc/free和C++中new/delete的区别
1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。1.
2018-06-07 21:18:18
976
1
原创 day08 of python
第8章 读写文件当程序运行时,变量是保存数据的好方法,但如果希望程序结束后数据仍然保持,就需要将数据保存到文件中。你可以认为文件的内容是一个字符串值,大小可能有几个GB。在本章中,你将学习如何使用Python在硬盘上创建、读取和保存文件。文件与文件路径文件有两个关键属性:“文件名”(通常写成一个单词)和“路径”。路径指明了文件在计算机上的位置。文件名中,最后一个句点之后的部分称为文件的“扩展...
2018-06-07 21:15:53
196
原创 day07 of python
第七章:模式匹配与正则表达式不用正则表达式来查找文本模式:isPhoneNumber.py用正则表达式查找文本模式正则表达式,简称为regex,是文本模式的描述方法。例如,\d是一个正则表达式,表示一位数字字符,即任何一位0~9的数字。Python使用正则表达式\d\d\d-\d\d\d-\d\d\d\d,来匹配前面isPhoneNumber()函数匹配的同样文本。创建正则表达式对象Python中...
2018-06-05 17:59:34
212
原创 day06 of python
处理字符串a.字符串字面量在Python中输入字符串值相当简单的:它们以单引号开始和结束。但是如何才能在字符串内使用单引号呢?#双引号:字符串可以用双引号开始和结束,就像用单引号一样。使用双引号的一个好处,就是字符串中可以使用单引号字符。因为字符串以双引号开始,所以Python知道单引号是字符串的一部分,而不是表示字符串的结束。但是,如果在字符串中既需要单引号又需要使用双引号,那就要使用转义字符。...
2018-05-30 18:15:29
135
原创 day05 of python
字典数据类型像列表一样,“字典”是许多值的集合。但不像列表的下标,字典的索引可以使用许多不同数据类型,不只是整数。字典的索引被称为“键”,键及其关联的值称为“键-值”对。在代码中,字典输入时带花括号{}。例:myCat = {'size': 'fat','color':'gray','disposition':'loud'}。字典仍然可以用整数值作为键,就像列表使用整数值作为下标一样,但它们不必从...
2018-05-30 18:14:42
233
原创 day04 of python
列表数据类型“列表”是一个值,它包含多个字构成的序列。术语“列表值”指的是列表本身(它作为一个值,可以保存在变量中,或传递给函数,像所有其他值一样),而不是指列表值之内的那些值。就像字符串值用引号来标记字符串的起止一样,列表用左方括号开始,右方括号结束,即[]。列表中的值也称为“表项”。表项用逗号分隔(就是说,它们是“逗号分隔的”)。用下标取得列表中的单个值Python代码中列表值从0开始,如果使...
2018-05-30 18:13:58
176
原创 day03 of python
函数一般来说,我们总是希望避免复制代码,因为如果一旦决定要更新代码(比如说,发现了一个缺陷要修复),就必须记住要修改所有复制的代码。随着你获得更多的编程经验,常常会发现自己在为代码“消除重复”,即去除一些重复或复制的代码。消除重复能够使程序更短、更易读、更容易更新。def语句和参数如果调用print()或len()函数,你会传入一些值,放在括号之间,在这里称为“参数”。也可以自己定义接收参数的函数...
2018-05-30 18:13:07
124
原创 day02 of python
布尔值:在作为Python代码输入时,布尔值True和False不像字符串,两边没有引号,它们总是以大写字母T或F开头,后面的字母小写。像其他值一样,布尔值也用在表达式中,并且可以保存在变量中。如果大小写不正确,或者试图使用True和False作为变量名,Python就会给出错误信息。比较操作符:比较两个值,求值为一个布尔值。操作符 含义== 等于!= 不...
2018-05-30 18:12:15
139
原创 day01 of python
阅读书籍为:Python编程快速上手 ---让繁琐工作自动化作者:[美] AI Sweigart注意:Python的下载网站为:http://python.org/downloads/免费下载,确保下载为Python3的版本(本书中的程序将运行在Python3 上,有一部分程序在Python2上也许不能正常运行)Python的所有数学操作符(优先级从高到低)操作符 ...
2018-05-30 18:11:24
194
原创 Lua学习日记二
function(函数)在Lua中,函数是被看作“第一类值(First class Value)”。函数可以存在变量里。function可以以匿名函数(anonymous function)的方式通过参数传递。thread(线程)在Lua中,最重要的线程是协同程序,它跟线程差不多,拥有自己独立的栈,局部变量和指令指针,可以跟其他协同程序共享全局变量和其他大部分东西。userdata
2017-11-23 12:04:56
238
原创 Lua学习日记一
在lua中删除一个全局变量,只需要将变量赋值为nil例:b = nil因此,当且仅当一个变量不等于nil时,这个变量即存在!在默认情况下,变量总是认为是全局的。全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局也不会出错,不过得到的结果是nilLua是动态类型语言,变量不要类型定义,只需要为变量赋值,值可以存储在变量中,作为参数传递或
2017-11-23 11:16:07
283
原创 Lua的泛型for循环
泛型for的语义泛型for比较复杂,它在循环过程内保存了迭代器函数。它实际上保存着3个值:一个迭代器函数、一个恒定状态和一个控制变量。接下来,分别进行总结。泛型for的语法如下:for in do end其中,是一个或多个变量名的列表,以逗号分隔;是一个或多个表达式的列表,同样以逗号分隔。通常表达式列表只有一个元素,即一句对迭代器函数的调用。例如
2017-11-17 11:20:14
3221
1
原创 从C过渡到C++
## C++基础1:从C过渡到C++ > C plus plus -- C语言的超级/带Class的C语言 C++可以完全引用C/C不能直接调用C++### 案例:输出Hello World* 源代码:`HelloWorld.cpp```````#include using namespace std;int main(){ co
2017-08-09 17:28:36
354
原创 C++基础2:类与对象
## C++基础2:类与对象### 1.认识类与对象* 基本概念|概念|比喻||:-||对象/实例|楼房||实例化|建造||类|建筑图纸|* 面向对象四大特征|特征|说明|类比||:-||抽象|抽出具体事物的普遍性的本质|分门别类:鸟类、哺乳类、鱼类||封装|把数据与处理(函数)包在一起|通信录(增加、删除)||继承|数据与
2017-08-09 15:42:45
348
原创 C++ vector的resize和reverve
C++ vector的resize和reverve1.resize(n)调整容器的长度大小,使其能容纳n个元素。如果n小于容器的当前的size,则删除多出来的元素。否则,添加采用值初始化的元素。2.resize(n,t)多一个参数t,将所有新添加的元素初始化为t。而reserver()的用法只有一种reserver(n)预分配n个元素的存储空间。
2017-08-09 10:35:30
808
原创 C++中类所占内存空间总结
类所占内存的大小是由成员变量(静态变量除外)决定的,成员函数是不计算在内的。摘抄部分: 成员函数还是以一般的函数一样的存在。a.fun()是通过fun(a.this)来调用的。所谓成员函数只是在名义上是类里的。其实成员函数的大小不在类的对象里面,同一个类的多个对象共享函数代码。而我们访问成员函数是通过类里面的一个指针实现,而这个指针指向的是一个table,table里面记录的各个成员函数
2017-08-09 10:32:58
2846
原创 模板编译
* 模板编程/泛型编程:独立于特定类型的编码方式分为两类:函数模板、类模板* 函数模板 * 模板声明`````` template 函数返回类型 函数(形参表);`````` * 模板定义``````template 函数返回类型 函数(形参表){ 函数体;};`````` * 模板实例化``````函数(实参表)
2017-07-25 18:14:03
501
原创 C++异常
*异常机制的处理原理原因:程序会出现错误,尤其是不易察觉的错误。需要了解并解决这些错误。通常,程序出现错误,都会强制退出,很难排除错误原因。C语言的错误信息1.函数返回值 * 通常,成功返回‘0’,失败返回‘-1’. * 返回值为指针类型,成功返回非‘NULL’,失败返回值‘NULL’。 shmat():MAP_INVALD(-1)
2017-07-23 18:59:28
199
原创 消息队列基础
###消息队列基础 ##消息队列 比喻:回转寿司、按优先级进行(让列宁同志先走) 本质:内核链表 ##POSIX消息队列 接口 头文件:mqueue.h 库: rt librt.so real time 结构体: struct m
2017-07-13 16:45:38
963
原创 单周期CPU设计
比双周期简单,需要讲解和文件说明的可以评论并留邮箱,给发过去,这里只贴代码!`timescale 1ns / 1ps////////////////////////////////////////////////////////////////////////////////// Company: // Engineer://// Create Date: 17:51:43 0
2017-06-30 14:48:58
960
10
原创 多周期CPU设计——流水灯
本设计分为9个模块,各模块代码如下:流水灯的变换形式为:00000000 -> 00000001 -> 00000011 -> 00000111 -> 00001111 -> 00011111->00111111->01111111->11111111时间间隔为1s `timescale 1ns / 1ps//包括IRmodule InsMem( input CLK, input
2017-06-30 14:41:08
1506
原创 套接字与FIFO
###套接字与FIFO @【全双工】套接字 特点:sv[0]与sv[1]可读可写 案列:客户端服务器模型 http://www.jianshu.com/p/b7ab8400eccf 操作: 创建:int socketpair(int domain,int type,int protocl,int sv[
2017-06-15 16:57:52
493
原创 管道基础
##管道基础#通信分类:只写单工管道、只读单工管道、半双工管道(单向读写)、全双工管道(两个半双工管道拼接) 类型 创建/打开 关闭 读 写 单工 popen() pclose() read() write() 半双工 pipe()/open() c
2017-06-14 23:55:18
256
原创 mySc day7
Posix共享内存映射mmap()munmap()共享内存shm_unlink()shm_open()ftruncate() 1.munmap()/msync()回写时机,与实际结果不一致。 文件映射对象更新文件的时机是不确定的,但是调用munmap()/msync()一定会更新文件2.同一个程序多次映射文件,文件内容的长度与映射内容的长度不一
2017-06-08 21:12:06
253
原创 mySc day10
Socket网络编程 Socket:套接字,即一个编程接口,是一种特殊的文件描述符(everything in UNix is a file) 五要素 协议、本地地址、本地端口、远程地址、远程端口 协议域domain AF_INET IPv4(主要) AF_INET6 IPv6
2017-06-08 21:10:48
264
原创 mySc day8
查看线程命令: ps -T -p -T 开启线程查看 top -H -p -H 开启线程查看 htop 设置 F2 F10文件: /proc/PID/task 线程默认的名字和进程名相同 /proc/PID/task/tid/comm 线程名 主线程
2017-06-08 21:09:35
226
原创 进程基础
进程基础a.从程序到进程 1.内核将程序读入内存,为程序镜像分配内存空间。 2.内核为该进程分配进程标识符PID。 3.内核为该进程保存PID及相关的进程状态信息。b.程序格式ELFExecutable and Linkable Format文件格式,一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。 查看程序(ELF):r
2017-06-06 21:53:42
243
原创 第二天@管道
进程基础a.从程序到进程 1.内核将程序读入内存,为程序镜像分配内存空间。 2.内核为该进程分配进程标识符PID。 3.内核为该进程保存PID及相关的进程状态信息。b.程序格式ELFExecutable and Linkable Format文件格式,一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。 查看程序(ELF):r
2017-05-28 22:51:06
196
原创 第一天@进程
进程编程: 进程的定义:在操作系统中正在执行的程序; 进程与程序的区别:进程是活的,程序是死的;如何查看操作系统当前用户的进程ps //静态pa -aux //查看所有进程 top //动态显示,每隔5s刷新一次fork()函数完全拷贝父亲内存与数据,互不干扰,当返回值为0时,为子进程,否则返回子进程的PID。一次调用两
2017-05-28 22:46:58
199
原创 Linux_C笔记day08
#宏#可运用在程序查错_FUNCTION_:打印该宏所在的函数名 eg:printf("%s",_FUNCTION_);_func_:是上面宏的小写形式 eg:printf("%s",_func_);_LINE_:打印该宏所处的行数 eg:printf("%d",_LINE_);_DATE_:打印该宏所在函数运行日期 eg:printf("%s",_DA
2017-04-09 22:07:00
205
原创 Linux_C笔记day07
#realloc函数定义: 在原有的堆空间上进行扩充或者缩小; The realloc() function changes the size of the memory block pointed to by ptr to size bytes. The contents will be unchanged in the range from the sta
2017-04-05 17:57:33
234
原创 Linux_C笔记day06
#虚拟空间初始化#includevoid *memset(void *s,int c,size_t n);void*s是指存放着要初始化的虚拟空间的指针;int c是指要给初始化的虚拟空间所赋的值是一个整形;size_t n是指该虚拟空间所占的字节大小;eg: #include #include int *pa=malloc(sizeof(int)*m
2017-04-05 17:55:23
271
原创 Linux_C作业day05
/* * 题目:连续子数组的最大和 * 输入一个整型数组,数组里有正数也有负数。 * 数组中一个或连续的多个整数组成一个子数 * 组。求所有子数组的和的最大值。 *eg: a[8]={1,-2,3,10,-4,7,2,-5}, OUT:{3,10,-4,7,2} 18 * * 要求:时间复杂度为O(n);*/#includeint maxsonC(int *a){
2017-03-31 21:30:19
263
原创 Linux_C笔记day05
递归(二)对于二叉树来说,递归相较于迭代更好实现。在斐波那锲(fibnacci)数列中进行较多的应用。int gettimeofday(struct timeval *tv,const struct timezone *tz);用来计算程序的运行时间,包含在sys/time.h头文件中。迭代所用的时间明显比递归所用的时间要短;走迷宫递归输出全部路线(4层递归)罗汉塔递归输出全部
2017-03-26 20:09:02
242
原创 Linux_C笔记day04
##递归##递归函数必须满足的两个条件:a.结束条件,b.递归表达式(容易发生死循环)递归函数实际上就是自己调用自己的函数递归下可以与迭代进行互相转换,递归不可递归深度太深(栈会溢出)。阶段测试考点总结填空题1.逻辑与和逻辑或的短路运算2.递归的结束条件3.字符串空间长度与字符指针的空间长度4.const关键字的含意: const int a ==
2017-03-26 20:07:33
221
原创 Linux_C笔记day03
###反汇编###gcc -c mian.c -o main.o //编译mian.c生成mian.o编译文件objdump -d main.o //反汇编mian.o文件精简指令 复杂指令异常(需重启)###Makefile###@@@#CC=arm-linux-gcc #若在arm板子上跑FLAG=-cOUTPUT=-o
2017-03-26 20:05:03
282
基于C++的绘图软件
2017-11-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人