- 博客(24)
- 资源 (4)
- 收藏
- 关注
原创 flutter内容界面的更新,switch用法,StatefulWidget的理解
最近在了解flutter,新写的代码中用到了switch控件,正常的逻辑,点击控件后switch的值应该发生变化,代码如下:class _SystemConfigState extends State<SystemConfigPage> { bool _receiveNotification = false; @override Widget build(BuildCo...
2019-05-29 10:17:21
2207
原创 docker无用镜像清理脚本
docker是一个很好用的工具,但是有时候会反复创建镜像,造成了大量的无用镜像,像这样的:里面有大量的版本为的镜像,碰到这种情况想清理,当然可以用原始的命令:docker rmi xxxxxxxx(镜像id)但是长时间积攒下来很多的话,手工删除很麻烦所以我特意写了个脚本#!/usr/bin/python# -------------------------------------...
2019-04-30 15:43:39
1425
原创 flutter采坑记录Installing build/app/outputs/apk/app.apk.|Waiting for observatory port to be available...
使用Android studio调试flutter程序的时候,会卡主如果查看输出,显示为:Installing build/app/outputs/apk/app.apk...如果打开了flutter的详细设置,会看到输出:Waiting for observatory port to be available...卡主之后,热更新也不能用了查找过很多资料,有一种情况是因为logc...
2019-04-29 16:16:20
5392
原创 python的坑
工作用python了大半年,不得不说python是门好语言,但是python的坑,尤其是python2的坑巨多。对python2而言,最大的坑来自哪里呢?编码!
2019-02-20 10:39:25
325
转载 Looper
Android中的Looper类,是用来封装消息循环和消息队列的一个类,用于在android线程中进行消息处理。handler其实可以看做是一个工具类,用来向消息队列中插入消息的。 (1) Looper类用来为一个线程开启一个消息循环。 默认情况下android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环
2016-03-29 18:32:21
467
转载 [Java并发包学习七]解密ThreadLocal
概述相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路;ThreadLocal的目的是为了解决多线程访问资源时的共享问题。如果你也这样认为的,那现在给你10秒钟,清空之前对ThreadLocal的错误的认知!看看JDK中的源码是怎么写的:This class provides thr
2016-03-29 18:04:11
386
原创 Android源代码的获取
最近想研究下Android的底层结构,因此想弄一份源代码下来,但是google的服务器下载非常慢,因此用国内的镜像解决。 参见: http://sunjiajia.com/2015/08/14/download-android-open-source-projects/转发请注明出处: 安卓猴的博客(http://sunjiajia.com) 1.首先,感谢伟大的Google; 2.其次,
2016-03-23 16:53:26
523
原创 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-03-23 16:47:25
322
原创 linux中设备驱动和设备文件
可能是以前的驱动太多简单,也可能是我看书的时候不够仔细,一直以为ko写好以后,insmod成功以后就能在/dev下直接引用。其实不然。对于misc类型的驱动,可能确实如此(没有系统的考证过)。但是对于字符设备和块设备,insmod驱动以后,只是单纯的加载了驱动。可以使用cat对/proc/devices进行查看。如下:____________________________________
2014-02-17 13:03:07
2040
原创 Linux驱动编写中的问题
如前所述,生成了ko文件之后,需要手工insmod,手工mknod,每次开机之后都要手工装载,很麻烦,于是想在程序中实现自动加载。 由于主设备号是系统生成的,无法在应用程序中取得(或许可以取得,我没有找到方法),于是干脆在驱动中集成。 最先想到的方法是system()调用,作为c标准库的一部分,system()在应用程序中屡试不爽,分外方便。但是写完了之后发现驱动中不能写这个语
2014-02-17 12:59:54
508
原创 调用模板类出现 undefined reference 错误的解决方法
调试了一上午,搞了半天是这个g++编译器本身的问题,模板类果然是个麻烦的家伙。 g++不支持模板类的分离编译,因此模板的实现最好都些在.h文件中,否则将出现undefined reference to XXXX 的错误。下面是一个出错的例子,解决方法就是将unilinklist.c中的代码移到unilinklist.h中。//unilinklist.h#ifndef UNILIN
2014-02-17 12:56:45
4793
6
原创 类模版的分离编译问题
模板不是数据类型,只能算是一种行为集合的表示。编译器在使用模板时,通过更换模板参数来创建数据类型。这个过程就是模板实例化(Instantiation), 从模板类创建得到的类型称之为特例(specialization),说白了就是创建了一个新类型。 模板实例化取决于编译器能够找到可用代码来创建特例(称之为实例化要素,point of instantiation),也就是说,编译器不但要看到模板的声
2014-02-17 12:51:53
593
转载 程序员如何快速准备面试中的算法
前言 我决定写篇短文,即为此文。之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法。尽管在微博上简单梳理过,如下图所示: 但因字数限制,许多问题无法一次性说清楚,故特撰此文着重阐述下:程序员如何快速准备面试中的算法,顺便推荐一些相关的书籍或资料。备战面试中算法的五个步骤 总体来说,备战面试中的算法,分为五个步骤,如下
2014-02-13 15:00:15
743
1
原创 模块使用计数
一、 模块使用计数的背景知识模块是一种可以在内核运行过程中动态加载、卸载的内核功能组件。2.6内核中模块的命名方式为*.ko。模块在被使用时,是不允许被卸载的。编程时需要用“使用计数”来描述模块是否在被使用。二、2.4内核使用计数的实现方法 2.4内核中,模块自身通过 MOD_INC_USE_COUNT, MOD_DEC_USE_COUNT
2014-02-13 13:37:47
688
原创 C++中常见的文件读取结尾问题
在使用C/C++读文件的时候,一定都使用过eof()这个函数来判断文件是否为空或者是否读到文件结尾了,也会在使用这个函数的过程中遇到一些问题,如不能准确的判断是否为空或者是否到了文件尾,以至于有些人可能还会怀疑这个函数是不是本身在设计上就有问题。先来看看如下这段代码:#include stream>#include fstream>using namespace
2014-02-13 13:36:14
1685
转载 C++中相对路径与绝对路径以及斜杠与反斜杠的区别
文件路径正斜杠和反斜杠正斜杠,又称左斜杠,符号是"/";反斜杠,也称右斜杠,符号是"\"。文件路径的表示可以分为绝对路径和相对路径:1、绝对路径表示相对容易,例如pDummyFile =fopen("D:\\vctest\\glTexture\\texture\\dummy.bmp", "rb");给出了从盘符开始的全部路径,这里需要注意的是“\”要用双斜线
2014-02-13 13:34:23
638
转载 平衡二叉树(解惑)
平衡二叉树定义(AVL):它或者是一颗空树,或者具有以下性质的二叉树:它的左子树和右子树的深度之差的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。平衡因子(bf):结点的左子树的深度减去右子树的深度,那么显然-1很显然,平衡二叉树是在二叉排序树(BST)上引入的,就是为了解决二叉排序树的不平衡性导致时间复杂度大大下降,那么AVL就保持住了(BST)的最好时间复杂度O(lo
2014-02-13 13:30:24
656
原创 再谈string类
暑期受委托做了一个文本条目解析的工具,已经过了很长时间,有必要把一点经验写一下,可惜源代码带不出来。1.对同一文本反复读取的问题。在做指定字段排除时,需要反复读取字段表,而这个表存于一个text文本中。那么就需要在每次用while(getline(fin, finBuff))之后对fin进行标志位清楚,即:fin.clear();,否则文件只会读取一次,后面的循环中将认为文件已经读取完
2014-02-13 13:27:46
816
原创 Qsys+NIOSII+SDRAM+DE2_115样例具体实现
平台背景:操作系统:Windows7 64bitQuartusII版本:13.0开发板:Altera DE2-115 具体步骤:1.新建工程:2新建顶层文件,本例以bdf构建:3.点击Qsys(旧版本中的DSPbuilder),新建一个nios芯片:默认会有一个时钟,这个是芯片共
2014-02-13 13:20:50
5640
3
原创 NIOSII下简单的串口实验
本来是写个最简单的程序 就一个串口通信的程序刚刚开始是完全不出字符一单步发现 那个状态位卡那里了于是果断的把NIOS的data cache禁掉了然后把等待状态改变的语句粗暴的去掉了然后出来的字符了结果写完了之后是这个样子本来是写个最简单的程序 就一个串口通信的程序刚刚开始是完全不出字符一单步发现 那个状态位卡那里了于是果断的把NIOS的data cach
2014-02-13 13:17:53
2040
翻译 STL的经典文章
STL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort()。STL另一个重要特性是它不是面向
2012-09-12 16:12:42
357
原创 山重水复疑无路,柳暗花明又一村——记一次在win7下安装MATLAB的经历
某人现在搞课程设计,要用到MATLAB,请求我帮忙装一下。其电脑是惠普的本本,系统是win7. 拿到本本后,我的第一个想法就是,把我机子上安装的MATLAB6.5的安装程序考过去,直接安装。顺利的话,事情会很简单。 首先拷贝的时候就遇到第一个问题,MATLAB6.5的安装包并不大,只有600M,但是里面的文件个数相当多,至少有两万。我刚开始使用路由器,用飞鸽内网传输,传到一半的
2012-09-12 16:09:52
2147
原创 电脑的启动过程
以前帮很多人维护过电脑,大大小小的问题很多,最常见的是重装系统。对于喜欢捣腾电脑的人来,重装系统是很容易的事情;不过对另外一些人而言,还是比较困难。以下做一些常识性的介绍,希望有所帮助。 电脑的启动过程中有一个非常完善的硬件自检机制。对于采用Award BIOS的电脑来说,它在上电自检那短暂的几秒钟里,就可以完成100多个检测步骤。首先让我们了解两个基本概念:第一个是BIOS
2012-09-12 16:07:59
548
原创 关于virtualbox的一些使用总结
使用virtualbox已经很长时间,打了很多交道。相信很多搞嵌入式什么的都逃不过虚拟机。当前用得比较多的虚拟机有两个:vmare和virtualbox,vmare太肥,没有使用过,virtualbox就相对精简的多。 比较简单的配置就不写了,说说曾经困惑的地方:1. 虚拟机上网的问题。最简单的是NAT,直接转发,很少出问题。另外一种需要进行局域网内部传输的时候,可以
2012-09-12 16:04:56
807
Quartus中基于Matlab_FDAtool的滤波器实现以及signalTap的用法
2016-12-15
QuartusII+Qsys+NIOSII+SDRAM+DE2_115样例具体实现
2016-12-15
quartusII13_NiosII_Qsys下CFI flash程序下载教程(DE2_115)
2014-02-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人