houshaoyun的博客

个人学习技术总结

排序:
默认
按更新时间
按访问量

14.优雅关闭socket的方法:SO_LINGER

这个参数对应大量短链接的服务器很有必要!   shutdown(fd, SHUT_RDWR); struct linger linger; linger.l_onoff = 1; linger.l_linger = 0; setsockopt(f...

2018-09-27 16:57:07

阅读数:22

评论数:0

9.C++中的base64编解码实现

#include <string> #include <iostream> #include<stdio.h> using namespace std; std::...

2018-09-07 15:04:07

阅读数:31

评论数:0

1.最全整理浏览器兼容性问题与解决方案

常见浏览器兼容性问题与解决方案   所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况。在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果。所以浏览器的兼容性问题是前端开发人员经常会碰到和必...

2018-09-07 09:52:57

阅读数:65

评论数:0

1.c++ web编程:写出你的CGI程序

 一 什么是CGI       CGI(The Common Gateway Interface):通用网关接口,定义web服务器和客户脚本进行信息交互的一系列标准。  二 web浏览器          为了了解CGI的概念,让我们来看看当我们单击一个超链接来浏览一个特定的web页或URL...

2018-09-06 10:46:23

阅读数:48

评论数:0

17.arm架构的异常与中断

注:以下内容学习于韦东山老师arm裸机第一期视频教程 一.arm架构的异常与中断的处理    1.1 ARM对异常的处理流程         1.1.1 软件初始化             a. 设置中断源,让他可以产生中断             b. 设置中断优先级       ...

2018-08-09 08:19:02

阅读数:191

评论数:0

16.C语言及ARM中堆栈指针SP设置的理解与总结

1.什么是栈 百度这么说: 栈是一种特殊的线性表,是一种只允许在表的一端进行插入或删除操作的线性表。表中允许进行插入、删除操作的一端称为栈顶。表的另一端称为栈底。栈顶的当前位置是动态的,对栈顶当前位置的标记称为栈顶指针。当栈中没有数据元素时,称之为空栈。栈的插入操作通常称为进栈或入栈,栈的删除...

2018-08-09 08:10:40

阅读数:40

评论数:0

13.CentOS 7.3 Xinetd服务的安装与配置

一、Linux守护进程与初始化进程 1. 什么是守护进程 Linux服务器的主要任务就是为本地或远程用户提供各种服务。通常Linux系统上提供服务的程序是由运行在后台的守护进程(Daemon)来执行。一个实际运行中的Linux系统一般会有多个这样的程序在运行。这些后台守护进程在系统开机后就运行...

2018-08-08 08:23:19

阅读数:166

评论数:0

12.RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

最近一段时间一直在研究rtsp和rtp,现在写博客总结一下,也是对知识的一种巩固吧。 rtsp的协议的请求流程及格式请参考一下链接:http://blog.csdn.net/u010425035/article/details/10410851 下面是我用VLC播放器获取海康NVR视频的截图(...

2018-08-07 13:55:03

阅读数:496

评论数:0

四字节内存对齐

首先我们先看看下面的C语言的结构体: typedef struct MemAlign { int a; char b[3]; int c; }MemAlign;     以上这个结构体占用内存多少空间呢?也许你会说,这个简单,计算每个类型...

2018-08-04 08:20:30

阅读数:66

评论数:0

高手进阶,终极内存技术指南——完整/进阶版 I

老實話,我個人覺得這兩篇文章真的寫的很不錯,前段時間在study關於DDR內存的初始化以及其相關知識的時候,詳細學習了它。個人很佩服原文的作者能夠寫出這麼深刻的文章。(應該說,這篇文章把DDR2的spec翻譯了大部份,對於我們BIOS工程師而言,是一篇不錯的資料。)下面是原文。 两篇文章的出处是...

2018-07-21 08:06:32

阅读数:150

评论数:0

同步通信和异步通信的区别

同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。同步是指:发送方发出数据后,等接收方...

2018-07-10 08:16:23

阅读数:227

评论数:0

15.UART协议

UART简介 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。UART通信在工作中相当常见,项目中需要生成uart信号,在博客中记录下。uart是异步通信,因为它只有一根线就可以数据的通信。不像SPI,I2C等同步传输...

2018-07-10 08:06:15

阅读数:60

评论数:0

1.Linux Makefile 生成 *.d 依赖文件及 gcc -M -MF -MP 等相关选项说明

1. 为什么要使用后缀名为 .d 的依赖文件?在 Makefile 中, 我们的依赖关系可能需要包含一系列的头文件。 比如 main.c 源文件内容如下:#include "stdio.h" #include "defs.h"...

2018-07-09 17:21:48

阅读数:47

评论数:0

15.同步与互斥的概念

现代操作系统基本都是多任务操作系统,即同时有大量可调度实体在运行。在多任务操作系统中,同时运行的多个任务可能:都需要访问/使用同一种资源多个任务之间有依赖关系,某个任务的运行依赖于另一个任务这两种情形是多任务编程中遇到的最基本的问题,也是多任务编程中的核心问题,同步和互斥就是用于解决这两个问题的。...

2018-07-05 08:40:38

阅读数:37

评论数:0

11.使用信号量完成互斥操作

一、首先:我们要知道信号量是什么?       信号量的本质是数据操作锁,它本身不具有数据交换的功能,而是通过控制其他的通信资源(文件,外部设备)来实现进程间通信,它本身只是一种外部资源的标识。信号量在此过程中负责数据操作的互斥、同步等功能。这是书本上介绍的信号量的概念,自己的理解比较简单:   ...

2018-07-04 08:39:27

阅读数:45

评论数:0

14.C语言中time函数和localtime获取系统时间和日期

C语言中time函数和localtime获取系统时间和日期             可以通过time()函数来获得计算机系统当前的日历时间(Calendar Time),处理日期时间的函数都是以本函数的返回值为基础进行运算。1. time 函数    返回1970-1-1, 00:00:00以来经...

2018-07-02 15:34:45

阅读数:39

评论数:0

5.fcntl函数详解

功能描述:根据文件描述词来操作文件的特性。#include <unistd.h>#include <fcntl.h> int fcntl(int fd, int cmd); int fcntl(int fd, ...

2018-06-29 08:11:03

阅读数:34

评论数:0

5.使用printf来调试程序

#define OUT_PRINTF(...) \ do { \ printf("\e[0;32m%s@line%d\t:", __FU...

2018-06-28 10:02:44

阅读数:45

评论数:0

4.使用assert函数来调试程序

我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”。  在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种“契约式编程”,在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个if语句:if(...

2018-06-28 09:29:24

阅读数:57

评论数:0

串口、COM口、TTL、RS-232的区别详解

Point:  1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平标准(电信号)。  2、接设备的时候,一般只接GND RX TX。不会接Vcc或者+3.3v的电源线,避免与目标设备上的供电冲突。  3、PL2303、CP2102芯片是 USB 转 TTL...

2018-06-27 17:32:16

阅读数:50

评论数:0

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