- 博客(250)
- 资源 (16)
- 收藏
- 关注

原创 【c语言问题系列教程之一】变量声明和初始化
一、基本类型1.c语言整数类型的大小并没有精确的定义,而是随着编译器的类型而变化,ANSI C能保证的只是数据的最小尺寸。char>=8位,short>=16位,int>=16位,long>=32位。2.因此,可以用typedef定义int16和int32,然后根据实际的机器环境把它们定义为int,short,long等类型。但是,标准头文件已经定义了标准名称int16_t,uint32_
2016-09-24 23:49:44
7272
1
转载 gcc预编译宏
我们可以用gcc --version来查看自己系统中的gcc版本,现在的gcc版本普遍都是3.0以后了吧,就我的系统而言,是4.9.2,那么对应的__GNUC__就是4,__GNUC_MINOR__就是9,__GNUC_PATCHLEVEL__就是2。这几个宏的类型都是int,被扩展后,会得到整数的字面值。好啦,对__GNUC__这个预定义的宏变量算是有了一个基本的了解,作用是用来针对特定版本的gcc进行编写代码,至于其他预定义的宏呢可以去本文刚开始的时候给出的网站上查看,他们各自的作用也都写的非常清楚。
2024-04-02 22:47:05
211
原创 本地构建spring源码
正所谓“工欲善其事必先利其器”,spring相信java开发的朋友会用,但如果要用好,出了问题能够排查,还是需要了解spring的代码,本文记录源码学习第一步遇到的坑。
2022-08-09 21:46:32
392
原创 Java泛型中? extends E和? super E的区别
这篇文章谈一谈Java泛型声明<? extends E>和<? super E>的作用和区别<? extends E> <? extends E> 是 Upper Bound(上限) 的通配符,用来限制元素的类型的上限,比如List<?extendsFruit>fruits;表示集合中的元素类型上限为Fruit类型,即只能是Fruit或者Fruit的子类,因此对于下面的赋值是合理的fruits=n...
2020-06-26 09:07:45
966
原创 3.线程间的通信
前记:师夷长技以自强1.用轮询实现的线程间通信机制如下:import java.util.ArrayList;import java.util.List;class MyList{ private List list = new ArrayList(); public void add(){ list.add("haha"); } public int size(){ return list.size(); }}cl
2020-06-09 21:58:23
455
1
原创 2.变量的并发访问
前记:师夷长技以自强1.问题背景在上一篇文章中我们已经讨论了线程具有异步运行的特性,因此当多线程同时访问同一个实例变量时就会引发脏读的问题。而这显然不是我们愿意看到的,解决办法也很简单,就是给访问该变量的程序部分加锁。多线程并发在一些追求效率的系统中常存在变量不可见的问题,由于变量的不可见也会导致程序运行的结果不是我们想要的。一句话,同步性和可见性问题是多线程中的两大重点内容,他们分别对应于synchronized和volitle关键字的使用。本文主要围绕了在各种情况下如何使用这两个关键字而展开的。2
2020-06-07 23:44:55
373
1
原创 1.多线程使用基础
1.JDK中支持的类和接口Thread:线程类的声明部分如下:public class Threadextends Objectimplements Runnable可以看出Thread是一个直接继承自Object的类,并且实现了Runnable接口。根据JDK文档可知,创建一个线程的方式有两种:(1)继承Thread类;(2)把实现Runnable接口的类的对象作为Thread类构造函数参数。ex1(继承):public class ThreadInheri { publi
2020-06-05 17:54:59
281
原创 maven的基本使用
相关概念maven:那么首先它是一个jar包依赖管理工具,包括项目的清理,编译测试,打包,部署等。传统意义上的jar包管理的话,是需要程序员从网上下载相应的jar包,然后手工导入到项目里面。随着软件的日益发展,软件的jar也变得异常复杂,单靠人手工管理的话,将是耗时耗力的一项任务。maven的则方便了这一过程,使得直接可以从它的远程仓库把相关的jar包拉到本地,也就是jar包的自动管理。ma...
2020-03-17 17:43:17
326
原创 每日一题3:两数相加
问题描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 ...
2019-10-06 16:12:54
348
原创 每日一题2.最长回文串
问题描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”问题分析要判断一个字符串是不是回文串有点难,但如果知道它的字串是回文串,再结合新进去的字符是否符合要求,就可以只考虑当前状态而做出决策,也就是动态...
2019-09-27 21:14:32
394
原创 每日一题1.求数组中使得x + y为某个数的x,y的下标
问题描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]思路一...
2019-09-27 18:03:32
360
转载 likelihood and probability
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-09-15 22:27:51
296
转载 likelihood和probability
虽然经常在paper和教程中看到“似然(likelihood)”的概念,但是一直都没有仔细研究似然与概率的区别,今天查了一些资料,有些收获,在此总结一下。似然与概率的区别简单来讲,似然与概率分别是针对不同内容的估计和近似。概率(密度)表达给定θ \thetaθ下样本随机向量X=x \textbf{X} = {x}X=x的可能性,而似然表达了给定样本X=x \textbf{X} = {x}X=...
2019-09-15 22:17:16
606
转载 pass(空操作)
在条件判断,还是函数中,有时候不需要输出任何东西,也不能留空,python提供空的语句,下面讲述pass空语句的用法1,关键词 pass2,用法for letter in 'Python': if letter == 'h': pass print '这是 pass 块' print '当前字母 :', ...
2019-09-08 09:28:04
665
转载 range
range() 函数可创建一个整数列表,一般用在 for 循环中语法range(start, stop[, step])参数start--->>从某数开始计数,默认0stop--->>从某数结束,顾头不顾尾step--->>步长作用用于for循环数字实例1 for i in range(3,10,2):2 ...
2019-09-08 09:04:44
182
转载 PIL
1. IntroductionPIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。其官方主页为:PIL。 PIL历史悠久,原来是只支持python2.x的版本的,后来出现了移植到python3的库pillow,pillow号称是friendly fork for PIL,...
2019-09-08 08:57:44
819
转载 numpy
一、常用链接:1.Python官网:https://www.python.org/2.各种库的whl离线安装包:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn3.数据分析常用库的离线安装包(pip+wheels)(百度云):http://pan.baidu.com/s/1dEMXbfN密码:bbs2二、常用库1.N...
2019-09-07 16:21:44
238
原创 ImportError: DLL load failed
安装时anaconda时没有把路径添加到系统变量中,需要把D:\ProgramData\Anaconda3\Library\bin;D:\ProgramData\Anaconda3\Scripts;D:\ProgramData\Anaconda3;三个路径加到path中,并重启PyCharm....
2019-08-11 23:48:56
341
原创 PyCharm修改Interpreter
file ->setting->project ->project interpreter:点击“Show All…”。进入下图:点击“加号”,进入下图:关键就在这点,注意,一定是要在System Interpreter里面选择。不要再上面那两个环境里面选择。...
2019-08-11 23:33:52
8510
1
原创 PyQt5开发环境的额搭建
1.安装anaconda,这是一个开源软件,直接在官网选择对应的版本下载安装即可,安装完后即可包含很多python的包,包括PyQt5.如果下载不了,推荐一个国内的镜像。2.安装PyCharm同样也是去官网下载对应版本,然后安装即可。推荐使用商业版的,阉割版总担心某天要用到的功能没有。PyCharm商业版需要破解,可以阅读笔者之前写的文章。PyCharm 2019.1.1专业版...
2019-08-11 22:25:58
243
原创 11.EP4CE10F17使用LCD1602显示信息
前记:师夷长技以自强1.基本概念LCD1602:可以显示两行每行16列的字符,故称为1602。实验中使用的是3.3v的1602显示模块,可以在某宝中随表找到。端口说明:编号 名称 功能 1 VSS 电源地 2 VDD 电源正极 3 VL 液晶显示偏压,接VDD时对比度最弱,接地时对比度最强 4 RS 数据/...
2019-08-11 21:29:14
1532
原创 10.EP4CE10F17的PLL使用
前记:师夷长技以自强1.基本概念PLL:Phase Locked Loop锁相环,可以通过软件配置的方法输出不同频率和相位的时钟信号。在EP4CE10F17中有两个片内PLL模块,可以产生时钟树。fpga的pll使用也是以ip核的形式提供的,对于quartus II13.0,在Tools->MegaWizar Plug-In Manager打开ip核的选择界面。2.使用简介...
2019-08-11 15:26:15
2384
2
原创 9.EP4CE10F17的NCO使用
前记:师夷长技以自强1.基本概念NCO: numerically controlled oscillators 数控振荡器,可以合成一个时间和只域上离散的正弦波,常作为通信系统的正弦载波发生器。在Quartus II中,nco是以ip核的形式提供的,只需要简单配置几个参数即可。2.使用简介对于Quartus II 13.0版本,打开ip核的向导的方式是Tools->Meg...
2019-08-10 23:41:01
1800
2
原创 5.EP4CE10F17的FIFO
前记:师夷长技以自强一、基本概念FIFO:利用FPGA的片上存储器设计的一个先进先出缓冲器。可以分为单时钟FIFO和双时钟FIFO,前者用于高速传感器数据的缓存,后者用于异步数据的收发(数据的发送端和接收端分别使用不同的时钟域)。FIFO参数:宽度:FIFO一次读写数据的位数。深度:存储数据的个数。满标志:FIFO已满或将要满时发出的一个标志信号。空标志:FIFO已空或...
2019-07-21 11:06:05
581
原创 6.EP4CE10F17的基于串口的电压采集系统
前记:师夷长技以自强一、需求1.使用ADC以最高速度采集2000个数据,将这些数据存储在scfifo中2.等待着2000个数据采集完成之后,从scfifo中读取数据出来使用串口持续发送直到2000个数据全部发完。二、分析.2.1系统框图当系统模块多了后,最好画一个框图,以示数据在各模块中的流动关系。2.2状态分析2.2.1 状态的划分1.空闲 IDEL...
2019-07-16 23:36:42
705
转载 FPGA的亚稳态
1. 应用背景1.1 亚稳态发生原因 在FPGA系统中,如果数据传输中不满足触发器的Tsu和Th不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端在0和1之间处于振荡状态,而不是等于数据输入端D的值。这段时间称为决...
2019-07-15 08:38:09
454
原创 4.EP4CE10F17的按键设计
前记:师夷长技以自强1.基本概念轻触按键:开发板上经常用到的一种按键,内置一个反作用弹簧,理想情况下是产生一个低电平的脉冲信号。但由于机械构件接触的时候肯定会产生抖动,一般情况下抖动的总时间会持续20ms。状态机:有一个状态变量有有限中取值情况,每一种取值对应硬件电路的所处的一种状态执行相应的程序的程序。设计状态机的关键是合理分状态,并明确状态的跳转条件。2.基本原理2.1状态...
2019-07-14 11:12:35
454
原创 3.EP4CE10F17的串口设计
前记:师夷长技以自强。1.基本概念UART:Universal Asynchronous Receiver/Transmitter,通用异步收发传输器,它是一种电子器件,可以在数据发送时将并行数据转换成串行数据来传输,在数据接收时将接收到的串行数据转换成并行数据。UART是异步串行通信的总称,包含了RS232,RS449,RS423,RS422和RS485等协议标准。RS-232:美国...
2019-07-10 23:19:38
831
原创 python的网络编程
作为一门因网络而兴起的语言,网络编程对python来说举足轻重。计算机网络是把各个计算机连接到一起,让网络中的计算机可以互相通信。从广义上说,网络编程也属于进程间的通信。按照网络间两主机通信过程前是否先建立连接,网络层协议又可分为面向连接的TCP协议和无连接的UDP协议。对于python用户来说没必要去知道协议的实现细节,因为socket类已经封装好了协议。1.重要概念socket:英文原...
2019-07-01 22:24:42
238
原创 python的Process类
1.基本概念进程即使程序的动态执行过程,在python中是用Process类来表示进程的,而这个类是在multiprocessing类中的。因此导入进程类的方法为:from multiprocessing import Process2.类的原型2.1类的参数键 值 group None target 子进程执行任务的函数 name 子进程的...
2019-06-29 17:27:30
2745
转载 Python杂七杂八1
在大多数编排得好一点的脚本或者程序里面都有这段if __name__ == 'main': ,虽然一直知道他的作用,但是一直比较模糊,收集资料详细理解之后与大家分享。1、这段代码的功能一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行。因此if __name__ == 'main': 的作用就是控制...
2019-06-29 14:09:42
294
原创 FPGA笔记
入门阶段1.Error:Can't launch the ModelSim-Altera software -- the path to the location of the executables for the ModelSim-Altera software were not specified or the executables were not found at spe...
2019-04-01 18:56:18
2192
原创 研路纪实
前记:古今多少事,都付笑谈中。 本人是工作后考的研,非学霸,本科非985,专业非CS,前些天通过复试考上了哈工大的CS研究生。复习道路基本上是螺旋式前进的,共分为5个阶段,第一阶段边工作边考研,第二阶段辞职回母校复习,第三阶段回家复习,第四阶段在家复习复试,第五阶段考研复试。第一阶段 2017年10月份我因工作原因调到某京,宿舍里只有一盏灯三张两层床,光线...
2019-03-21 11:58:29
511
原创 关于上机的一些细节
1.测试为多组数据设int n为每组数据第一个输入的数,则c语言对应的程序为:while(scanf("%d",&n)!=EOF){实现部分}2.为方便调试而进行的输入输出重定向在main函数的开始处 freopen("E:\input.txt","r",stdin); freopen("E:\output.txt","w",stdout);其..
2019-02-18 15:52:08
301
原创 基于Android Studio的Android app开发环境搭建
前言:本环境搭建教程写给新手小白,大神请绕道。Android本质上就是一个嵌入式系统,因此也具备了嵌入式系统的跨平台,交叉编译等特点。凡是涉及到交叉编译的软件开发,环境的搭建从来就不是小事。如果读者观看前些年讲解android开发的相关视频教程,发现里面用的都是清一色的eclipse。eclispe是一个开放多功能的IDE,只要装上插件就可以开发具体情境的应用程序(如基于arm的裸机程序,基于DS...
2018-06-20 11:32:20
6396
Approximation Algorithms.rar
2020-04-26
牛津字典(欧路词典).txt
2020-03-29
STL_帮助文档
2016-11-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人