自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 javascript中的sort()方法

现在在学习javascript中,发现sort()函数是有点奇怪的东西(可能是本人水平的问题-_-!),于是就在这里记录一下自己找到的东西吧。sort()这个方法的参数很奇怪,必须是函数,但也是可选参数,如果没有参数的话,就会默认以字符串的字典顺序来排列(就算是数值,也会被转化为字符串来处理)。这个参数是要能够比较两个值的大小,如: function sortNumber(a, b){

2017-05-02 15:35:08 1071

原创 怎么理解矩阵的秩

首先来想一个问题,最初的那个人为什么为什么要叫他为“秩”,为什么不叫“猪”“牛”“马”?举个例子就很容易理解,大家排队买票。如果大家互相不认识,那就会一个排一个,非常有秩序。然而,如果突然来了一个与队伍前面的人认识的人,这个人又不自觉,非要插队。那后面的人肯定要有意见了,说你要是这样我前面还有认识的人呢,你插我也插,这样整个队伍就乱掉了,谁也买不成。通过这个例子,可得以下结论:彼此不认识,

2016-11-22 11:14:11 9223 12

转载 [C/C++] const 详解(修饰变量、输入参数、返回值、成员函数)

看到const关键字,程序员首先想到的可能是const 常量。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书籍建议:“Use const whenever you need”。 

2016-11-15 14:26:50 674

转载 linux串口编程 非规范模式 read()问题

在Linux下编写终端程序时,有规范模式 ,非规范模式(原始模式特殊的非规范模式)之分。不用于终端,而是在串口这种使用情况下,一般设置为原始模式(非规范的一种特殊情况)。但用read()函数,希望从串口接收指定的数量的字符时,往往接收到的实际字符数,都与指定的不同。如本人用read()希望接收 10 bytes的数据,但实验后发现,分了几次才接收到,俩次接收2bytes ,两次接收3bytes

2016-11-08 17:50:23 973

转载 linux下如何编译c++工程项目

首先,你必须有一个Linux开发环境,这样才能进行C++开发。笔者用的是安装在虚拟机中的Ubuntu 9.04,Ubuntu操作系统是没带C++编译器g++。在连网的情况下,在终端中使用root超级用户权限输入以下命令:sudo apt-get install g++并回车即可安装C++编译器g++。安装完毕,即可开始新建我们的一个C++工程了。下面以一个hello工程为例,简

2016-11-01 18:36:01 2218

转载 uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结,看完全明白了

uint8_t / uint16_t / uint32_t /uint64_t  是什么数据类型在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等。咋一看,好像是个新的数据类型,不过C语言(nesc是C的扩展)里面好像没有这种数据类型啊!怎么又是u又是_t的?很多人有这样的疑问。论坛上就有人问:以*_t结尾的类型是不是都是long型的?在baidu上查一下,才

2016-10-26 14:32:17 1700

转载 位和字节

如果您使用计算机的时间超过五分钟,那么肯定听说过位和字节这样的词。RAM和硬盘都使用字节作为容量单位,您在文件查看器中查看文件时的文件大小也以字节为单位显示。您可能听过这样一句广告词:“该计算机拥有32位奔腾处理器,配备了64兆字节的RAM和2.1吉字节的硬盘。”在许多博闻网文章里也都提到过字节(例如CD的工作原理)。在本文中,我们将讨论位和字节,使您对此有一个完整的了解。十进制数

2016-10-24 19:08:50 562

转载 c++ 继承(太详细了!!!)

#include class Base{private:        int b_number;public:        Base( ){}        Base(int i) : b_number (i) { }        int get_number( ) {return b_number;}        void print( ) {co

2016-10-19 15:17:03 1163

转载 三种继承的方法:public 继承/private继承/protected继承详解及区别

公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。  1. 公有继承(public)   公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。  2. 私有继承(private)  ------------------默认的继承方式(如果缺省

2016-10-18 18:58:58 9280 1

原创 linux 串口阻塞与非阻塞参数设置

在串口设置中,有以下两个参数可以决定是否阻塞。在打开串口时不加O_NODELAY,可用下面的第二种方法,来进行阻塞/非阻塞的设定 c_cc[VTIME] 非规范模式读取时的超时时间(单位:百毫秒),可以这么理解,从接收到后一个字节开始计时,如果超时,则退出READ c_cc[VMIN]  非规范模式读取时的最小字符数,设为0则为非阻塞,如果设为其它值则阻塞,直到读到到对

2016-10-17 16:46:47 1029

转载 Vim入门基础

图片来自: http://www.cnblogs.com/zhangsf/archive/2013/06/13/3134409.html公司新员工学习有用到,Vim官网的手册又太大而全,而网上各方资料要么不全面,要么不够基础。在网上搜集各方资料,按照自己的框架整理一份Vim入门基础教程,分享出来。特点是偏向基础,但对入门者来说足够全面,而且结构框架清晰。另外,参考资料众多,没有一一

2016-10-12 09:31:41 394

转载 Qt5 自带 串口通讯基础模块

QtSerialPort简介         QtSerialPort模块是Qt5库的附加部分,为硬件和虚拟的串口提供了统一的接口。注意:该模块也增加了对Qt4的支持。        串口由于其简单和可靠,目前在像嵌入式系统,机器人等工业中依旧用得很多。使用QtSerialPort模块,开发者可以大大缩短开发串口相关的应用程序的周期。使用QtSerialPort模块最初是来源于第三

2016-10-10 15:29:03 1397

原创 /dev/ttyUSB0 permission denied 解决办法:永久有可操作权限

一般使用USB口,无论USB转什么口,串口之类的,启动时容易出现:/dev/ttyUSB0 permission denied.因为一般情况下不是root用户,对端口没有权限.遇到这种情况,我一般这样做:    sudo chmod 777 /dev/ttyUSB0修改权限为可读可写可执行,但是这种设置电脑重启后,又会出现这种问题,还要重新设置.因此查询资料,可以用下面这条指令:

2016-10-07 12:43:56 7033

转载 arduino入门-ubuntu下安装驱动

打开terminalsudo apt-get install arduino然后安装就可以了,然后打开dash,找到arduino的ide运行在tool下找到Serial Port看看是不是灰色的,把板子脸上电脑,假如还是灰色的,那么在terminal里执行sudo chmod a+rw /dev/ttyACM0然后就应该可以了假如没有ttyACM0可以看看有没有t

2016-10-07 09:27:47 4355 1

转载 C++拷贝构造函数详解

一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plain copyint a = 100;  int b = a;   而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。[c-

2016-10-03 17:21:16 554

转载 C++中的static关键字的总结

C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。1.面向过程设计中的static1.1静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include

2016-09-29 10:34:44 301

转载 C++命名空间

本讲基本要求     * 掌握:命名空间的作用及定义;如何使用命名空间。     * 了解:使用早期的函数库 重点、难点     ◆命名空间的作用及定义;如何使用命名空间。    在学习本书前面各章时,读者已经多次看到在程序中用了以下语句:using namespace std;    这就是使用了命名空间std。在本讲中将对它作较详细的

2016-09-28 10:42:41 209

转载 C++指针详解

指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子:  例一:  int *ptr; char *ptr; int **ptr; int (*ptr)

2016-09-20 17:48:11 307

转载 解决 multiple definition of

总结了解决multiple definition of的方法:问题原因:    当多个文件包含同一个头文件时,并且你的.H里面没有加上条件编译#ifndef TEST_H#define TEST_H#endif就会独立的解释,然后生成每个文件生成独立的标示符。在编译器连接时,就会将工程中所有的符号整合在一起,由于,文件中有重名变量,于是就出现了重复定义的错误。 

2016-09-19 11:44:42 2177

转载 计算机的位、字节、字

1、位(bit)           来自英文bit,音译为“比特”, 表示二进制位。位是计算机内部数据存储最小单位,11010100是一个8位二进制数。一个二进制位只可以表示0和1两种状态;两个二进制位可以表示 00、01、10、11四种状态;三位二进制可以表示八种状态。 2、字节(byte)      来自英文Byte, 习惯上用大写的B表示。       字节是计算机

2016-09-17 23:09:25 873

转载 单精度浮点数(float)与双精度浮点数(double)的区别

单精度浮点数(float)与双精度浮点数(double)的区别如下:(1)在内存中占有的字节数不同•单精度浮点数在机内占4个字节•双精度浮点数在机内占8个字节(2)有效数字位数不同•单精度浮点数有效数字8位•双精度浮点数有效数字16位(3)所能表示数的范围不同•单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38•

2016-09-14 18:28:41 5347

转载 C++中头文件(.h)和源文件(.cpp)都应该写些什么

头文件(.h):    写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但一般来说不写出具体的实现。    在写头文件时需要注意,在开头和结尾处必须按照如下样式加上预编译语句(如下): #ifndef CIRCLE_H#define CIRCLE_H//你的代码写在这里#endif     这样做是为了

2016-09-13 17:07:56 660

原创 linux下在terminal启动刚下载的应用方法

代码如下:$ vim .profile加入安装的软件的执行路径: export PATH=$PATH:/home/wzc/Wzhic/source/FreeCAD/FreeCAD-0.16_install/bin:然后更新就行source .profileOK!

2016-09-07 21:27:20 866

转载 ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决

ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决 通过终端安装程序sudo apt-get install xxx时出错: E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)E: Un

2016-09-07 15:18:15 3829 1

原创 ssh 协议 scp传递文件

$ scp source xxx@ip: /home/xxx/然后就输入密码就OK啦,速度超级快!!

2016-09-06 22:37:57 660

转载 python的常见矩阵运算

python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包。1.numpy的导入和使用from numpy import *;#导入numpy的库函数import numpy as np; #这个方式使用numpy的函数时,需要以np.开头。122.矩阵的创建由一维或二维数据创建矩阵from numpy import *;

2016-09-05 23:29:50 1659

原创 一个终端中同时打开多个任务的方法

可以在同一个终端中同时打开多个任务,这样便于同时做几件事情,比如同时要看几个C语言程序。具体方法很简单:例如,要同时看1.c 2.c 3.c三个文件:vim 1.cctrl-zvim 2.cctrl-zvim 3.cctrl-z这个时候退出了vim界面,当你输入jobs时,会显示你现在的任务情况[标号] 任务在

2016-08-30 12:09:04 1202

转载 用ctags在终端下查看代码

ctags使得我们使用vim查看C程序时可以像SourceInsight一样直接跳转到一个函数的定义处查看其定义,数据结构类似。这样极大地提高了我们查看代码的效率!废话不多说,看看怎么实现的。1.首先要安装ctags,apt-get install一下就可以了,不罗嗦;2.进入到你的源代码目录并运行命令ctags -R将相应的源文件进行统

2016-08-30 12:01:27 580

转载 gdb常用命令

调用gdb编译需要在cc后面加 -g参数再加-o;[root@redhat home]#gdb 调试文件:启动gdb(gdb) l(list) :(字母l)从第一行开始列出源码(gdb) break n :在第n行处设置断点(gdb) break func:在函数func()的入口处设置断点(gdb) info break: 查看断点信息(gdb)

2016-08-30 11:59:22 349

转载 vim 中SuperTab的安装和使用

将vim 改造成功能强大的IDE系列之四『插件介绍』SuperTab使Tab快捷键具有更快捷的上下文提示功能。『下载和安装』从http://www.vim.org/scripts/script.php?script_id=1643下载安装版。这个安装包跟先前的几个Vim插件不同,它是一个vba文件,即Vimball格式的安装包,这种格式安装包提供傻瓜式的

2016-08-30 11:42:11 670

转载 Linux系统中各个目录的作用

linux下的文件结构,看看每个文件夹都是干嘛用的:/bin 二进制可执行命令/dev 设备特殊文件/etc 系统管理和配置文件/etc/rc.d 启动的配置文件和脚本/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件/sbin 系统管理

2016-08-30 11:21:26 829

转载 Vim 中使用 OmniComplete 为 C/C++ 自动补全

OmniComplete 并不是插件的名字,而是 Vim 众多补全方式中的一种(全能补全)。说白了 OmniComplete 其实就是根据光标前的内容猜测光标后的内容,具体怎么猜取决于所采用的脚本。而 OmniCppComplete 就是专为 C/C++ 编写的 OmniComplete 一个补全脚本。那么经常和 OmniCppComplete 一起出没的 Ctags 又是什么呢?

2016-08-30 11:20:01 475

转载 vim 中OmniCppComplete的安装和使用

将vim 改造成功能强大的IDE系列之三『插件介绍』onmicppcompete功能:命名空间(namespace),类(class),结构(struct)和联合(union)补全函数属性成员和返回值类型补全"this"指针成员补全C/C++类型转换(cast)对象补全类型定义(typedef)和匿名类型(anonymous types)补全按理

2016-08-30 10:56:18 3626

转载 vim 中Taglist的安装和使用

将vim 改造成功能强大的IDE系列之二『插件介绍』Taglist是vim的一个插件,提供源代码符号的结构化视图。效果图:(直接使用了别人的图片。在我机器上也差不多~)『下载和安装』         1)从http://www.vim.org/scripts/script.php?script_id=273下载安装包,也可以从http://v

2016-08-30 10:23:22 457

转载 vim 中Ctags的安装和使用

『插件介绍』Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。『下载和安装』一、我是使用apt-get安装的:sudo apt-get install ctags

2016-08-30 09:43:23 391

转载 linux下从源代码编译安装软件的一般步骤

1.下载并解压文件如果下的压缩文件的后缀是tar.gz 解压用  tar -xzvf xxx.tar.gztar.b2 解压用  tar -xjvf xxx.tar.b2tar 解压用  tar -xvf xxx.tar2.配置安装路径在/usr/local/下创建放置将要安装的软件目录mkdir /usr/local

2016-08-29 15:47:56 5537

空空如也

空空如也

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

TA关注的人

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