自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 嵌入式Linux HID多指触控/触摸设备报表描述符

这里只做一下简单记录,更为详细的修改流程后续的文章再介绍。

2023-11-04 11:25:23 577

原创 使用C++实现FC红白机模拟器 Cartridge 与 Mapper(实现篇)

2.Cartridge 与 Mapper的实现首先我们在QT中创建两个类,Cartridge 与Mapper类:Cartridge 类负责加载和解析ROM,因为CPU和PPU的内存映射都有指向卡带的部分,因此需要分别提供CPU和PPU的读写接口。 Mapper 类负责地址空间与ROM的实际映射关系。2.1Cartridge 类实现在Qt中创建Cartridge类并生成cartridge.h与cartridge.cpp两个文件。cartridge.h内容如下:#ifndef C...

2021-08-26 12:54:22 1698 3

原创 使用C++实现FC红白机模拟器 Cartridge 与 Mapper(原理篇)

1. 认识nes文件我们既然是模拟,就不可能使用实体的卡带硬件。那我们如何获取游戏文件呢?好在已经有人为我们准备好了(心怀感恩)。.nes文件是NES(FC)的rom文件,关于它的来龙去脉这里就不做详细介绍了(我也不知道)。.nes有1.0和2.0之分,简单起见 这里只考虑1.0。NES文件由 Header、Trainer、PRG ROM、CHR ROM4个部分组成。Header 大小:16字节,用于ROM文件的校验,记录PRG和CHR大小等作用。 Trainer,这个区域很多时候并不.

2021-08-24 10:28:31 2318

原创 使用C++实现FC红白机模拟器 概述

想必提到Fc游戏机大家都应该不会陌生(陌生您也不会搜到这篇文章了 ),FC游戏机又称红白机,是任天堂在1983年退出,很快也火遍中国。不过国内更熟悉的可能是小霸王等一众兼容机(偷笑)~~但是不管怎么说,红白机依然使我们不少人的童年回忆。想必当初一起玩游戏的那些伙伴已经走入了各行各业,自然也少不了成为“程序猿”的。你没有想过自己实现一款红白机呢?或许这有些难度,毕竟我们还需要准备不同的硬件、设计电路焊接等。不过好在,我们可以通过纯代码的方式在PC(或者android)实现一个红白机模拟器。工欲善其事必先利

2021-08-23 12:40:54 3410 3

原创 Winform自定义控件:完全自绘滚动条

warning:本文默认您具有一定的基础知识,且对GDI+有一点了解。虽然系统已经自带了滚动条控件,大部分情况下也能适用。但是有时候我们对界面进行整体美化的时候,自带的就显得有点傻大黑粗 了。。虽然我们也完全可以在原有控件的基础上进行美化,但是本文更侧重学习新知识。故此本文决定重复造轮子。开始吧首先在项目右键选择添加新项(名字可能不同,相信您能找到正确的按钮),然后选择自定义控件,注意是自定义控件而不是用户组件。并重命名控件名称。新建以后除了构造方法外只有一个OnPaint方法,此方法在控件.

2021-02-27 17:14:45 2411

原创 WInform自定义控件:自定义下拉框/弹出框

在平常进行应用开发的时候,经常会看到如下的弹出窗口。如:系统菜单、ComboBox组合框等等。大部分时候,这些已经足够使用,通过集成原控件也能进行相当不错的美化。但是某些时候 ,我们系统弹出菜单能够显示自定义的控件内容。例如在弹出菜单中放置一个搜索框,或者自定义一个ComboBox等。那么就需要利用到一个系统组件:ToolStripDropDownToolStripDown的官方介绍:https://docs.microsoft.com/en-us/dotnet/api/system.windows.

2021-02-24 13:06:22 3136 1

原创 Winform 的 VScrollBar参数详解——为啥设置了最大值却滚动不到?

最近在写一个SSH的控制台应用,因为自带的文本编辑框总是不进入人意,另外本着学习新知识的原因,打算重写一个控件。然后就用到了这个VScrollBar纵向滚动条控件。先上图:**Maxinum :**可滚动的最大值,网上都是如此描述,导致误解。实际是Maxinum并不是“可滚动的最大值”,而应该是滚动条总高度代表的“值”,也就是说 Maxinum - Mininum = 可滚动的值+LargeChange**Mininum:**也就是滚动条最低端的值,一般写0就行**LargeChange:**滚

2020-11-24 10:09:51 2528 5

原创 迅为4412修改uboot以支持4G以上的分区

修改uboot以支持4G以上的分区接到任务需要:需要对itop4412的开发板给根目录分配4G以上的空间。因为uboot默认使不能分配4G以上分区的,因此需要修改源码。祭出“百度大法”,找到了下面的博客:博客地址:https://www.cnblogs.com/stay-foolish1984/p/10489625.html。关键内容:/common/Cmd_mmc_fdisk.c里面的 unsigned int calc_unit(unsigned int length,SDInfo sdI

2020-11-07 16:54:06 426

原创 PHP的yield:一个以时间换空间的方法

今天在闲逛PHP的官方文档的时候,发现了这么个用法:yield,叫 生成器官方是这么描述的(PHP 5 >= 5.5.0, PHP 7)生成器提供了一种更容易的方法来实现简单的对象迭代,相比较定义类实现 Iterator 接口的方式,性能开销和复杂性大大降低。生成器允许你在 foreach 代码块中写代码来迭代一组数据而不需要在内存中创建一个数组, 那会使你的内存达到上限,或者会占据可观的处理时间。相反,你可以写一个生成器函数,就像一个普通的自定义函数一样, 和普通函数只返回一次不同的是,

2020-10-22 09:58:59 305

原创 php7交叉编译开启curl就报错的问题解决

这几天在折腾把php7移植到arm开发板中去,在几乎不加任何扩展的情况下,使用如下指令成功编译且顺利的移植到了开发板。(当然这个过程中还遇到了其他的坑,这个以后再说)。./configure --host=arm-none-linux \ --prefix=/usr/arm \ --disable-all \ --enable-fpm \ --enable-session \ --enable-tokenizer \ --with-zlib \ --without-iconv \

2020-09-01 11:41:54 536

原创 Android利用Fragment实现权限授权管理

实现背景:最近写项目有多处需要动态的申请权限,Android原生的权限申请方式虽然足够简单但是却并不是很方便。比如首先要通过checkSelfPermission去判断是否已经有权限,已经有权限则进行相应的业务处理,如果没有权限则通过requestPermissions申请权限,并且在onRequestPermissionsResult回调方法中再次进行判断,如果有权限再次调用业务代码。也就是业务代码需要进行两次调用,所以想要把权限申请的部分进行封装,并且不需要在onRequestPermission

2020-08-17 11:36:07 1931

原创 PhpStorm 64位打不开32位正常

网上有一些解决办法,可能是由于导致这种问题的原因有很多种,而我的恰巧与网上的不同导致。解决办法:找到以下路径(注意根据实际情况改成自己的)C:\Users\22071\AppData\Roaming\JetBrains\PhpStorm2020.2打开phpstorm64.exe.vmoptions可以看到如下内容这个插件所指向的文件已经删除了,可能是因为这个原因导致PhpStorm无法启动删除此行,PhpStrom恢复正常。...

2020-08-13 09:16:57 907

原创 dhclient 移植到armhf(其他架构也大同小异)

简单到不想写字下载->配置->编译下载地址ftp://ftp.isc.org/isc/dhcp/4.4.1/dhcp-4.4.1.tar.gz或者使用我的网盘地址链接:https://pan.baidu.com/s/1_9gGpxUIOMNSjObOste60Q提取码:7md3解压后进入源码目录./configure CC=arm-linux-gnueabihf-gcc BUILD_CC=gcc ac_cv_file__dev_random=yes --host=arm-linu

2020-07-24 17:22:40 464

原创 OkHttp的Response使用注意(NetworkOnMainThreadException)

众所周知,在安卓中网络操作是不可放在主线程中进行的。那还不简单,放异步中不就行了。于是想当然的写下如下代码,代码看起来合情合理,doInBackground 中请求网络,返回response,再于onPostExecute 中解析数据并且更新界面。而且测试的时候没有报错。@Overrideprotected String doInBackground(Object[] objects) { Request request = new Request.Builder() .post(Req

2020-07-22 10:27:34 1883

转载 crontab常用指令

crontab -l -u root #查看root用户0 */1 * * * command0 */2 * * * commandcrontab -e #编辑定时任务,在编写时会检查语法,而echo,或者vi编辑配置时不会检查(visudo也会检查语法)0 */1 * * * command0 */2 * * * commandcront...

2019-03-26 10:17:51 333

原创 python实现实时监控文件改变并通过sftp上传

因为项目需要临时实现的小功能,有时间在做详细分析完善。import paramikoimport osimport hashlibimport time# transport = paramiko.Transport(('192.168.1.96', 22))# transport.connect(username='morra', password='357447218')...

2019-01-30 09:38:07 2734 1

原创 inputStream.read(data)导致的数据错误

哎,java学的不精各种百度copy代码,结果弄出各种奇葩问题。这不百度了一个HttpURLConnection 模拟http请求的就出问题了:String message = ""; try { URL url = new URL(uri); HttpURLConnection connection = (HttpURLConnection) url.openConnection...

2018-11-29 15:27:51 2177

转载 Mysql主从数据库 数据同步(复制)

近期的随着一个小项目的规模逐渐扩大,数据的安全性和稳定性也越来越重要。数据库实时备份,宕机切换自然提升了日程。 于是参考了下文:(下文为转载,进行了格式排版,和部分修改) mysql主从同步定义主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。因为复制是异步进行的,所以从服务器...

2018-11-16 14:38:11 590

原创 Jquery的on绑定方法在Iphone下失效的问题

今日做项目的时候遇到一个奇怪的问题,例如:<div class="am-btn am-btn-default sure-btn" id="sure_id">确定</div>在js中是这样的:$("body").on("click","#sure_id",function(){ console.log("点击了"); }

2018-10-11 13:46:14 343

转载 MyISAM和InnoDB索引实现对比

MyISAM索引实现MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。如图: 这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索引(Primary key)示意。可以看出MyISAM的索引文件仅仅保存数据记录的地址。在MyISAM中,主索引和辅助索引(Secondary key)在结构上没有任何区别,只是主索引要求key是唯一的,而...

2018-05-25 17:54:20 187

原创 MYSQL8.0安装后 phpMyAdmin无法登陆解决

因为某些原因安装了8.0以后phpMyAdmin始终无法登陆 。我也是手残,没事更新什么mysql。原因在于MYSQL8.0的密码验证方式从mysql_native_password改为了caching_sha2_password。而目前为止,php的pdo和mysqli应该还是不支持的。所以在my.ini找到default_authentication_plugin=caching_sha2_p...

2018-05-16 02:40:19 7347

转载 USB3.0、PCIe、PCI等各总线速度对比与介绍

需要注意的是,在一些新的技术标准中,为了防止数据在高速传输中出错而加入了校验码,比如PCI-E 2.0、USB 3.0和SATA 3.0中采用的是8/10编码,每10位编码中只有8位是真实数据,这时单位换算就不再是1:8而是1:10了,USB 3.0的5Gbps速度实际上是理论500MB/s而非理论625MB/s,SATA 6Gbps的理论速度则是600MB/s而非750MB/s  

2018-01-21 22:46:03 48398 1

原创 让Nginx支持php的PHP_INFO

通常我们在配置nginx使其支持php时,都是进行类似如下配置: location ~ .php$ { root /var/www/bbs.dingd.cn; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fas

2017-10-20 04:05:56 2010

原创 PHP的SESSION导致长连接阻塞

最近在开发一个网页版的即时聊天程序,后端采用的PHP。程序会定时轮训服务器,查询有没有新的消息。轮询采用的是长连接。然而遇到一个很奇怪的现象,每次刷新页面总是阻塞很久,一开始考虑难道是服务器的问题?可我是在本地测试的,应该不可能是性能瓶颈。然后反复刷新发现了一个规律:每次刷新阻塞的时间刚好和轮询长连接超时时间一致。总结:是轮询时,此链接阻塞了相同的域名的链接。浏览器会等到此链接技术后,

2017-09-09 18:17:54 796

原创 和女友谈谈快餐文化

一时兴起因为一篇文章很意外的和女朋友引出了这些一大堆风牛马不相及的杂谈。是的,平常最大的爱好除了写程序和看动漫以外,就是和女友一起谈天说地。不是情话,而是“谈人生、谈未来、谈政治、谈社会”等等,总之都是不像情侣之间会谈的,但事实的确如此。其实说谈蛮不恰当,因为更多的时候是我滔滔不绝,而她再静静聆听,并时不时的发表一些自己的观点。进入正题,本来是看到一篇有关“比尔盖茨”的年少的一篇文章,这篇

2017-08-30 00:20:26 1073

转载 神经网络入门

以下图文转载于阮一峰博客。转载请保留署名。作者: 阮一峰日期: 2017年7月13日眼下最热门的技术,绝对是人工智能。人工智能的底层模型是"神经网络"(neural network)。许多复杂的应用(比如模式识别、自动控制)和高级模型(比如深度学习)都基于它。学习人工智能,一定是从它开始。什么是神经网络呢?网上似乎缺乏通俗的解释。前两

2017-08-04 05:23:35 398

转载 WIN10中安装php manager

全部抄来的 因为自己老忘记,记一下。Windows10中自带的IIS:Microsoft-IIS/10.0。然后这个10却让原本支持组件无法安装了,php manager组件安装时提示“必须安装IIS7以上才可以安装”。那是不是真的就没法在新的IIS上安装了呢?显然不是的。自IIS7以来,微软的IIS更改并不大,架构一致,几乎所有IIS7能用的组件都能够在IIS7.7/8/8.5/

2017-07-31 15:43:56 1092

转载 MYSQL子查询和分组查询

一、子查询1、子查询(subquery):嵌套在其他查询中的查询。例如:select user_id from usertable where mobile_no in (select mobile_no from mobile where mobile_id = '10086');这条SQL语句中,括号内为从mobile表汇总检索mobile_id为10086的所有行中的

2017-07-14 22:53:08 589

原创 C实现LINUX命令行环境下的进度条功能

虽然Linux通过命令行操作时非常方便的,但是有时候那又臭又长的脚本执行过程的各种输出也实在看着乱七八糟,因此用C语言写了一个简单的进度条,因为是根据我自己的项目写的,所以只是单纯的循环进度条,而不是根据百分比显示。大神自己修改哦!#include  #include  #include #include  #include #include #include

2017-07-04 14:30:10 1170

转载 为什么域名解析中CNAME记录和MX记录不能共存

技术剖析RFC 1034(http://tools.ietf.org/pdf/rfc1034)章节3.6.2中指出:If aCNAME RR is present at a node, no other data should be present; this ensuresthat the data for a canonical name and its aliases cannot

2017-06-22 14:28:31 6200

转载 Andorid webview 常见问题汇总

我们在native与网页相结合开发的过程中,难免会遇到关于WebView一些共通的问题。就我目前开发过程中遇到的问题以及最后得到的优化方案都将在这里列举出来。有些是老生常谈,有些则是个人摸索得出解决方法。下面就是整理得到的些干货。1.加快HTML网页装载完成的速度默认情况html代码下载到WebView后,webkit开始解析网页各个节点,发现有外部样式文件或者外部脚本文件时,会异

2017-06-05 17:47:22 446

原创 简单几步 对Liunx服务器的宽带进行测速

第一步,下载脚本:wget -O cs https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py第二步:移动脚步到/bin/方便全局执行mv cs /bin/给个小权限chmod 0777 /bin/cs然后直接执行cs就能测速啦:cs结果大致如下:Retrieving

2017-06-05 00:34:17 1841

原创 C实现的 CENTOS宽带监控小程序

Centos服务器宽带监控程序,其他Liunx系统请自己测试哦! 使用方法: 首先在新建/etc/rate.d/目录 并且赋予0777权限 运行本程序 会在上述提到的目录中 创建 hour.json 和 minute.json 文件 前者记录 当天24小时 的宽带流速 后者记录 30分钟以内宽带流速(均为平均值) RX是下行 TX是上行 对应的数据 *8/1024/1024 得到即为 Mbps/s 数据以JSON的格式保存 程序有诸多不完善之处 还望大虾自己研究 修改

2017-05-24 23:29:31 1329

原创 数据库密码忘了怎么办?CENTOS7下面重置mysql数据库密码的办法

我们在平常使用mysql的时候,有时候难免会忘记自己设置的密码,亦或者是数据库被人修改了密码,这时候我们要如何在不知道数据库密码的情况下,修改数据库密码呢?首先编辑my.ini文件vi /etc/my.cnf找到如下类似如下内容,并填写skip-grant-tables [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/

2017-05-14 01:21:00 9569 5

原创 HTML打开QQ对话窗口

分享一个打开QQ对话框的界面,这个不管对付是否开启了QQ在线状态服务,都能运行,代码如下点击给我发消息亲测,手机网页上也可以正常打开!

2017-05-10 21:40:26 7707 1

转载 开源编程中的性别差异与偏见:女性提交请求更易被接受

研究发现,对比男性和男性在开源社区做出的贡献认可度,几乎所有女性的贡献比男性更易被认可,然而一旦女性性别被确定,她们的付出通常会被拒绝。一位研究这方面且论文相当有权威的北卡罗莱纳州立大学副教授Emerson Murphy-Hill说,“对于计算机编程中存在的性别偏见,有一系列的问题需要关心,但是我们的项目专注于研究一个特定的问题:当在GitHub上提交修改等待接受审核时,存在何种程度上的性

2017-05-10 10:21:14 902

原创 CENTOS 给iptables防火墙添加允许访问 的端口(添加端口白名单)

增加tcp协议的端口是iptables -A INPUT -p tcp -m tcp --dport 要开放的端口 -j ACCEPT增加udp协议的端口是iptables -A INPUT -p udp -m udp --dport 要开放的端口 -j ACCEPT这样添加以后仅仅是临时有效,服务器或者iptables重启后就失效了如果要永久保存的话ser

2017-05-09 17:41:26 8205

原创 centos iptable端口转发 端口映射

TCP 本机端口转发 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 UDP转发的话 iptables -t nat -A PREROUTING -p udp--dport 80 -j REDIRECT --to-ports 8080 最后保存service iptabl

2017-05-09 02:12:58 3316

原创 centos7 修改DNS

最近因为项目关系总是遇到,自己记性又不是很好,在这里标记下。 vi /etc/resolv.conf然后编辑内容nameserver 114.114.114.114nameserver 114.114.115.115重启网络服务service network restart打完收工

2017-05-06 16:27:57 4013

原创 CENTOS 7.2开启BBR加速

最近因为项目需要,正在研究如何提升服务器的网速。听别人说起bbr这个,于是就了解了下。bbr的原理,通俗来讲就是对Linux内核TCP协议的优化从而达到提速的目的。辣么就来试一试吧。我本人用的是腾讯云的云主机,centos7.2 首先执行,升级系统到7.3(不过我没有执行啊 因为我本来就是7.2 感觉应该不会差太多吧)yum update查看系统版本cat

2017-04-25 23:31:54 5766

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除