自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Welcome

(本博客不再使用)

  • 博客(126)
  • 资源 (17)
  • 收藏
  • 关注

原创 计算机体系结构之cache

cache电路 cache模型 cache算法 与cache相关的系统调用0x00 cache简介高速缓存(cache)是CPU内部用来加快数据访问的缓存技术。高速缓存属于SRAM,主存储器属于DRAM,一般而言主存储器一般称内存,后续我们使用内存称呼主存储器。对于计算机程序而言,cache的存在是透明的,其含义就是在程序中可能找不到与cache相关的代码,但是对于带有cache...

2018-10-07 01:39:51 4501

原创 man命令使用

0x00 前言       最近发现CSDN博客编辑器有大改变,想想好久没有写博客了,正好结合最近的面试学到的东西尝试一下新的编辑器。最近去面试redhat的内核测试岗,学到了很多linux系统命令的使用,让我感到我的linux系统使用还不算很熟练,好多命令的强大功能,我基本没有察觉到,尤其是man命令,最近又对它做了一个简单的调研,发现了一些“新大陆”,...

2018-09-23 19:26:32 830

原创 一个由dynamic_cast导致的问题

0x00 dynamic_cast<>简介将指向基类的指针或者引用转换成指向这个基类派生类的指针或者引用,转换成功将会得到派生类的指针或者引用,如果失败,将会返回一个null。用法如下:dynamic_cast<type *>(msg)dynamic_cast<type &>(msg)0x01 问题描述 一个类成员函数中使用if-e...

2018-08-26 16:23:39 1092 1

原创 grep命令

0x00 前言       前几天微博推送关于grep原作者Mike Haertel的采访视频,突然觉得grep是一个很强大的工具,以前在使用Ubuntu的工程中,一直使用find,但是我最近在使用grep中,发现借助–help选项并不能很好的驾驭这个工具,我一直可以通过原命令提供Usage来学习某一个命令总是一项必要的能力,尤其在linux系统下编程,...

2018-08-25 23:39:03 460

原创 函数指针void(*(*f[n])())()

0x00 函数指针       函数指针和指针函数对于大多数使用C语言的程序员来说都是容易搞混的两个概念,相似的术语还有结构体指针和指针结构体、指针数组和数组指针等等,其他的类型都可以和指针结合起来。        为了更好的理解函数指针的使用方法和本质,本文打算从汇编的数据访问方式说起,从一个简单的、普通的函数...

2018-07-30 17:18:46 1955

原创 粒子群优化算法

0x00 什么是粒子群优化算法粒子群优化算法提出与1995年,由Eberhart博士和kennedy博士1提出。该算法来源于受鸟群活动规律启发,通过观察动物活动规律,建立在动物活动信息共享的前提下,将实际求最优解问题转换成粒子群模型求解。       &

2018-06-28 20:59:28 1181

原创 error LNK1120 and LNK2019:该符号在函数main中被引用

0x00 开篇       昨天,本来是一个好日子的,然后我默默的随便拿出一本C++书随便练练语法写写代码的,找到一行关于C++内函数指针的例子,其功能就是将一个函数的地址作为地址传给另一个函数,以指针的形式在另一个函数章调用,然后写完了,出现了传说中的error LNK2019,但是就是那个一个不到三十行的代码,让我找bug找了一个多小时,今天早上才找...

2018-05-21 16:35:54 3616 1

原创 OMNeT++仿真软件笔记

0x00 Hello       最近一直忙着赶实验室的项目,一个基于OMNeT++的仿真程序,从去年开始使用这个仿真软件,哎,我只想说这是我用过的最不好用的软件,这软件仿真就仿真吧,按常规,仿真程序一般都是拖拖元件,连连线就开始RUN,没想到

2018-05-12 15:37:25 12216 5

原创 vector的使用

0x00 简介C++中,vector变量类型是可以容纳多种数据类型的变量,头文件是vector。在使用过程中,可以直接通过成员函数向容器中加入元素,其访问方式既可以和数组的访问一样,同时也可以通过迭代器(iterator)进行访问,这种变量的存在的确节约了大量的编码时间,作者在这里总结一下C++中vector的使用技巧。0x01 vector的初始化一般使用...

2018-04-30 01:37:33 582

转载 每个程序员都应该了解的 CPU 高速缓存

[编者按:这是Ulrich Drepper写“程序员都该知道存储器”的第二部。那些没有读过第一部 的读者可能希望从这一部开始。这本书写的非常好,并且感谢Ulrich授权我们出版。 一点说明:书籍出版时可能会有一些印刷错误,如果你发现,并且想让它在后续的出版中更正,请将意见发邮件到lwn@lwn.net ,我们一定会更正,并反馈给Ulrich的文档副本,别的读者就不会受到这些困扰。] ...

2018-03-03 23:24:17 1465

转载 关于CPU Cache -- 程序猿需要知道的那些事

原文作者:卢钧轶(cenalulu)原文地址:http://cenalulu.github.io/linux/all-about-cpu-cache/本文将介绍一些作为程序猿或者IT从业者应该知道的CPU Cache相关的知识,先来看一张本文所有概念的一个思维导图:为什么要有CPU Cache随着工艺的提升最近几十年CPU的频率不断提升,而受制于制造工艺和成本限制,目前...

2018-03-03 22:45:54 1129

原创 每一个程序员都会经历的“烫烫烫”

0x00 说明“烫”这个汉字在计算机程序执行出错时老是出现,特别有意思,尤其在Windows环境下执行越界访问的程序,会打印出一串“烫烫烫…”,作者以前在VS下写程序的时候就出现过一直打印“烫”,当时没有去仔细研究研究为什么是“烫”这个汉字,现在特把这个原因说明。0x01 “烫”的GBK编码首先,不得不提到“烫”的GBK编码为“0xCCCC”,同时在x86系统中“0xCC”代表...

2018-02-26 00:39:33 12245 2

原创 ubuntu16.04常用软件安装

一. 传统的菜单添加仓库sudo apt-add-repository ppa:diesch/testing 更新并安装sudo apt-get update && sudo apt-get install classicmenu-indicator二. 安装搜狗输入法官网下载deb包搜狗输入法Linux版下载deb包安装...

2018-02-19 22:30:47 536

原创 gdb+qemu联合调试linux-4.15

说明以前使用过eclipse调试过内核,最近又想用gdb调试内核,还是比较习惯使用命令操作,但是在搭建调试内核的gdb和qemu过程中,遇到一个问题,想了很多办法,最后直接感觉到官方下载最新的gdb和qemu源码安装,以为调试内核设置断点不成功是因为使用apt安装的gdb和qemu比较旧,安装新的gdb和qemu后,还是断点没起作用,折腾了还几天,终于找到原因了。下面是作者的环境:ubu

2018-01-30 16:21:50 1757

原创 安装qemu仿真器

说明作者直接使用apt install qemu安装方式,安装后的qemu不支持仿真,同时且版本不是太新,因此想直接从官方下载qemu源码安装,在这里记录相关操作,分析踩的坑。系统:ubuntu16.04qemu-2.11安装步骤阅读下载源代码目录下README 简单一点,一般在ubuntu下安装习惯就是先简单看一下目录下是否有readme文本,一般里边有简单的安装方

2018-01-27 02:50:57 725

原创 systemtap安装手册

说明systemtap是内核调试的一个利器,但是与其他内核调试工具相比,这款调试工具有自己的语法要求,相当于一个makefile一样。本文在阅读多篇博客后,折腾多时,成功出现“hello world”,在这里总结systemtap的安装心得。下面是我的安装环境:ubuntu16.04调试内核linux-4.15(此时最新的)systemtap安装方式一:sudo apt

2018-01-20 01:39:22 819

原创 ubuntu16.04下opengrok安装

系统环境ubuntu16.04安装步骤安装exuberant-ctags tomcat8 sudo apt-get install exuberant-ctags tomcat8 sudo /etc/init.d/tomcat8 restart测试是否安装成功 在浏览器输入http://localhost:8080/看到: 下载opengrok

2018-01-12 11:14:10 1636

原创 内核--b43驱动问题

问题在我的macbookpro8.1上,使用ubuntu16上的b43驱动成功实现连接wifi信号,但是编译新的linux4.15内核并在内核配置里边加了bcm4331的驱动,还是出现问题,只有wifi标识,没有wifi信号(似乎就是不能搜索wifi)。ubuntu16自带的内核说明 使用安装ubuntu16.04自己的内核4.10,可正常上网,但是编译新版本内核4.15,无法

2017-12-31 12:58:40 1502 2

原创 strace与gdb调试方法

linux下调试技巧这几天一直在找关于介绍linux下调试工具与调试方法的书,然后找到了《hack and debug》,这本书介绍特别多的工具对linux程序进行调试。对于驱动开发特别有用,最开始作者一直认为驱动调试与应用程序调试不一样,但是研究研究strace和gdb联合调试后,发现如果驱动程序出现Bug,调试它的测试程序时,会找到这个有bug的驱动接口。 当然这本书写作时间比较早,linux

2017-12-27 09:48:34 1644

原创 Git常用命令

总结常用的Git指令对于管理软件,使用git和github感觉就是不一样,不在担心换系统,或者找不到项目文件,尤其是一些长期的项目,通过使用git和github联合管理,压根就不在考虑代码存什么地方的。什么时候有了新的想法,更改提交一波就完事。下面是我常用的指令git add .git commit -m “xxxxx”git pushgit branch xxxgit checkout

2017-11-25 02:38:53 398

原创 Bochs调试内核

前言:       多少操作系统爱好者在自制操作系统过程中,参考例如《30自制操作系统》或者《一个Oranges操作系统的设计与实现》,又或者参考linux-0.1.1编写一个简单的内核时,一定要使用bochs的调试功能,其调试指令与gdb差不多。例如我三次尝试参考上面的书探索一下操作系统的实现过程,基本总是抄写书上的代码,一旦自己写几句汇编代码,就出bug了,然后然后就是把书上的代码看懂了,

2017-11-19 21:42:29 774 1

原创 C语言中#、##和do{}while(0)的高效用法

#的作用:      在宏定义前面都有一个#,例如#define、#if、#elif等等,看见这个,对#对认识还不够深刻,#符号后边单词被转化为字符串,例如:#define str(x) #x当使用str(abc)的的时候,str(abc)就相当于"abc"。##的作用:

2017-11-04 22:40:35 612

原创 C语言-实参到函数形参传递的理解

问题在C语言函数参数设置过程中,有些时候总是不能达到预期的效果。书上总是对这个C语言参数传递描述:传值方式、传到调用函数的是副本,然后就是常规的swap函数说明这个问题,但是还是不能以swap描述所有的问题,看了这个例子总是给人一种感觉:考虑到要在函数内部改变数据,在调用函数里边也真正改变了数据就用指针,这个感觉还是有漏洞,需要完善一下这个规则。C语言参数传递:传值方式有传值方式,还有

2017-10-14 12:08:11 1753

原创 KMP算法

KMP算法:在模式匹配中,C语言string.h里边有函数strstr(string,pat),其功能就是找到在string字符串里边与字符串pat匹配的,并返回开始匹配的字符在string字符串里边的下端,找不到返回-1。KMP算法是这种功能的更优的算法。KMP算法原理:如何计算失配函数:在string里寻找pat时,中间需要一个步骤:失配函数fail,这个函数需要根据pat字符

2017-10-11 19:32:40 497

原创 第五篇:卷积神经网络学习

简介:卷积神经网络,初学者最开始就是从这六个字理解,对卷积神经网络学习了快一个月了,从最开始只知道这六个字,到理解为什么叫卷积神经网络,然后具体又做了使用了tensorflow练习关于mnist和CIFAR10数据集的卷积神经网络,啊啊,最开始练习这些代码,只能从代码上理解到底干了什么,对卷积神经网络的思想还是不明白,云里雾里,前不久刚刚想懂里边的套路。卷积神经网络:这一段,就开始理解

2017-10-01 00:32:18 4295

原创 第四篇:对cifar-10数据集的读取

介绍:cifar-10数据集包括50000张训练用的32x32x3的图片和10000张最后测试用的测试集,包括data_batch_1、data_batch_2、data_batch_3、data_batch_4、data_batch_5等,这里展示一个简单的函数读取这个五个batch[10000,3,32,32],然后将五个张量整合到一个矩阵里边[50000,3,32,32]。测试程序:

2017-09-26 21:08:44 7419 4

原创 第三篇:显示cifar-10中的图片

问题因为在学习使用cifar-10的过程中,一直对着矩阵进行操作,不知道具体的图片是什么样的需要将三个32x32的矩阵转化为32x32x3矩阵因为最后会使用plt.imshow这个函数显示图片,imshow的参数需要是(n,m)or (n,m,3) or (n,m,4)的矩阵具体参考代码:# --coding:utf-8 --import tensorflow as tfi

2017-09-19 19:45:49 7318 4

原创 第二篇 对tf.reduce_sum的理解

这个函数一般使用如下:import tensorflow as tfx = tf.constant([[1,1,1],[2,2,2]])y1 = tf.reduce_sum(x,0)y2 = tf.reduce_sum(x,1)y3 = tf.reduce_sum(x,1,keep_dims=True)      从函数名字上理解,相当于一种减少维度的计算函数。那么上面这个函

2017-09-13 23:04:03 1306

原创 第一篇:tensorflow入门

一、计算图1、实现const + const用图形表示如下:其表示两个常量相加,与后边的placeholder相比,placeholder更加灵活:先贴出这种常量的代码:import tensorflow as tfnode1 = tf.constant(1.0,dtype=float32)node2 = tf.constant(2.0)add_two_node

2017-09-07 22:24:08 458

转载 vim命令

vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计;因为程序简单

2017-08-26 00:35:48 572

原创 第二篇 自制系统内核

为了学习一个操作系统里边具体的功能设计和思想,也参考的自制内核系列书籍:《30天~~~》和《orange一个操作系统的设计》还有网上等开源的内核,自制了一个简单的操作系统。       最开始从《30天自制操作系统》位主要参考书籍,但是到后面发现换到ubuntu系统下,想用nasm和gcc代替,做了大量的修改,最后还是觉的以《30天~~~》作为主要参考不好,选择以hurlex的文档作为参考比较

2017-08-23 22:40:32 880

原创 第一篇 自制内核的环境、汇编器、编译器选择

一、自制内核环境的选择在windows下自制操作系统,可参考《30天自制操作系统》,怎么评价这本书呢,1.汇编器、编译器是作者自制,有很多不透明的地方2.系统引导用了一些与其他系统不同的方法,比如从汇编跳转到C语言执行 当然,自制操作系统有很多方法也可以参考这本书,但是在ubuntu等linux操作系统下,使用这本书需要修改很多地方,劳力伤身,不可取。推荐...

2017-08-19 23:17:58 1927

原创 我的.vimrc备份

环境:ubuntu16第一:vim下使用Vundle管理vim插件:+++++++++Vundle使用链接How To Use Vundle to Manage Vim Plugins on a Linux VPS,下面是大致方法:安装vim很简单,直接使用sudo apt-get install vim即可,安装好vim以后,在~下有一个用户目录,使用CTRL+H可以看见一些以.开头

2017-08-15 16:43:23 530

原创 QT学习篇(三)总结界面设计相关类

一、问题:这几天开始学习使用QT设计一款简单的代码编辑器,目的主要是学习一些类的使用,然后逐渐完善编辑器的功能,但是模仿其他编辑器的时候,总是不知道同样的窗口或者功能该用什么类,想了想该知道些软件设计的常识,对于初学者来说,利用已知的一些软件界面选项来说明QT里边对应的相同功能或者相似的类的使用是一个不错的方法。二、编辑器1、参考一个尚未完成的编辑器界面上面是一个基本窗

2017-08-03 20:43:36 1973

原创 QT学习篇(二) 使用QPixmap显示一张图片

QT版本:5.9环境:ubuntu16代码如下:/* * 使用QLabel在一个窗口显示图片 */#include #include #include int main(int argc, char *argv[]){ QApplication a(argc, argv); QMainWindow *mainwindow = new QMain

2017-08-01 09:32:38 7425

原创 对C++保护成员的思考

这几天又考虑将QT好好学一下,由于C++学过,但很少用,对里边的好多理论忘记了不少。学习网上一个关于事件类型和处理的QT例子,对里边自定义的类继承QLabel类,并在自定义的类EventLabel里使用了QLabel的保护成员函数,代码如下:#include #include #include #include //声明了一个EventLabel类//mouseMoveEven

2017-07-31 18:30:12 730

原创 QT学习篇(一) 添加动作

qt版本:5.9一、代码总共三个文件:main.cpp、mainwindow.cpp、mainwindow.hmain.cpp#include "mainwindow.h"#include int main(int argc, char *argv[]){ QApplication app(argc, argv); MainWindow win;

2017-07-30 18:00:12 1124

原创 ubuntu下qt-creator不支持写中文注释

1.问题描述:在ubuntu16下使用搜狗输入法,在qt-creator下无法使用shift键切换输入法写中文注释。2.解决方法>>>寻找fcitx-frontend-qt5的安装目录,在终端输入:dpkg -L fcitx-frontend-qt5我的结果是:/./usr/usr/lib/usr/lib/x86_64-linux-gnu/usr/lib/x86

2017-07-30 10:03:12 2920 2

原创 ubuntu16搭建qt5.9环境

一、安装QT51.下载qt5.9https://www.qt.io/download-open-source/#section-2这个网站包括qt各版本下载2.如何安装?二、安装qt-creator1.下载qt-creator与上面下载地址一样2.安装>>>加权限:chmod +x qt-creator*>>>执行:./qt-creator*

2017-07-30 08:50:43 1674

原创 解决Smartgit中始终出现Please make sure you have the correct access rights问题

环境:ubuntu16.04问题描述:使用SmartGit开始没有什么问题,但是由于好几天没有打开电脑(不知道是不是有更新或者系统bug)导致SmartGit中pull或者push都出现Please make sure you have the correct access rights......如何解决:不知道具体原因,将Edit>>Preferences中Commands>>

2017-07-28 22:16:48 3518

4本matlab学习书籍

压缩包中包括四本书: Matlab_数学手册 MATLABR2016完全一本通 MATLAB编程 MATLAB基础及其应用教程

2018-10-15

华为4G模块ppp脚本

该脚本初始化华为4G模块上网功能,比如支持ME909S-821

2018-08-30

数字图像处理第三版中英文答案

数字图像处理第三版答案,包括中文的、英文的(中文不全)

2017-12-21

inet-2.3.0和inet-2.4压缩包

官方下载的inet压缩包,官网下载太慢,这里应该下载快一些

2017-11-26

PIC单片机下的CAN通信测试程序

上传文件包括调试说明,代码有相关注释,其功能只是通过CAN总线相互按键点亮或者熄灭另一个小灯

2017-11-16

一个简单的bootloader程序

针对s3c2440芯片的启动模式,仿照uboot的相关代码的一个简单的bootloader程序,功能不多,但是已经有框架了

2017-11-16

RC522驱动程序(mini2440)

RC522的spi设备驱动程序,在应用层实现RC522的初始化,具体使用参考我的相关blog

2017-11-16

Deep Learning: A Practitioner's Approach

Deep Learning: A Practitioner's Approach

2017-10-15

qemu 内核镜像

内含linux-0.2.img

2017-02-08

点阵液晶取模

可用于SED1520取字模(关键要会设置,不会设置见blog:http://blog.csdn.net/wang__rongwei/article/details/51156376),也可用于取液晶字模。

2016-04-15

SuperBackspace宏

SuperBackspace宏

2015-08-26

MSPEXP430F5529 官方实验代码

MSP430F5529官方实验代码,外加PPT。

2015-08-04

adobe官方清理工具

adobe官方清理工具 可用

2015-08-04

Pspice软件

里面有Pspice91版本的

2015-07-21

TX-1C 单片机

郭天祥的TX-1C的

2014-09-08

智能家居系统项目2010.04.27

郭天祥的ARM9 智能家居系统项目2010.04.27

2014-09-08

空空如也

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

TA关注的人

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