- 博客(47)
- 资源 (2)
- 收藏
- 关注
转载 c++ 之shared_ptr与make_shared用法
如果事先知道所需内存空间,使用静态内存是最简单的解决方案。 但是,在程序设计的过程中,往往会遇到需要开辟一个未知大小的内存空间,该空间根据程序所需发生大小的变化,此空间称为动态内存。 程序设计中使用动态内存的原因可能如下:(1)程序不知道自己需要多少对象;(2)程序不知道所需对象的准确类型;(3)程序需要在多个对象之间共享数据shared_ptr的用法:可以指向特定类型的对象,用于自动释放所指的对象。make_shared的用法:make_shared在动态内存中分配一个
2021-11-12 16:45:07
635
转载 rsync基本命令和用法
rsync(一):基本命令和用法2.1 说在前面的话rsync官方网站: https://www.samba.org/ftp/rsync/rsync.htmlrsync是可以实现增量备份的工具。配合任务计划,rsync能实现定时或间隔同步,配合inotify或sersync,可以实现触发式的实时同步。rsync可以实现scp的远程拷贝(rsync不支持远程到远程的拷贝,但scp支持)、cp的本地拷贝、rm删除和"ls -l"显示文件列表等功能。但需要注意的是,rsync的最终目的或..
2021-11-12 16:31:26
4579
转载 C++ final应用
一、禁用继承C++11中允许将类标记为final,方法时直接在类名称后面使用关键字final,如此,意味着继承该类会导致编译错误。实例如下: class Super final { //...... };-----------------------------------------------------------------------------二、禁用重写 C++中还允许将方法标记为fianal,这意味着无法再子类中重写该方法。这时fi...
2021-11-10 12:08:30
228
原创 python中关于list对根据某个元素进行排序
一.对列表进行排序 我们最长使用的是list.sort()对列表中的所有元素进行排序,但是对于一个字符串,我们要根据字符串中的某个元素进行排序,这要需要使用sort中的参数进行排序,例如:cnt.sort(key = lambda x:cmd(x), reverse=True)这里x可以定义一个函数,去实现你要排序的内容,例如:line_one:117.0022,39.7972,line_tow:117.0053,39.7973,diff:9.14 中对diff之后的字符串进行...
2021-09-27 19:03:52
3298
原创 linux下关于串口write error (11: Resource temporarily unavailable)问题解决
出现的原因:由于串口写数据字节数有限,上一次数据没有写完的情况下,第二次数据已经到来,造成写数据失败,表现为串口不可用。解决方法,1.加延时的方法 通过波特率,计算延时。 以波特率为115200为例,一帧数据包括:1个起始位:8个数据位;1个停止位;总共10bits;所以 波特率115200 = 115...
2019-06-13 09:59:55
6948
2
原创 关于ubuntu下crontab遇到的坑
这几天使用crontab下的root文件做定时处理问题,root一直不执行,通过查找日志也毫无发现任何有用的博客。现在就我遇到的这个问题总结一下我的解决方案。1.crontab中的环境变量问题,在写所要执行的命令或脚本时要以绝对路径去执行例如:/usr/sbin/ntpdate 0.pool.ntp.org网络更新时间,/usr/sbin/ntpdate 这个命令在/usr/sb...
2019-04-25 13:40:12
326
1
原创 调节智博风扇速度
好长时间没有写博客了,现在说一下最近做一个关于pwm调节风扇速度的,直接进入正题,风扇速度是通过占空比来调节速度的,什么是占空比呢,简单的说就是一个周期内高电平拉长的时间与周期的比,成为占空比。直接贴风扇速度控制部分:通过上面的说明可以知道如何输出高低电平来控制风扇转速了。我是通过GPIO模拟PWM来实现的,直接贴代码/**********************...
2019-03-08 16:40:58
618
原创 对emmc进行分区
1.运行的前提是,pc机上sfdisk工具为什么SD卡在Linux下/dev下的设备名叫mmcblk0p1?SD/MMC 卡的设备构造差不多,MMC 应该是 SD 的前身,不过 MMC 当时的设计比SD 小一半。所以,SD/MMC 的驱动通用,进一步的,Linux 的设备节点就延续了 MMC 的这个名字,后面的 blk 是块设备这个英文的简写, mmcblk 也就是“mmc/sd 块设备...
2018-11-08 20:42:30
4969
原创 在ubuntu16.04上找不到lsmod insmod等内核模块加载命令
在百度上收了好久都是提示没有添加正确的路径,其实不是这样的因为在/sbin/目录下就没有insmod这个命令在终端中输入lsmod命令提示:百度搜索一般都提示没有找到正确的路径:例如:https://www.cnblogs.com/pengmn/p/4794008.html其实是内核中缺少一个 module-init-tools 这个工具更新该工具:sudo apt-g...
2018-11-07 13:57:31
7979
2
原创 在ubunt16.04上移植nginx服务器
1. 安装nginx的依赖包 # 查看zlib是否安装dpkg -l | grep zlib# 解决依赖包openssl安装sudo apt-get install openssl libssl-dev# 解决依赖包pcre安装sudo apt-get install libpcre3 libpcre3-dev# 解决依赖包zlib安装sudo apt-get ...
2018-10-24 19:23:07
205
原创 在imx6q上移植ubuntu16.04系统
在i.MX6q上移植UBUNTU 16.04系统步骤:1.下载根文件系统cd ~/UbuntuDev/mkdir rootfscd rootfswget http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz 下载完后,解压到u...
2018-10-22 16:55:32
6368
8
原创 关于ATWILC1000 wifi模块在imx6q上SDIO接口驱动调试
SDIO总线和USB总线类似,SDIO总线也有两端,其中一端是主机(HOST)端,另一端是设备端(DEVICE),采用HOST- DEVICE这样的设计是为了简化DEVICE的设计,所有的通信都是由HOST端发出命令开始的。在DEVICE端只要能解溪HOST的命令,就可以同HOST进行通信了。SDIO接口类似于USB接口,如果了解USB接口调试SDIO也就不难了。首先说一下如何添加驱动:...
2018-10-18 14:23:13
1755
3
转载 Linux内核驱动基础-设备树相关总线使用
mmc总线使用实例broken-cd 表示没有热插拔探测引脚,使用轮询检测cd-gpios 使用gpio管脚作为热插拔探测引脚non-removable 表示不能进行热插拔,设备一直连接(比如eMMC)上面三个选项用于指定热插拔探测选项,如果三个选项都没有指定,则使用主机自带的热插拔引脚sdcdbus-width 数据总线位宽,默认值是<1>,也可以是<...
2018-10-16 20:02:30
1131
原创 linux内核中添加一个wifi驱动模块
1.将要添加的wifi模块放入内核目录下的drivers文件夹下,在你的wifi模块文件夹下会有Konfig和Makefile文件2.我这里的wifi文件夹的名字为wilc,在drivers目录下的Makefile中加入该模块: 在Konfig文件夹中加入对应的wilc目录下的Konfig只有将这两个文件同时添加上之后,才能在make Menuconfig中找到。3.在到内核...
2018-09-12 19:53:25
2209
原创 关于NXP官网i.mx6q与飞凌开发板i.mx6q之间的差异
首先介绍一下他们都是使用的i.mx6q处理芯片,飞凌是根据NXP官网上的开发板设计的核心板,但是飞凌的debug调试串口不是和NXP官网的开发板使用的一个口,大家要特别注意,在将飞凌的信息下载到NXP官方开发板后串口debug信息出现,当时一直怀疑是硬件有问题,经过排查对比原理图发现是串口使用不同,这给我们挖了一个很大的坑。1. 首先在NXP官网上下载一个芯片管脚查找工具这是...
2018-09-07 13:59:40
2532
转载 Ubuntu18.04下安装NFS详细步骤
1.安装NFS服务:服务器端:sudo apt install nfs-kernel-server 服务器端:sudo apt install portmap(如果安装上一个,可以不用执行此操作)客户端:sudo apt install nfs-common 2.修改NFS配置文件 1)配置portmapsudo vim /etc/default/...
2018-09-03 13:28:05
1994
原创 在ubunt下找不到共享文件夹
1.在虚拟机中安装VMware tools工具2.在虚拟机设置中创建共享文件夹,不要设置为可读。3.如果虚拟机重启后没有在mnt/hgfs目录下检测到共享文件夹share(自己创建时候的文件夹),如果发现就不用执行以下几步。4.输入: sudo vmware-hgfsclient 命令查看如果有可以接着输入以下命令,如果没有着没有创建成功,找对应的博客重新创建5.输入:...
2018-09-01 13:50:53
642
转载 ubuntu server设置时区和更新时间
今天测试时,发现时间不对,查了一下时区:data -R 结果时区是:+0000我需要的是东八区,这儿显示不是,所以需要设置一个时区 一、运行tzselectsudo tzselect在这里我们选择亚洲 Asia,确认之后选择中国(China),最后选择北京(Beijing)如图: 二、复制文件到/etc目录下sudo cp /usr/sha...
2018-09-01 12:34:56
786
转载 HTTP基本认证(Basic Authentication)的JAVA示例
大家在登录网站的时候,大部分时候是通过一个表单提交登录信息。但是有时候浏览器会弹出一个登录验证的对话框,如下图,这就是使用HTTP基本认证。下面来看看一看这个认证的工作过程:第一步: 客户端发送http request 给服务器,服务器验证该用户是否已经登录验证过了,如果没有的话,服务器会返回一个401 Unauthozied给客户端,并且在Response 的 header "WWW-...
2018-08-24 17:48:16
327
转载 强大的VIM 配置
强大的vim配置文件注意:快速安装,博主已经都给弄好了耐心等待就好:打开终端,执行下面的命令就自动安装好了:wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -xhttp://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html博主原文:,让编程更随意花了很长时间...
2018-04-02 16:58:26
1203
转载 成为专业程序员路上用到的各种优秀资料、神器及框架
http://www.cnblogs.com/jasondan/p/6380597.html前言成为一名专业程序员的道路上,需要坚持练习、学习与积累,技术方面既要有一定的广度,更要有自己的深度。笔者作为一位tool mad,将工作以来用到的各种优秀资料、神器及框架整理在此,毕竟好记性不如烂键盘,此项目可以作为自己的不时之需。本人喜欢折腾,记录的东西也比较杂,各方面都会有
2017-10-10 16:56:59
1670
转载 总结之linux下网络编程
版权声明:本文为博主原创文章,未经博主允许不得转载。1.有一篇好的文章,对Linux下socket编程的原理和要点说的很清楚:http://blog.youkuaiyun.com/chencheng126/article/details/442607992.一些windows网络编程的要点吧。包括大头序,小头序,网络字节序。一些常用的函数等。。http://blog.csdn.
2017-09-19 16:08:20
705
转载 值得推荐的C/C++框架和库 (真的很强大)
目录(?)[+]值得学习的C语言开源项目- 1 Webbench- 2 Tinyhttpd- 3 cJSON- 4 CMockery- 5 Libev- 6 Memcached- 7 Lua- 8 SQLite- 9 UNIX v6- 10 NETBSDC 资源大全标准库框架人工智能异步事件循环音频生态学压缩并发性容器密码学数据库调试游戏引擎图形用户界面图形图像处理国际化Jas
2017-09-19 12:05:42
2661
原创 关于linux下互斥锁和条件变量的理解
首先我的理解什么是互斥锁,什么是条件变量,他们的作用是什么?互斥锁:可以理解为它本身是一把锁,用于对资源进行保护。条件变量:是利用线程间共享的全局变量进行同步的一中机制。主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。 对于互斥锁的创建主要分为以下几步:1.声明互斥锁:pt
2017-09-15 17:20:22
363
转载 如何设置线程调度的优先级
我们使用int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg);来创建线程,但是如何设置线程的优先级呢?在讨论这个问题的时候,我们先要确定当前线程使用的调度策略,posix提供了int pthread_attr_getsched
2017-09-15 13:36:53
670
转载 Linux多线程实践(三)线程的基本属性设置API
POSIX 线程库定义了线程属性对象 pthread_attr_t ,它封装了线程的创建者可以访问和修改的线程属性。主要包括如下属性:1. 作用域(scope)2. 栈尺寸(stack size)3. 栈地址(stack address)4. 优先级(priority)5. 分离的状态(detached state)6. 调度策略和参数(sc
2017-09-15 10:36:21
335
转载 linux进程/线程调度策略(SCHED_OTHER,SCHED_FIFO,SCHED_RR)
linux内核的三种 调度策略 : SCHED_OTHER 分时调度策略,(默认的)SCHED_FIFO实时调度策略,先到先服务SCHED_RR实时调度策略,时间片轮转 实时进程将得到优先调用,实时进程根据实时优先级决定调度权值,分时进程则通过nice和counter值决定权值,nice越小,counter越大,被调度的概率越大,也就是曾经使用了cpu最少的进程将会得到优先
2017-09-14 17:25:21
386
原创 关于使用arm-linux-gnueabihf-gcc工具链编译多线程
对于芯片ATSAMA5D35芯片来说,首先需要在你的linux虚拟机上安装交叉编译工具链arm-linux-gnueabihf- 使用的命令为sudo apt-get install arm-linux-gnueabihf安装完工具链之后检查是否安装完成,利用命令:arm-linux-gnueabihf-gcc -v查看对应的版本号。接着是编译多线程,这时候我编译的错误是:/media/
2017-09-12 09:20:57
6687
1
转载 交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别
一. 什么是ABI和EABI1) ABI: 二进制应用程序接口(Application Binary Interface (ABI) for the ARM Architecture)在计算机中,应用二进制接口描述了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口.ABI涵盖了各种细节,如:数据类型的大小、布局和对齐;调用约定(控制着函数的参数如何传送以及如何接受
2017-09-11 18:06:47
513
转载 Linux 串口编程
Linux 串口编程 在linux下编写终端程序时,有规范模式 ,非规范模式(原始模式特殊的非规范模式)之分。不用于终端,而是在串口这种使用情况下,一般设置为原始模式(非规范的一种特殊情况)。但用read()函数,希望从串口接收指定的数量的字符时,往往接收到的实际字符数,都与指定的不同。如本人用read()希望接收 10 bytes的数据,但实验后发现,分了几次才接收到
2017-09-05 17:54:03
474
原创 关于网页的400错误
我们将编辑好的网页,放到服务器上的时候,这是你在页面中输入服务器的ip地址,访问不到服务器中的网页,对应的是出现400这样的错误。解决办法:对于嵌入式webserver来说,这时候就要检查,网页中的书写格式是否正确,有时候不正确的书写格式会出现这种错误。如果网页的书写格式都正确,就要检查网页对应的cgi程序,一般情况下,跟cgi是没有太大的关系,主要把重点还是放在网页中及网页发给服务器的请求是
2017-09-04 14:14:43
3578
转载 LINUX共享内存使用常见陷阱与分析
所谓共享内存就是使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。其他进程能把同一段共享内存段“连接到”他们自己的地址空间里去。所有进程都能访问共享内存中的地址。如果一个进程向这段共享内存写了数据,所做的改动会即时被有访问同一段共享内存的其他进程看到。共享内存的使用大大降低了在大规模数
2017-08-01 09:26:01
323
原创 html中input设置为readonly与disabled的区别
在html中,如果想要将表单中的数据提交到后台,且又不想让用户去编辑,这是后用readonly属:input type="text" name="input" value="完美" readonly>但是,这时候有个问题,当鼠标放到这个文本框的时候,会显示鼠标,这时候使用方法onfocus=this.blur() 当鼠标放上就离开焦点 input type="text" name=
2017-07-31 17:19:05
783
转载 Makefile文件名操作函数
下面我们要介绍的函数主要是处理文件名的。每个函数的参数字符串都会被当做一个或是一系列的文件名来对待。$(dir ) 名称:取目录函数——dir。功能:从文件名序列中取出目录部分。目录部分是指最后一个反斜杠(“/”)之前的部分。如果没有反斜杠,那么返回“./”。返回:返回文件名序列的目录部分。示例: $(dir src/foo.c hacks)返回值是“src/ ./”。$(notdir )
2017-07-24 14:46:58
239
原创 Makefile多目录下编译通用模板
在和makefile平行的目录下有以下文件夹thr_path core currency,下面是Makefile的编写。#生成的目标文件TARGET = main #交叉编译工具CROSS_COMPILE = arm-none-linux-gnueabi-#生成目标文件所在的目录OBJ_DIR = objCC_FLAGS = -g -w -std=gnu99
2017-07-24 14:31:42
621
原创 关于c语言中fread和fwrite的使用
1.将结构体中的内容保存到配置文件中,记录结构体中的内容,防止丢失。2.结构体定义如下:#ifndef _TSK_CTL_H_#define _TSK_CTL_H_#define LENGTH 16#define USER_NAME_LEN 16#define PASSWORD_LEN 16typedef struct user_ifm {cha
2017-07-04 10:57:59
831
翻译 让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
通常我们的网站里面会加载一些js代码,统计啊,google广告啊,百度同盟啊,阿里妈妈广告代码啊,一堆,最后弄得页面加载速度很慢,很慢。解决办法:换一个js包含的方式,让javascript加载速度倍增。把通常加载方式: 改变成:复制代码 代码如下:document.write("")举个例子:比如下面是申请的站长统计代码,以前尽
2017-06-29 17:28:05
2638
1
转载 Web前端需要掌握的知识
1. 前言 大约在几个月之前,让我看完了《webkit技术内幕》这本书的时候,突然有了一个想法。想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的是想要颠覆人们对于前端只有三大块(html、css、js)的认识——做web前端需要的比这三大块要多得多。 拖了好几个月了,但是由于近期将要参加的某一个活动,我不得不这两天把这个东西整出来。说
2017-06-14 17:01:56
1321
转载 textarea标签的使用及案例
textarea标签是我们经常使用的一个html标签,主要是在输入较长的文本时,可以实现换行等效果。下面引用一个他的基本使用: textarea 标签 -- 代表HTML表单多行输入域 textarea标签是成对出现的,以开始,以结束 属性: Common -- 一般属性 cols -- 多行输入域的列数 rows -- 多行输入域的行数 accesskey -- 表单
2017-06-14 15:10:37
17736
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人