自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 IDEA的Ecplise快捷键

https://blog.csdn.net/SmartTxp/article/details/88959350

2020-02-28 11:50:55 269

原创 Hash取余法与Hash一致性算法

Hash取余法与Hash一致性算法一、Hash取余法Hash取余法其实非常简单,只要学过数据结构哈希表的大概都会知道(常用算法)Hash取余法在分布式系统中的使用1.1 Hash取余法是什么?为了简单说明问题,就不说微服务、redis之类的东西了(下面这个例子并不符合当前开发的模式,但足以说明Hash取余能解决的问题以及带来的问题)以下图为例。下面每个tomcat都是一个单体应用,通...

2020-02-14 19:40:32 2672

原创 select、poll、epoll的原理

一、selectselect函数int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout);参数和返回值 maxfd:监视对象文件描述符数量。 readset: 将所有关注“是否存在待读...

2020-02-12 22:08:11 418

原创 单例设计模式

单例模式单例设计模式饿汉式懒汉式DCL单例模式单例设计模式单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)单例设计模式其实万变不离其宗,总结为三个套路:构造器私有化 --> 避免外部new构造器提供私有的静态属性 --> 存储对象的地址提供公共的静态...

2019-11-11 20:24:19 177

原创 Java的静态代理模式

1.静态代理模式的优点 a)业务类只需要关注业务逻辑本身,保证了业务类的重要性 b)代理类只需要为业务类提供准备工作和善后工作。具体的业务工作由业务类自己实现譬如:Thread为代理类Runnable为业务类Thread的start方法1.创建线程的相关工作2.调用Runnable实现的run方法(由Runnable实现类去实现...

2019-11-10 17:23:19 227

原创 报数剔除问题

问题:15个猴子围成一圈选大王,依次1-7循环报数,报到7的猴子被淘汰,直到最后一只猴子成为大王。问:哪只猴子会成为大import java.util.LinkedList;public class exercise03 { public static void main(String[] args) { LinkedList<Integer> lis...

2019-11-05 20:44:48 248

原创 python3的单例设计模式

单例模式1、单例是什么举个常见的单例模式例子,我们日常使用的电脑上都有一个回收站,在整个操作系统中,回收站只能有一个实例,整个系统都使用这个唯一的实例,而且回收站自行提供自己的实例。因此回收站是单利模式的应用确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类成为单例类,单例模式是一种对象创建型模式。2、创建单例 - 保证只有1一个对象class User...

2019-08-25 12:29:58 419

转载 Python3 PyQt5 pycharm 环境搭建

简书的 markdown 没有目录,截图一张,让大家看的清楚,找到自己需要的东西。更新日志: 2017年12月3日 增加 windows 配置 image.png开发环境:MAC OS 10.12.3 版本 (当前最新)Pycharm 2016.3.2 版本 (当前最新)Python 3.6.0 版本 (当前最新)PyQt5 5.8.1 版本 (当前最新)pyinstalle...

2019-08-13 22:17:25 293

转载 esp8266wifi模块设置SERVER服务器模式

1、发送+++ (不发送新行)2、AT+CWMODE_DEF=2\r\n //配置8266为AP模式3、AT+RST\r\n //模块复位,使得设置模式生效4、AT+CWSAP_DEF=\”(这里写wifi名)\”,\”(这里写wifi密码)\”,1,3\r\n5、AT+CIPAP=\”192.168.1.1\”,\”192.168.1.1\”,\”255.255.255.0\”\...

2019-05-10 20:24:32 2641 1

转载 高并发网络编程之epoll详解

转载自:https://blog.csdn.net/shenya1314/article/details/73691088在linux 没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在大数据、高并发、集群等一些名词唱得火热之年代,select和poll的用武之地越来越有限,风头已经被epoll占尽。本文便来介绍epoll的...

2019-05-04 15:37:22 207

转载 TCP的三次握手详解

  这是一个很有意思的问题~   首先,我们要知道TCP是全双工的,即客户端在给服务器端发送信息的同时,服务器端也可以给客户端发送信息。而半双工的意思是A可以给B发,B也可以给A发,但是A在给B发的时候,B不能给A发,即不同时,为半双工。 单工为只能A给B发,B不能给A发; 或者是只能B给A发,不能A给B发。  我们假设A和B是通信的双方。我理解的握手实际上就是通信,发一次信息就是进行一...

2019-03-31 14:24:09 299

原创 搭建Nginx web服务器

一、安装前提Nginx需要有expoll,所以要求Linux内核版本为2.6以上,本人用的是Ubuntu16.04,64位版本查看Linux内核版本:uname -aLinux ubuntu 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux安装...

2019-02-20 23:44:05 347

原创 C++中前置++和后置++的坑(一不小心很容易造成操作不合法内存的错误!)

这是这我阅读STL之后自己实现list函数模板的时候发现的一个坑STL里面有一个erase删除函数函数原型是        iterator erase(iterator _P)        //删除节点        {               _Nodeptr _S = (_P++)._Mynode();                    _Acc::_Ne...

2019-01-29 17:17:57 435

原创 C++的拷贝构造函数为什么参数是const Test& s?

为什么要加引用?Test(Test s)为什么不行?因为我们拷贝构造函数的参数Test s调用的也是拷贝构造函数,所以这样调用必然造成无穷无尽的递归调用,所以我们必须加引用&amp; 为什么要加const?很明显是不允许改变参数的值。但是这个是最片面的说法这个问题其实一直困惑了我很久,直到我阅读STL源码之后,在自己实现的时候发现了一点我们都知道调用拷贝构造函数有三种:...

2019-01-29 16:13:27 2421 6

原创 new的实现并模拟大多数编译器new失败机制

new的实现以及模拟set_new_handler机制typedef void(*new_handler)( );class x{public:        static new_handler set_new_handler(new_handler p);        static void* operator new(size_t size);private:...

2019-01-22 19:40:29 290

原创 动态链接库的全局变量的导出和类的导出

全局变量的导出(这里是在windows环境下去讨论这个问题)全局变量的导出与函数的导出并不一样,我们导出全局变量我们必须提供.def的文件去解析 我们这里创建的DLL是Test_DllTest_Dll.cpp的文件实现#include "Test_Dll.h"int g_a = 10;int Add(int a, int b){        return a...

2019-01-22 16:25:43 3676

原创 编译Lua源码成动态链接库并与C++结合

Lua编译1、编译Lua为动态库(不用静态库,影响C++编译速度)2、建立Lua编译器项目3、编译Lua库为了以后对其扩展(也可以直接下载库)  步骤:1.建立一个win32的空项目,并且在win32的向导里面点击选定dll,空项目2.把Lua导进去我们的空项目里面去3.编译这里会出两个错误,都是main函数重复引起的    1.在luac.c里面,我们...

2019-01-21 18:42:14 2507

原创 动态链接库之动态加载

  动态加载比静态加载难一些这里是针对windows下的API来讨论动态加载 首先windows下的动态加载是靠三个函数来实现的#include &lt;windows.h&gt;LoadLibrary();GetProcAddress();FreeLibrary();这三个函数我们可以理解为对文件的open();read/write();c...

2019-01-21 14:22:51 3921

原创 动态链接库之静态加载

首先先解释一下什么叫动态链接库的静态加载其实静态加载的概念很简单,其实就是调用动态链接版的静态链接库lib,但是又必须拥有.dll的动态链接库文件动态链接库的静态加载前提:(我这里命名为DLL1)1.工程里必须拥有动态链接库生成的.dll2.工程里必须拥有动态链接库生成的.lib3.工程里必须拥有关于动态链接库的.h文件(test.h是动态库里面提供的.h文件)好了,那...

2019-01-21 12:44:58 1118

原创 为什么C++调用用C编译器编译过的动态库里的函数要加关键词extern "C"

首先说一下一个问题,这个问题困惑了我很久,为什么调用Lua的函数时,对其头文件要加extern "C"的声明?形如:extern "C" {                          //指定这些都是用C语言编译的    #include &lt;lua.h&gt;    #include &lt;lauxlib.h&gt;    #include &lt;luali...

2019-01-21 00:09:09 799

原创 不用中间变量来实现两个变量的值的交换

#include &lt;stdio.h&gt;static inline void swap(int* a, int* b){ *a = *a ^ *b; *b = *a ^ *b; *a = *a ^ *b;}int main(int argc, char* argv[]){ int a = 1; ...

2018-11-12 15:11:04 337

转载 C++中const_cast的作用和缘由

C++标准转换运算符const_cast 前面讲了C++继承并扩展C语言的传统类型转换方式,最后留下了一些关于指针和引用上的转换问题,没有做详细地讲述。C++相比于C是一门面向对象的语言,面向对象最大的特点之一就是具有“多态性(Polymorphism)”。要想很好的使用多态性,就免不了要使用指针和引用,也免不了会碰到转换的问题,所以在这一篇,就把导师讲的以及在网上反复查阅了解的知识总...

2018-11-12 15:09:08 29219 16

原创 Qt实现信号与槽之后出现undefined reference to 'vtable for xxx'的错误

这时Qt的信号与槽的深入问题,在这里就不作过多的阐述解决方法:1、执行qmake2、清除所有项目的构建3、重新构建所有项目问题就解决了顺便给大家几个解决信号与槽:Object::connect: No such slot... 的方法1、重新执行qmake2、检查类是否继承于QObject(因为Qt中信号与槽只存在于QObject的派生类中)3、检查类声明的开始...

2018-08-18 10:59:56 999 2

原创 在x210开发板上移植ch34x驱动

对内核make menuconfig并选择Devces drivers--&gt;USB seupport--&gt; USB Serial Converter support --然后make内核再用开发板tftp下载内核进行调试最后在网上下一个ch34x的linux版本的驱动将makefile的KERNELDIR改成自己开发板的内核目录然后进行make再将.ko文件放到开发板的rootfs里面...

2018-05-17 17:20:20 445

原创 Qt在嵌入式开发板上的移植

在移植Qt5.6.2这个版本的时候处处碰壁,希望写的这篇文章能对后者有一定的帮助移植Qt就是移植Qt的库,这是移植之前我们得知道的废话不多说,首先说一下我的开发环境板子:s5pv210(九鼎公司)ubuntu版本:16.04交叉编译工具链:arm-2009q3(九鼎公司配套提供)已经做好的工作:1、uboot编译OK2、内核编译OK3、rootfs搭建OK(没有报错)4、开发板的触摸屏驱动没有问题...

2018-03-16 17:23:44 2958

原创 busybox的移植

busybox是什么?我们首先得清楚,linux发行版 = linux内核+根文件系统。我们busybox是属于根文件系统哪一类范畴的。它为我们提供应用程序像ls、cd、pwd等命令。提供了一个可执行的/linuxrc之前我在我的博客里面转载了一篇busybox编译会出现的问题与解决方法。而且我已经亲身从网上下载过现在目前2018的最新版本进行编译,并且能够通过那篇转载的文章成功编译,这里我就不细...

2018-03-09 15:00:51 487

转载 编译busybox出现的问题

今天研究了一下busybox的编译。自己下了一个busybox-1.25.0的版本(直接从busybox官网上下载:https://busybox.net/downloads/),进行编译,遇到了一些问题,通过百度搜索和自己摸索,也成功解决了,详细记录如下:首先交代一下系统版本和开发环境:操作系统:ubuntu 12.04(64bit)交叉编译工具链:arm-linux-gcc 4.4.3busy...

2018-03-08 21:54:09 2607

原创 uboot和kernel修改打印串口

我这里用的是s5pv210,本来输出的是COM2,现在我想把他修改成COM0输出,想看到uboot的 命令行信息和kernel启动的信息我们应该对其进行如下更改:1、对uboot的更改我们修改我们对应的配置文件,我这里因为是s5pv210开发板,所以我的配置文件是x210_sd.h(九鼎的开发板)找到//#define CONFIG_SERIAL3 1 /* we use UAR...

2018-02-27 19:32:04 4272

转载 内核编译make menuconfig出错

make menuconfig 出错的解决 2007-12-06 09:52:50系统ubuntu7.04 gcc 4.1.2,安装后交叉编译linux2.6.18内核运行make menuconfig 时出错如下:/******************   error ***********************/ root@lwx-desktop:~/linux_arm/

2018-02-07 19:54:19 1210

原创 uboot中的主makefile详细分析

mk脚本源码make distclean //先清除uboot,防止我们拿到的版本是编译过的make x210_sd_config //配置uboot成x210版本make -j4 //多线程make######################################################################################

2018-02-01 02:10:48 755

转载 makefile中的$(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR))解释

$(if CONDITION,THEN-PART[,ELSE-PART])  ¾  函数功能:第一个参数“CONDITION” ,在函数执行时忽略其前导和结尾空字符,如果包含对其他变量或者函数的引用则进行展开。如果“CONDITION”的展开结果非空,则条件为真,就将第二个参数“THEN_PATR”作为函数的计算表达式;“CONDITION”的展开结果为空,将第三个参数“ELS

2018-01-31 23:52:32 6361

转载 makefile的origin函数

origin 函数的作用是告诉你变量是哪里来的,其出生状况如何,他并不改变变量。其语法是:$(origin )上面, 为变量的名字,而不是引用,所以一般没有 $ 字符在前。origin 函数通过返回值来告诉你 的出生情况。下面用实例说明:1. 当从来未定义过该变量时,origin 函数返回 "undefined" 。如下面的 Makefile 代码:all: 

2018-01-31 23:37:20 553

转载 makefile中wildcard的使用方法

在Makefile规则中,通配符会被自动展开。但在变量的定义和函数引用时,通配符将失效。这种情况下如果需要通配符有效,就需要使用函数“wildcard”,它的用法是:$(wildcard PATTERN...) 。在Makefile中,它被展开为已经存在的、使用空格分开的、匹配此模式的所有文件列表。如果不存在任何符合此模式的文件,函数会忽略模式字符并返回空。需要注意的是:这种情况下规则中通配符

2018-01-31 15:01:34 532

原创 网络常识:什么是网关;什么是ip地址;什么是子网掩码

什么是ip地址?谈ip地址之前,首先要知道一个知识点。什么是局域网,什么又是因特网?局域网是一个不能对外访问的网络。就好像家里没有办网,但是家里有路由器,然后家里的很多台电脑都连上了我们的路由器,这时路由器就充当了一个组成局域网的角色。就是没连上路由器的电脑,并不能访问其他电脑,只有连上路由器的电脑,才能互相访问。因特网可以看成是一个非常大的局域网,他的范围遍布全球。我们可以将地球看成

2018-01-31 00:43:52 5146

空空如也

空空如也

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

TA关注的人

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