自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Leon

我们历经迷茫走到今天,为何要轻易放弃

  • 博客(94)
  • 资源 (1)
  • 收藏
  • 关注

原创 用C语言实现websocket服务器

Websocket Echo Server Demo背景嵌入式设备的应用开发大都依靠C语言来完成,我去研究如何用C语言实现websocket服务器也是为了在嵌入式设备中实现一个ip camera的功能,用户通过网页访问到嵌入式设备的摄像头以及音频,在学习的过程中先实现echo server是最基本的。主要参考资源编写 WebSocket 服务器——MDNLinux下用C编写WebSocet服务以

2017-03-05 19:25:00 30246 10

原创 terminator安装及常用操作

terminator安装sudo add-apt-repository ppa:gnome-terminatorsudoapt-get updatesudo apt-get install terminator使用Ctrl+Shift+O 水平分割终端(分成上下两个窗口)Ctrl+Shift+E 垂直分割终端(分成左右两个窗口)Ctrl+Shift+W 关闭当前终端...

2018-08-28 16:54:43 9318

转载 tmux使用手记

tmux指令操作session 会话: session是一个特定的终端组合。输入tmux就可以打开一个新的sessiontmux new -s session_name 创建名为 session_name 的 tmux session tmux attach -t session_name 重新回到叫做 session_name 的 tmux session tm...

2018-08-28 16:52:41 2955

原创 解决QCamera使用QCameraImageCapture截图卡顿问题

卡顿原因:QCameraImageCapture每次调用capture,无论你是否输入路径,都会将捕获的图片存盘,存盘的速度慢导致卡顿。解决思路:将捕获的图片输出到内存缓冲区而不存盘具体操作:1、确保支持输出到缓冲区isCaptureDestinationSupported(QCameraImageCapture::CaptureToBuffer)2、设置截图输出、缓冲区格式、分辨率image_c...

2018-03-08 16:09:48 6951 9

转载 Git忽略规则及.gitignore规则不生效的解决办法

1、Git忽略规则在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:*.a # 忽略所有 .a 结尾的文件!lib.a # 但 lib.a 除外/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODOb

2017-07-01 21:59:22 473

原创 蓝桥杯-算法训练-摆动序列

问题描述  如果一个序列满足下面的性质,我们就将它称为摆动序列:  1. 序列中的所有数都是不大于k的正整数;  2. 序列中至少有两个数。  3. 序列中的数两两不相等;  4. 如果第i – 1个数比第i – 2个数大,则第i个数比第i – 2个数小;如果第i – 1个数比第i – 2个数小,则第i个数比第i – 2个数大。  比如,当k = 3时,有下面几个这

2017-03-28 22:32:48 959

转载 ALSA(Advanced Linux Sound Architecture)声卡编程介绍及实例

ALSA表示高级Linux声音体系结构(Advanced Linux Sound Architecture)。它由一系列内核驱动,应用程序编译接口(API)以及支持Linux下声音的实用程序组成。这篇文章里,我将简单介绍 ALSA项目的基本框架以及它的软件组成。主要集中介绍PCM接口编程,包括您可以自动实践的程序示例。

2017-03-14 21:20:36 2276

原创 openwrt远程登录总结

一、ssh登录1、密码设置使用ssh登录前必须要设置过密码才能使用#passwd2、服务开启在openwrt默认都是带有ssh服务的,只不过使用的是一个相对较小的SSH服务器和客户端——dropbear。#dropbear3、开机启动在/etc/rc.local文件最后也就是exit 0前面一行加上启动服务的命令就好啦vi /etc/rc.local二、telnet登录telnet服务在没有设置ro

2017-03-12 15:33:35 15134

原创 无线网络转为有线网络

借助winPC实现无线转有线在做作品类比赛的时候,现场演示遇到了一个问题,就是现场只提供无线网络,而不提供有线网,更糟糕的是自己的作品必须要有有线网络才能用。大家自然就会想到把无线网络转换成有线网络不就行了吗,话虽这样说,但是上网找了很久也没有结果,最后经过自己摸索发现了这个方法,在此记录。场景设备比赛现场的无线设备A中间用于无线转有线的Windows电脑B只有通过网线才能联网的嵌入式开发板C

2017-03-05 10:55:55 14865 1

原创 Base64编码、解码 C语言例子(使用OpenSSL库)

c语言使用openssl库中的函数进行简单的加解密

2017-03-01 20:51:42 12182 3

原创 Linux C Socket UDP编程介绍及实例

1、UDP网络编程主要流程UDP协议的程序设计框架,客户端和服务器之间的差别在于服务器必须使用bind()函数来绑定侦听的本地UDP端口,而客户端则可以不进行绑定,直接发送到服务器地址的某个端口地址。框图如图1.3所示UDP协议的服务器端流程服务器流程主要分为下述6个部分,即建立套接字、设置套接字地址参数、进行端口绑定、接收数据、发送数据、关闭套接字等。(1)建立套接字文件描述符,

2016-11-25 15:48:10 43711 4

原创 Linux C Socket TCP编程介绍及实例

1、TCP网络编程主要流程 图1.1注意:图1.1中可以看到close指向read并且标有结束连接的指示,可能有些人会有疑问,这个标注的意思是服务器在处理客户端的时候是循环读取的,如果客户端没有发送数据服务器处理客户端的线程是阻塞在read这里的,当客户端调用close后,服务器read就会立刻返回-1,这时服务器处理线程才会继续向下执行。如果客户端没有执行close而是直接异常退出,

2016-11-25 15:38:25 25135 8

原创 IntelliJ IDEA常用快捷操作

1、自动生成get set方法alt+insert2、快速注释在函数上一行输入 /** 回车,就会自动生成

2016-10-21 15:38:43 440

原创 借助QtCreator开发OpenWrt应用程序 一键远程运行解决方案

说一下自己的现实需求,在OpenWrt开发板上写应用程序已经有一段时间了,每次都是写完程序编辑makefile编译生成ipk包,手动拷贝到开发板上,运行调试,费劲。我需要借助QtCreator我们可以实现写好程序后一键远程运行于开发板上!1、下载OpenWrt源码配置编译配置编译后会在/openwrt/staging_dir/toolchain-mipsel_24kec+dsp

2016-09-25 22:21:03 4176 4

原创 QtCreator开发板远程调试

我们搭建好交叉编译环境后,不满足于pc写程序,手动移动到开发板上测试的繁琐方式。所以需要继续设置,实现写完程序,点击运行直接在开发板上运行调试。这并不难,因为qtcreator已经为我们提供了很好的自定义选项。我的qtcreator版本是4.1.01、添加一台远程设备添加之前,要确保开发板已经移植的sshd,可以通过ssh登录到开发板。如何移植我之前有写过相关文章。Tools->O

2016-09-19 10:41:24 8393

原创 斐讯路由器K2最新刷机教程

最新版固件无法刷机让人很头疼,我们需要先手动降级,把固件刷回以前版本,再用刷机工具进行刷机。1、登录路由器找到如下界面下载这个文件SW_K2_703004604_V21.4.6.12.bin在上面界面中点击浏览找到刚才下载的.bin文件,点击升级。等待几分钟后,重新连接路由器,成功即可继续。2、借助自动刷机工具刷入breed自动刷机工具下载:http://pan

2016-09-19 09:05:41 36095

原创 Ubuntu16.04交叉编译OpenCV并移植

宿主机:Ubuntu 16.04 64bit开发板:tq2440OpenCV: 2.4.3其他:arm-linux-g++ 4.4.3 / arm-linux-gcc 4.4.3CMake 2.8.10.2CMake-gui 3.5.1

2016-09-18 09:32:09 7776 2

原创 Ubuntu16.04下Qt交叉编译开发环境搭建

一、软件包介绍:1、arm-linux-gcc.tar.gz   我提供的包是arm-linux-gcc4.4.3版本,arm-linux-gcc是编译arm开发板上程序用的一种gcc。2、qt-everywhere-opensource-src-4.8.5.tar.gz    这个包是QT4.8.5的源码包,everywhere意思就是可以编译出适合各种平台的版本。3、qt-

2016-09-14 16:54:28 10387 6

原创 ubuntu16.04下配置Qt+OpenCV开发环境

系统:Ubuntu16.04 64位Qt:Qt5.7.0+Qt Creator4.0.2OpenCV:opencv-2.4.13按照上面的地址和版本下载相应Linux 64位的安装包后,就可以开始了。装系统就不说了。一、安装qt1、将下载的qt-opensource-linux-x64-5.7.0.run直接运行安装即可。2、接下来CMake的时候需要qt4,所以还需要执行$sudo apt-ge...

2016-09-03 17:52:29 10089 4

转载 CentOS将用户添加到sudoer列表

CentOS将用户添加到sudoer列表 CentOS 默认情况下,linux没有将当前用户列入到sudoer列表中(在redhat系列的linux发行版中最为常见),这时如果你使用sudo来执行某些命令的话,就会提示你该用户不再sudoer列表中。这时,我们就需要手工加入了。 1.在命令行下键入:$su    ,并输入root账户的密码,切换到root账户

2016-08-08 09:20:18 5942

转载 解决Qt程序在Linux下无法输入中文的办法

一位网友问我如何在Linux的Qt的应用程序中输入中文,我一开始觉得不是什么问题,但是后面自己尝试了一下还真不行。不仅是Qt制作的应用程序,就连Qt Creator都无法支持。后面看了一些资料,了解了Qt应用程序的方法,这里和大家分享一下。写一个bash脚本(),内容如下:#!/bin/sh cd YourBinaryDirectory export QT_IM_MODULE=

2016-07-18 13:24:41 7140 1

原创 移植ssh到arm

我用的是天嵌的TQ2440开发板,但SSH移植不涉及到驱动什么的,所以除了交叉编译工具链应该都通用。1. 下载需要的源码:mkdir -p ~/arm/fsmkdir -p ~/arm/source下载zlib: wget -c http://www.zlib.net/zlib-1.2.3.tar.gz下载ssl:wget -c http://www.openssl.org/source/open...

2016-06-27 17:41:14 1537 6

转载 c#中list容器学习

C# List用法所属命名空间:using System.Collections.Generic;  List类是  ArrayList 类的泛型等效类。 该类使用大小可按需动态增加的数组实现  IList 泛型接口。泛型的好处: 它为使用 c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换,所以性能得到提高。

2016-06-20 11:46:57 1044

原创 centos6.5下搭建阿帕奇环境,查看静态页面

准备# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT # service iptables save安装启动#yum ins

2016-06-03 21:51:29 2904

原创 centos6.5 ssh配置与使用

#rpm -qa |grep ssh 检查是否装了SSH包#yum install openssh-server 没有的话,安装SSH服务#chkconfig --list sshd 检查SSHD是否在本运行级别下设置为开机启动#chkconfig --level 2345 sshd on  如果没设置启动就设置下#service sshd restart  重新启

2016-06-03 21:04:03 3528

原创 CentOS 6.5下搭建vsftp服务器

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。 下面说说在CentOS 6.5_64位系统下安装VSFTP步骤 1.查看linux系统版本和内核信息[root@vmware1 ~]# cat /etc/issue CentOS relea

2016-06-03 08:45:52 763

转载 centos 6.5下搭建DNS服务器

1.安装DNS服务器软件2.在bind的主配置文件中添加该域3.在/var/named中创建该域的zone文件4.编辑zone文件,添加需要的信息5.检测防火墙或selinux设置6.启动bind服务,重启网络服务7.用户端测试域名解析安装bindrpm -qa | grep bind    #检查DNS服务器软件

2016-06-02 21:11:25 4112

转载 centos6.5上NFS服务器搭建

项目背景:搭建NFS网络服务器!!!试验环境:vmware workstation 11centos6.5的系统下NFS服务器:ip:192.168.0.36 iptables 关闭  setenforce 0NFS客户端:ip:192.168.0.39 iptables 关闭  setenforce 0Secur

2016-06-01 21:37:54 1460

原创 OpenWrt将Python安装到U盘

1、U盘挂载,具体自己百度,挂载位置为 /mnt/sda1    root#mount /dev/sda1 /mnt/sda1mkdir /mnt/sda1/packages/2、修改opkg的配置文件echo dest usb /mnt/sda1/packages/ >> /etc/opkg.conf3、安装python到设定的U盘目录opkg updateopkg

2016-05-02 16:11:27 4558

原创 Linux操作GPIO(文件IO方式)

首先,看看系统中有没有“/sys/class/gpio”这个文件夹。如果没有请在编译内核的时候加入Device Drivers->GPIO Support ->/sys/class/gpio/… (sysfs interface)。/sys/class/gpio的使用说明:gpio_operation通过/sys/文件接口操作IO端口GPIO到文件系统的

2016-04-28 21:47:37 25226 4

原创 从公网访问openwrt上用mjpeg-streamer搭建的视频监控

通过ssh反向隧道将mjpeg-streamer的视频端口代理到公网VPS(例腾讯学生云服务器)上,从而通过访问云服务器间接访问NAT下的openwrt。

2016-04-16 10:44:07 6668 4

原创 Android Studio 无法引用org.apache.http解决办法

sdk 23以上不再支持org.apache.http,你可以将降到sdk22 然后在gradle中添加compile 'com.android.support:appcompat-v7:22.2.0'非要用高版本sdk,则添加android { useLibrary 'org.apache.http.legacy'}也可以用OkHttp

2016-04-14 22:13:41 17693 2

原创 linux下/dev/dsp:No such file or directory解决方法

写了一个需要通过dsp进行音频操作的小程序,执行时却提示/dev/dsp:No such file or directory$ls /dev目录下并没有dsp这个文件解决方法很简单:$sudo mknod /dev/dsp c 14 3$sudo chmod 666 /dev/dsp

2016-03-19 11:40:26 10789 2

原创 细谈select函数(C语言)

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式

2016-03-18 21:07:27 846

转载 Git常用命令

查看、添加、提交、删除、找回,重置修改文件git help # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co -- # 抛弃工作区修改git co . # 抛弃工作区修改git add # 将工作文件修改提交到本地暂存区git add . # 将所有修改过的工作文件提交暂存区

2016-03-13 22:15:29 439

原创 openwrt添加一条开机自动执行的命令

修改:/etc/rc.local在exit 0前面填写要执行的命令即可如开机自动执行挂载U盘root@OpenWrt:/# vi /etc/rc.local # Put your custom commands here that should be executed once# the system init finished. By default this

2016-03-08 15:26:08 14979

原创 openWrt挂载U盘

1、需求:挂载fat32格式的U盘2、挂载U盘所需要的包1)komd-usb-ohci kmod-usb2 kmod-usb-storage kmod-usb-core 这些是USB驱动包2) kmod-nls-base kmod-nls-cp437 kmod-nls-iso8859-1 这些是语言包3) kmod-fs-vfat 文件系统支持vfat 类型

2016-02-17 13:00:43 2389

转载 Ubuntu 解决重启后resolv.conf重置的问题

最近发现新装的Ubuntu 每次重启后,/etc/resolv.conf里面设置的nameserver就被清空这跟以前用RHT系的 情况是完全不一样的: 在google上搜了一下,发现这里面还真有些奥妙: 1 /etc/resolv.conf 其实是一个Link 它其实指向的是 /run/resolvconf/resolv.conf 2 Ubuntu 有一个 r

2016-02-07 06:30:22 5842

原创 openWrt从源码下载到编译(开发环境搭建)

从官网获得openwrt源码openwrt的配置方法openwrt的编译方法

2016-02-05 23:52:56 26779

原创 CentOS6.5下修改MySQL编码方法

1. 找到mysql的配置文件,拷贝到/etc目录下,第一步很重要 使用find命令查找cnf文件。记得不要去找my.cnf因为它不一定存在,而应该找*.cnf。 [root@Web_Mysql ~]# find / -iname "*.cnf" -print /usr/share/mysql/my-huge.cnf /usr/share/mysql/my-sm

2016-02-04 00:44:17 540

飞机大战(C++)

基本功能 (1)设置一个战机具有血量和攻击属性,通过键盘的方向键可控制战机的位置,空格键发射重型导弹,C键发射跟踪导弹。 (2)多架敌机随机从界面上端飞出,具有不同的速度和飞行方向,敌机随机发射导弹。 (3)被劫持的客机随机产生,界面中来回上下飞行,击中机翼,客机会向被击中机翼的方向飞行,击中客机中部位置客机直接坠毁,击中机头有10%的机率坠毁,击中机尾客机迅速飞出窗体,成功迫降。 (4)被劫持的客机中具有一定数量的乘客,在飞行过程中有一定机率跳伞,飞出窗体矩形则表示成功逃生。 (5)每隔一段时间会产生一个血包,可以为战机恢复2点生命值。 (6)敌机血量、速度、产生时间根据关卡增加而增加,可自行选择关卡。 (7)对于随机产生的敌机和敌机导弹,若飞出窗体矩形,则释放该对象;对于血量为0的敌机和敌机导弹,同样会删除释放内存空间,减少内存消耗。 (8)添加爆炸效果和音效,战机导弹发射音效,跳伞动画效果,背景移动效果。 (9)菜单中具有重新开始、暂停等功能。

2015-08-07

空空如也

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

TA关注的人

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