自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (8)
  • 收藏
  • 关注

原创 IE8的一些尝试

IE8的一些尝试Websocket通信?OCX插件尝试Websocket通信?以上明确表示,IE8是不支持websocket的,但是已完成的应用,通信部分都是基于websocket,要兼容IE8,只能找其他模拟的办法。在github上找了一些库,看到socket.io的1.3.7版本,还是支持在IE8上模拟websocket的。但是无法直接连接到实际的websocket后台服务,需要通过s...

2019-09-02 16:21:01 533

原创 网络知识回顾

网络知识回顾一、网络传输一般的网络传输,建立在服务端和客户端之间,例如传递一个html页面,传输的数据包格式如下: Ethernet head | IP | TCP | HTTP | Data | Ethernet tail | - Data就是实际的html页面数据。 - HTTP协议头在html数据前面,报文头信息包括:服务器所使用的HTTP版本,以及表明它包含发给网络客户端信息的状态编码

2017-12-15 11:06:45 306

原创 vs命令行工具在启动时报错

vs命令行工具在启动时报错在使用vs命令行执行程序的编译的时候,启动时候会报错:“MySQL不是内部或外部命令。。。。”

2017-09-13 15:25:16 625 1

原创 OpenSSL使用记录

OpenSSL 用于https通信时,在windows上编译的OpenSSL-1.1.1版本的库,以及使用demo,中间遇到一些问题,谨以此记录并与大家交流。

2016-12-10 21:32:48 571

原创 bug.txt

记录一些工作中的bug解决方式

2016-07-01 22:07:42 448

原创 websocket初探

黑夜啊,一无所有,请给我一点灵感!麻蛋,我又不能做湿人!websocket是什么,我就不介绍了,能看到这篇文章的,都是会用Google的人咯。本来好好的一个东西,Linux上很多好用的SDK,偏偏本人最近接到的项目却是windows上的,还是C++的,还要支持快速开发,你看看libwebsockets、websocket++,什么Nodejs我就提提而已,我都用不了啦!自己手动来写

2016-05-24 01:10:08 2460 1

原创 沟通学习

沟通学习“钱多话少死得早”,这是程序员自黑而贴上的标签吧,但是我还真认识不少话少的程序猿。我自认为是其中一个寡言者。所以有时真的会羡慕那些“外向者”,希望成为那样健谈的人。 这是我个人看一些相关书籍,做下的笔记。坚持自己的个性充分准备让自己自信永远保持一颗好奇心从他人角度出发,在意对方在坚持自己个性的时候,当然需要了解自己,接受不完美的自己。我们越是煞费苦心地改变自己,越是努力让

2016-03-03 23:58:03 388

原创 C#调用C++动态库并回调C#函数

C#调用C++动态库并回调C#函数需求是这样的,C++动态库负责与保持服务器连接,交互数据,C#作为界面层。动态库发送请求,也需要实时接收服务器端的指令,并传递到C#,轮询动态库,取数据,是一种办法;但还有一种方法就是用回调函数,让动态库接收数据后,将指令传递到界面层,并自动执行操作。 新手,一步步摸索出来这种方法,记下来。 C++动态库,声明一个函数指针typedef void (*Remot

2016-01-24 17:03:43 1104

转载 error LNK2005: 已经在*.obj中定义

为什么会出现这个错误??“error LNK2005: 已经在*.obj中定义”   编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误,弄清楚它形成的原因,就可以轻松解决它了。  造成LNK2005错误主要有以下几种情况:  1.重复定义全局变量。可能存在两种情况:   A、对于一些初学编程的程序员,有时候会以为需要使用

2016-01-23 20:11:42 2165

原创 编写JNI的一点心得

在公司一直负责向windows平台提供动态库,最多的就是给C#调用。然而Windows端项目差点夭折,同事写的算法,让医学影像损失严重。我不得不亲手编写,导致项目时间紧迫,越急越乱。     然而在BS端,如今也需要调我的动态库,由于我一直没有写过JNI,于是给同事去整理,结果花了两天时间,仍然没能调通。今天还是得自己动手。     网上了解了一下,编写JNI的基本步骤。

2015-11-19 23:29:41 418

原创 面试刷题记录

表达式合法判断

2015-10-17 22:42:20 369

原创 设计模式第一弹

面试结束,就知道自己没戏了,但是自己的心态偏偏就像打不死的小强=_=|| 还是老老实实回家,恶补设计模式的知识。从设计模式之禅入手。。。。。 第一部分的设计原则就免了,看半天看不懂说什么。还是从最简单的单例模式开始说说吧!人家那本书用的是Java实现的,我就用C++试试看。估计很多人都用过的。但是动手写起来,却还是像手残一样,一敲就错。​#include using namespace

2015-10-14 23:37:38 314

原创 Nginx服务器搭建

十一放假,单身汪程序猿注定寂寥,8点准时醒来,随便翻出床头的书,看到最下面一本关于Nginx,草草洗漱,做早餐,吃好喝好,开工! 明显不想在自己的破电脑上搭建,立马跑阿里云申请一台学生版9.9人民币的云服务器,手一抖,选了一个CentOS主机,逼格太高,老老实实用putty远程命令操作。随便捣鼓了一下,想备案一个域名,结果却不能申请备案,后面就用IP表示这台主机咯101.200.173.2

2015-10-14 23:31:15 542

原创 在Linux x86_64环境运行xv6系统

xv6xv6是MIT针对6.828: Operating System Engineering课程而开发的简单的,类Unix的实验性操作系统。xv6是Unix第六版本,针对x86架构的一个现代实现。同时,在国内外还有很多高校也在采用xv6系统。目前在MIT的开放课程中依然可以找到2013年之前的内容,如针对2014年的秋季学期的课程。其主讲还是Russ Cox,Go语言的主要开发者,Plan9等系统

2015-10-14 23:24:22 2427

原创 说说epoll

首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。   不管是文件,还是套接字,还是管道,我们都可以把他们看作流。   之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,

2015-10-14 22:46:47 391

原创 MYSQL数据库max_allowed_packet设…

mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。查看目前配置show VARIABLES like '%max_allowed_packet%';显示的结果为:+--------------------+---------+| Variable_name      | V

2015-10-14 22:46:45 497

原创 WaitForMultipleObjects使用详解

DWORD WaitForMultipleObjects(  DWORD nCount,           // number of handles in thehandle array  CONST HANDLE *lpHandles, // pointer to the object-handle array  BOOL fWaitAll,          // wait

2015-10-14 22:46:42 673

原创 Ubuntu下apt-get失败的原因

一、先检查自己系统的版本,可能是因为版本太老,新的网站上不给于更新了我就是碰到了这种情况这时将"/etc/apt/sources.list"修改为如下内容:debhttp://old-releases.ubuntu.com/ubuntu/ jaunty main restricteduniverse multiversedebhttp://old-releases.ubuntu.co

2015-10-14 22:46:40 1084

原创 AT&T汇编格式

绝大多数 Linux 程序员以前只接触过DOS/Windows 下的汇编语言,这些汇编代码都是 Intel 风格的。但在 Unix 和 Linux 系统中,更多采用的还是 AT&T 格式,两者在语法格式上有着很大的不同:在 AT&T 汇编格式中,寄存器名要加上 ' %' 作为前缀;而在 Intel 汇编格式中,寄存器名不需要加前缀。例如:AT&T 格式Intel 格式

2015-10-14 22:46:37 794

原创 2014年12月01日

Pcap库的安装及网络环境的搭建总是在决定写这些东西的时候觉得时间不够,脑子刚闪现出这些矛盾,同时就被自我否定打败:没有时间就说明自己做事情的效率不高,也说明了自己的时间安排得不够合理。废话不多说,现在就开始和大家一起在Linux环境下安装libpcap库吧!准备工作:下载相关文件由于部分相关文件的下载网站在校园网内无法访问(我就遇到这情况),我就找了代理,下载了所有安装包,直接放在

2015-10-14 22:46:33 305

原创 socket阻塞与非阻塞,同步与异步、…

socket阻塞与非阻塞,同步与异步 1. 概念理解     在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:      所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。 例如普通B/S模式(同步):提

2015-10-14 22:46:30 422

原创 unix网络编程环境

下面开始用简单但典型的客户端和服务器端程序说明如何进行网络编程。这一小节讲的是客户端,一个用来连接并读取服务器发送来的时间的客户端。这里涉及到了编写代码,因此要搭建unix网络编程环境unix系统我没安装,系统不易获得而且也没必要安装unix。用linux是最佳选择。再者我本来就是RedHat系统,所以就在RedHat下搭建环境了。1,安装编译器,为了齐全还是安装一下build

2015-10-14 22:46:28 400

原创 Linux 内核分析

我们还是从顶层makefile来进行分析:首先我们来简述一下makefile的功能,以便对makefile有更深入的理解,makefile有3点比较重要的作用:一是决定编译哪些文件,二是怎样编译这些文件,三是怎样连接这些文件,最重要的是它们的顺序如何!我们总结一下linux内核makefile文件分类 名称 描述 顶层Makefile它是所有Makefile

2015-10-14 22:46:25 319

原创 NOR Flash与NAND Flash

A,nor flash与nand flash的一些区别1)接口区别:NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来。NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据。通俗的说,就是光给地址不行,要先命令,再给地址,才能读到NAND的数据。而且都是在一个总线完成的。结论是:ARM无法从NAND直接启动。除非装载完程序,才能使用NAND Flas

2015-10-14 22:46:23 232

原创 信号量

信号量(这里仅说互斥)就两个操作,一个请求,一个释放。一个任务请求信号量时:如果被其它任务占用,则该任务等待,同时导致任务切换;如果没有被其它任务占用,则获得,继续执行。释放信号量时,如果其它高优先级任务正在请求并等待该信号量,则导致任务切换。OSTimeDly之类,并不导致信号量的释放。只有获取信号量的那个任务调用释放功能时,信号量才会释放。信号量   信号量的使用自

2015-10-14 22:46:20 519

原创 ucos II 任务间 通信之三:信号量

信号量是什么?信号量有什么用?  信号量一是可以用来表示一个或多个事件的发生,二是用来对共享资源的访问。ucos II提供了5个对信号量进行操作的函数。它们是:1. 建立一个信号量,OSSemCreate()2. 等待一个信号量,OSSemPend()3. 发送一个信号量,OSSemPost()4. 无等待地请求一个信号量,OSSemAccept()5. 查询

2015-10-14 22:46:18 399

原创 XAML

1.什么是XAML  软件开发中最典型的分工合作就是设计师(Designer)与程序员(Programmer)之间的协作。一般协作是这样进行的:(1)需求分析结束后,程序员对照需求设计一个用户界面(UserInterface,UI)的草图,然后把精力主要放在实现软件的功能上。  (2)与此同时,设计师对照需求、考虑用户的使用体验(UserExperience,UX)、使用专门的设计工具

2015-10-14 22:46:15 746

原创 我们在程序中经常会用到MessageBox

MessageBox.Show()共有21中重载方法。现将其常见用法总结如下:    1.MessageBox.Show("Hello~~~~");最简单的,只显示提示信息。 2.MessageBox.Show("There are somethingwrong!","ERROR");  可以给消息框加上标题。 3.if (MessageBox.Show(

2015-10-14 22:46:13 276

原创 银行家算法

死锁:死锁产生的现场:当A进程P S2信号量而B进程PS1信号量时就会产生死锁,因为S2信号量需要B进程释放,而S1信号量需要A进程释放,因此两个进程都在等相互的资源,造成死锁。 死锁产生的条件:互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。(信号量s1s2为互斥的信号量,只能被一个进程占用)请求和保持条件:当进程因请求资源而阻塞时,

2015-10-14 22:46:10 1805

原创 内核链表

Linux中的内核链表结构如下struct list_head {struct list_head *next,*prev;};细心地人会发现这根一般的链表结构不同链表的目的就是为了访问数据,而用此结构如何能访问节点的数据呢?这种形式又有什么好处呢?一般的链表中的指针只能访问某种结构体类型的节点,达不到通用性。而Linux内核则把两个指针单独扣出来,其中的指针也只是指向list_

2015-10-14 22:46:08 423

原创 伙伴系统算法

1.原理Linux的伙伴算法把所有的空闲页面分为10个块组,每组中块的大小是2的幂次方个页面,例如,第0组中块的大小都为20 (1个页面),第1组中块的大小为都为21(2个页面),第9组中块的大小都为29(512个页面)。也就是说,每一组中块的大小是相同的,且这同样大小的块形成一个链表。我们通过一个简单的例子来说明该算法的工作原理。假设要求分配的块其大小为128个页面(由多个页面组成的块我们

2015-10-14 22:46:05 1185

原创 U-boot

裸机程序开发里有一种低成本方案,利用u-boot的TFTP和USB下载功能,将成程序下载到开发板的内存用go命令来运行。   只要最终结果是ARM机器指令即可。理论上u-boot也能直接运行内存中的ELF文件,它需要用bootelf命令运行。不过我一般都是编译器直接转成bin文件来运行的。   因为u-boot已经对开发板进行基本的初始化了,比如内存,时钟等。因此下载的二进制程

2015-10-14 22:46:02 673

原创 栈帧结构

2015-10-14 22:46:00 397

转载 [ARM学习]ARM指令集详解(超…

原文地址:[ARM学习]ARM指令集详解(超详细!带实例!)作者:老徐算术和逻辑指令ADC : 带进位的加法(Addition with Carry)ADC{条件}{S} , , dest = op_1 + op_2 + carryADC 将把两个操作数加起来,并把结果放置到目的寄存器中。它使用一个进位标志位,这样就可以做比 32位大的加法。下

2015-10-14 22:45:58 796

原创 SPI总线协议及应用

SPI,是英语SerialPeripheralInterface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实

2015-10-14 22:45:55 1101

原创 Linux个人发展方向的选择

我发现在学习Linux后的IT人员,选择开发要比系统应用薪水要上升的更为迅速,而且更容易突破5000、8000或10000等每月的门槛;但是这个方向难度会更大,同时会更枯燥些,需要毅力和身体,更需要兴趣。如何入门及如何规划自己的Linux学习之路一直是困扰Linux爱好者的一大难题,实际上,Linux的入门与学习并不难,只是由于长期使用其他操作系统的习惯与没有正确的引导指向,所以一个本身不是难

2015-10-14 22:45:53 8998

原创 cocos2d-x粒子系统

一、粒子系统简介:粒子系统最早出现在80年代,主要用于解决由大量按一定规则运动(变化)的微小物质在计算机上的生成和显示问题。ParticleSystem的应用非常广泛,大的可以模拟原子弹爆炸,星云变化,小的可以模拟水波、火焰、烟火、云雾等,而这些自然现象用常规的图形算法是很难逼真再现的。ParticleSystem可以说是一种基于物理模型来解决问题的方法,它的核心不在于如何显示,而在用于对

2015-10-14 22:45:50 392

原创 等待进程

#include#include#include#include#includeintmain(){   pid_t pid;   char *message;   int n;   int exit_code;   printf("fork program starting\n");   pid = fork();   switch(pid)   

2015-10-14 22:45:48 368

原创 指针笔记

指针优点:1。为函数提供修改调用变元的手段;2。支持C++动态分配子程序3。可以改善某些子程序的效率4。为动态数据结构(如二叉树、链表)提供支持注:指针为程序引入了一层间接性,可以操控指针而不直接操控对象。1。可操控指针内含的地址也可操控指针所指的对象2。指针可能并不指向任何对象,写*pi时,可能会使程序在执行期错误,如寻址到某个对象,则提领操作,不指向任何对象,会出错,所以在提领

2015-10-14 22:45:45 419

原创 位域的理解

struct mybitfields{unsigned short a : 4;unsigned short b : 5;unsigned short c : 7;}test;void main(void) {int i;test.a=2;test.b=3;test.c=0;i=*((short *)&test);printf("%d ",i);}这个题的为

2015-10-14 22:45:42 519

pdf.js 只带目录大纲(outline)功能的demo

修改pdf.js中的simpleviewer的例子,因为自己只需要用到目录功能,就把目录功能添加进去了

2018-08-07

OpenSSL-win64库使用依赖文件

OpenSSL-1.1.1编译过后的程序开发相关依赖文件,包含头文件、lib、dll,已用demo测试通过,详见本人博客【不入流小码农】

2016-12-10

websocket C++ Server端简单demo

websocket C++ Server端简单demo,方便自己添加扩展

2016-05-24

C++编程思想

C + +能够如此成功,部分原因是它的目标不只是为了将 C语言转变成 O O P语言(虽然这是最初的目的) ,而且还为了解决当今程序员,特别是那些在 C语言中已经大量投资的程序员所面临的许多问题。人们已经对 O O P语言有了这样传统的看法:程序员应当抛弃所知道的每件事情并且从一组新概念和新文法重新开始

2013-08-27

C++开发技巧

C++中的经典问题描述,程序设计是的重要技巧 面试过程中的常见问题

2013-08-05

CC3000 WG1300-B0

Jorlin Technologies Inc CC3000模块WG1300-B0型号资料,重要参考资料

2013-08-05

空空如也

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

TA关注的人

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