- 博客(24)
- 收藏
- 关注
原创 mongo Failed to instantiate *** constructor NO_CONSTRUCTOR with arguments
mongo Failed to instantiate *** constructor NO_CONSTRUCTOR with arguments在做findAll查询时出现status=500的错误,报错信息如上:解决方案:在实体类中加上默认的无参数的构造方法(之前写的参数都是带参数的)...
2021-10-18 16:29:05
893
原创 嵌入式系统入门篇3之ARM指令(UAL)
1. ARM存储器访问指令(在寄存器和存储器之间进行数据交换)数据从存储器 -> 寄存器 加载 Loader LDR数据从寄存器 -> 存储器 存储 Store STR(1)指令格式:LDR{cond} {S} {B/H} Rd, <地址>STR{cond} {B/H} Rd, <地址>cond:执行条件,不加cond是无条件执行 S:数据有扩展时,有符号数扩展符号位,无符号数扩展0。Signed把地址的那个变量,当作是一个有符号
2021-03-21 16:43:13
1887
原创 嵌入式系统入门篇2之keil启动文件详解
嵌入式系统入门,下面的启动文件是较简单的版本,结合网上搜索到的资料和老师课堂上的讲解整理出来的,如有错误欢迎指出。根据启动文件从上至下编写顺序可以分为以下五个典型部分:堆栈空间定义;存放中断向量表;复位中断函数(Reset_Handler);其它中断异常服务函数,以及弱[WEAK]声明;将堆栈地址传递给库函数,利用库函数初始化堆栈,和库函数自身初始化。其中启动文件必需的部分为堆栈空间的定义、存放中断向量表及本文解释的启动文件也仅包含这三部分。小贴士:汇编中分号用于注释stack
2021-03-15 18:23:03
1388
原创 嵌入式系统入门篇-1
嵌入式系统入门篇笔记1.嵌入式系统的定义(来自百度百科)嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能、可靠性、成本、体积、功耗、环境等)灵活裁剪软硬件模块的专用计算机系统。2.嵌入式系统的体系结构冯诺依曼体系结构如图哈佛结构如图在冯诺依曼体系结构中只有一个存储器,而在哈佛结构中有两个存储器一个是数据存储器另一个是指令存储器,嵌入式系统的体系结构为哈佛结构。其中,存储器与cpu传地址是单工方式而传递数据是半双工方式。堆栈有四种类型:空递增、空递减、满递增和满
2021-03-04 19:03:34
1045
原创 MySQL数据库导入xls表格乱码问题
谈谈今日份心酸:昨晚打算花半个小时把爬虫爬到的表格导入到数据库,没想到的是导了两个小时都没有成功,emmm,乱码,于是在网上找了一堆方法,修改数据库的编码方式,更改表格的编码方式,但是很奇怪能导进去一部分数据,许多数据还是乱码导不进去(它会提示[Err] [Imp] 1406 - Data too long for column '鑽 唬鍔ㄥ姏瀛? at row1)看起来是字段太长,其实还是乱码造成的,静下来梳理一下,重新操作之后发现了问题所在,成功导入数据(但是没有深究原因)。解决方案: 首先创建数据库
2021-01-04 11:19:11
411
原创 如何让body 里的 onload 方法在加载该页面时执行一次,刷新不执行
在做一个网站的弹窗设计,希望只在进入首页的时候执行这个方法出现弹窗,之后再刷新时不要出现弹窗,用了Cookie方法没有效果(很迷惑...),用window自带的name属性相当于设个全局变量做标记,非常的简单!function loadwindow(){ if(window.name == null || window.name == ""){ window.name = "enter"; document.getElementById('tanchuang')
2020-11-23 21:06:29
1019
原创 用Scala语言输出一万以内的超级素数
一个素数,依次从最高位去掉一位,两位……若得到的都是素数,且各数字不为0,则称为超级素数。代码如下:import scala.mathobject Prime{ def main(args: Array[String]):Unit={ for(i <- 1 to 9999) if(depart(i)) println(i) } def isPrime(n:Int):Boolean={ //此方法用于判断素数 if(n<=1) return false for(
2020-11-01 15:24:30
756
原创 用Scala语言实现猴子选大王
猴子选大王:n只猴子围坐成一个圈,按顺时针方向从1到n编号。然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,再从刚出局猴子的下一个位置重新开始报数,如此重复,直至剩下一个猴子,它就是大王。设计并编写程序,实现如下功能:(1) 要求由用户输入开始时的猴子数n、报数的最后一个数m。(2) 给出当选猴王的初始编号。大体思路:定义一个数组表示猴子的状态,1表示未被淘汰,0表示淘汰,将数组初始化为1,定义一个变量类似于计数器,达到要报的数就就把置状态为0把这只猴子淘汰出局,直至只有一只猴子。代码
2020-11-01 15:24:06
199
原创 Room学习笔记及案例
简单了解Room: 它是对象关系映射框架,采用注解的形式。它能缓存相关数据,使用户在断网的情况下浏览相应内容,重新连接网络时,用户发起的内容更改都会同步到服务器。能将本地数据保存到数据库中,它提供了一个SQLite的抽象层(封装),能够让我们更加稳健地访问数据库,能够提升数据库的性能。Room包含三个主要的组件:1.Database:包含数据库持有者,并充当与应用程序持久化的、关系型的数据的底...
2020-05-13 09:48:44
810
原创 Fork函数的解析(二)---Signal
1.Sending signals with the kill() function#define N 5int main() { pid_t pid[N]; int i; int child_status; for (i = 0; i < N; i++) if ((pid[i] = fork()) == 0) { //子进程陷入死循环 ...
2019-12-08 14:23:58
399
原创 I/O文件的解析
在Linux中一切皆文件,所有的I/O设备(如网络、磁盘和终端)都会被模型化为文件,而所有的输入和输出都被当作对相应文件的读和写来执行。这使得所有的输入输出都能以统一且一致的方式执行:打开文件。内核会返回一个小的非负整数,称为文件描述符,它在后续对此文件的所有操作中标识这个文件。Linux shell 创建的每个进程开始时都有三个自动打开的文件:标准输入(描述符为0)、标准输出(描述符为1)...
2019-12-08 14:05:51
439
原创 Fork函数的解析(一)
Fork函数的运用:父进程通过调用Fork函数来创建一个新的子进程。那么,什么是进程呢?进程的经典定义就是一个执行中程序的实例,即指程序的一次运行过程。程序是指按某种方式组合形成的代码和数据集合,代码即是机器指令序列,因而程序是一个静态的概念。不同于程序,进程是具有独立功能的一个程序关于某个数据集合的一次运行活动,因而进程具有动态的含义。1.同一个程序处理不同的数据就是不同的进程。2....
2019-11-07 07:41:40
646
原创 数据结构客运航空系统设计(链表)
现在人们更多地使用飞机作为交通出行工具,因此机票票务市场也在快速发展。国内外航空事业在飞速发展,各航空公司对票务管理的要求也在不断提高,对航空信息管理系统提出了更高的要求。本系统主要采用链表存储航班信息。其中,航班链表的数据域有包括航班号航班起点及目的地(因为是长沙航空,所以起点都为长沙)航班出发时间及到达时间、航班票价及余票、航班限额人数还有包括已购票乘客链表的头结点及候补乘客链表的头结点。...
2019-10-27 19:19:20
2527
2
原创 可重定位目标文件的解析
从源代码到可执行目标文件要经过以下几个步骤:main.c-----预处理(cpp)-------->main.i------编译(ccl)----->main.s-----汇编(as)----->main.o-----链接(ld)----->main(可执行文件) 可重定位目标文件是.o文件,包含二进制的代码和数据,其形式可以在编译时和其它的可重定位目标文...
2019-10-08 23:21:39
1066
原创 csapp data lab
/* * CS:APP Data Lab * * <Please put your name and userid here> * * bits.c - Source file with your solutions to the Lab. * This is the file you will hand in to your instructor. ...
2019-05-28 18:09:14
307
原创 Float Sum(浮点数的加法)
#include <stdio.h>#include <stdlib.h>#include <string.h>#define BUFSIZE 256int main(int argc, char *argv[]) { char prefix[BUFSIZE]; char next[BUFSIZE]; int i; floa...
2019-05-25 20:18:46
4673
原创 Example of deep recursion (深递归的例子)
/* Example of deep recursion *//*递归太深堆栈溢出*/#include <stdio.h>#include <stdlib.h>int recurse(int x) { int a[1<<15]; /* 4 * 2^15 = 128 KB */ printf("x = %d. a at %p\n"...
2019-05-25 20:01:20
259
原创 Convert sequence of hex digits
/* Convert sequence of hex digits on command line into a string, terminated by \n */#include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]) { int i; for (i = 1; i...
2019-05-25 19:42:16
179
原创 Pointer Locate
#include <stdlib.h>#include <stdio.h>#include <unistd.h> /*Unix Standard 用于系统调试*//* P是一个指针变量的名字表示指针变量指向的内存地址,*p是所指对象的内容,&p指针p的地址*/static void show_pointer(void *p, char...
2019-05-25 19:25:42
137
原创 Demonstration of buffer overflow (缓冲区溢出的事例)
/* Demonstration of buffer overflow *///缓冲区溢出的示范#include <stdio.h>#include <stdlib.h>/* Implementation of library function gets() */char *gets(char *dest) /*指针函数*/{ int ...
2019-05-25 18:29:34
220
原创 Memory Referencing Bug Example
#include <stdio.h>#include <stdlib.h>typedef struct { int a[2]; double d;} struct_t;double fun(int i) { volatile struct_t s; /*可更新的变量没有固定的值*/ s.d = 3.14; s....
2019-05-25 16:15:58
481
原创 计算平方根(注意范围否则有可能溢出)
#include <stdio.h>#include <stdlib.h>int sq(int x) { return x*x;}int main(int argc, char *argv[]) { /*第一个参数表示入口参数的个数*/ int i; for (i = 1; i < argc; i++) { int x =...
2019-05-25 10:22:28
864
原创 补码数的符号扩展
short sx = -12345; /*-12345*/unsigned short usx = sx; /*53191*/int x = sx; /*-12345*/unsigned ux = usx; /*53191*/printf("sx = %d:\t",sx);show_bytes((byte_point...
2019-05-25 10:00:18
4261
2
原创 show-bytes-prints byte representation of data
/* show-bytes - prints byte representation of data *//* $begin show-bytes */#include <stdio.h>/* $end show-bytes */#include <stdlib.h>#include <string.h>/* $begin show-bytes *...
2019-05-25 09:31:53
144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人