自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

心系欣

要成为架构师的程序猿

  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

原创 传统机顶盒(STB)知识框架

传统机顶盒(STB)知识框架毕业后在现在的这家公司也呆了两年多了,一开始做电视墙,一种广电运营商用于对节目状态如无音轨、马赛克、黑屏等异常事件进行监控并报警的设备。后来因项目需要转去做传统机顶盒开发也将近一年。现在准备走出去到外面看看,吸收其他方面的知识,所以不打算继续在机顶盒行业发展了。所以用XMind做了这张图(XMind平时也可以应用在工作和日常生活上,值得推荐)。

2017-08-14 00:48:00 2304 2

转载 提高 Linux 上 socket 性能

加速网络应用程序的 4 种方法使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信。与其他 API 一样,您可以通过一些方法使用 Sockets API,从而提高 Socket 的性能,或者限制 Socket 的性能。

2016-10-27 20:40:16 741

原创 apt-get使用代理

公司限制我们上网,一般查资料只有一台公用电脑可以上网,所以我们在上面装了CCproxy来代理上网。 (吐槽:全公司这么多部门偏偏只有我们软件部不给上网这不科学!!!) Linux上想要安装新软件,以为直接执行一下 export http_proxy="http://192.168.1.155:808" 就好了,结果发现不行。

2016-10-25 01:09:45 5750 1

转载 当你喜刷刷时,你可知为何朋友圈能这么流畅?

朋友圈已让人欲罢不能。有人说,早上睁眼第一件事情,是刷朋友圈;晚上睡觉最后一件事情,还是刷朋友圈。这背后是海量的信息数据和查看请求。如此庞杂的数据,微信却做到了流畅的体验,一切井然有序,刷一下就搞定。只要网络状况良好,再多的数据量,也能“喜刷刷”。 那么,朋友圈如何保障流畅?

2016-10-24 21:21:45 940

原创 sparse image

在使用make_ext4fs的时候有一个参数为-s,意思是sparse。使用这个参数制作出来的镜像就是sparse image。当时不明白是什么意思,所以查找了一下并记录下来。 简单地来说,sparse image是一种需要多少空间就分配多少的镜像(虚拟机的磁盘镜像文件就是这种镜像,虽然安装系统时候指定了磁盘大小,但占用的磁盘空间并没有那么大,而是随里面的文件大小增大而变大)。

2016-09-12 21:41:20 9061

原创 网络字节序与主机字节序的转换

前言端口号和IP地址都是以网络字节序存储的,不是主机字节序。网络字节序都是大端模式,而我们常用的机器都是小端模式。要把主机字节序和网络字节序相互对应起来,需要对这两个字节存储优先顺序进行相互转化。其实这个转换实质是:字节“搬家”。 先分析一下我们平时使用ntohl、ntohs、htonl、htons函数是怎么实现的,然后在本文最后写一个判断机器是大/小端的函数。

2016-08-12 14:04:56 841

原创 libcurl之cookie操作

C编程需要网页请求时当然首选libcurl库啦,涉及到登录的肯定需要对cookie操作了。所以本文主要是记录一下接收和发送cookie的方法,以及需要注意的地方。 1、发送(往curl导入)cookie的两个方法2、获取(从curl导出)cookie的方法......

2016-07-15 21:38:13 11973 1

原创 关于网页分析一些技巧

这篇文章不是讲网页调试的步骤,只是记录一些调试过程中能给我们带来便利的技巧。主要是最近一直探究网页版微信的协议,都是在实战中得到的比较有用的技巧。 本文以谷歌浏览器为例(F12)1、调试前做一些配置上的准备工作(1)设置网页跳转时,已抓取的数据不被清除掉(2)清除旧的cookie和缓存...

2016-07-14 01:32:41 11751 3

原创 WEB版微信协议部分功能分析

更新不知道是不是因为网页版微信的console.log问题被发现(可以看看知乎这里),中秋假期里出了新版本,有一些地方改了。但具体哪里改了还没时间去深究,不过可以发现同步更新的时间间隔改成了25s,如下图:

2016-06-30 23:03:44 81120 49

原创 URL编码

URL编码URL编码是一种浏览器用来打包表单输入的格式,用于表示非标准的字母和字符。

2016-06-21 01:02:37 1967

原创 回归CSDN

毕业也有一年时间了,都有一年多没在CSDN上写文章了,如今正式回归。

2016-06-21 00:55:19 1248

原创 函数strdup()

说明 功能:将字符串拷贝到新建的位置处 注意:strdup()在内部调用了malloc()为变量分配内存,不需要使用返回的字符串时,需要用free()释放相应的内存空间,否则会造成内存泄漏。原型char *strdup(const char *s);头文件:#include <string.h>返回值 返回一个指针,指向为复制字符串分配的空间。如果分配空间失败,则返回NULL值。实例#inc

2015-04-09 11:45:50 4211

原创 函数getopt_long_only()

第一次接触这个函数,是因为学习mjpg-streamer的源码。函数作用:对命令行选项进行解析。函数出处 头文件getopt.h中:#include <getopt.h>int getopt_long_only(int argc, char * const argv[], const char *optstring, con

2015-04-09 11:40:45 1127

原创 GTK编程:button控件与消息事件

实现功能:没什么特定功能,只是为了熟悉一下button控件和消息事件而已(弥补上一个程序没有实现的消息事件)/* File: button_hello.c * Date: Tue Mar 24 14:58:06 HKT 2015 * Describe: a simple button show * Autor: won */#include <gtk/gtk.h>#include <st

2015-03-31 23:35:39 2026

原创 GTK编程:将图片文件按指定比例显示

实现功能:将指定的图片文件按指定比例在窗体中显示注意:这段代码没有信号处理的实现,当点击关闭窗体的时候,虽然窗体关闭了,但程序并没有真正退出。/* File: SizeShow.c * Date: Mon Mar 27 15:36:09 HKT 2015 * Describe: Show the picture with the specified size * Autor: won */

2015-03-31 23:21:12 2012

原创 GTK编程:获取图片的分辨率

实现功能:获取指定图片的分辨率 使用场景:需要对图片进行等比例缩放的时候。

2015-03-31 22:31:14 1052

原创 GTK编程:获取屏幕分辨率

最近开始学习GTK+图形界面编程了,先写一些非常基础的程序。这个程序实现的功能是:获取屏幕的分辨率。/* File: ScreenParam.c * Date: Mon Mar 23 16:41:27 HKT 2015 * Describe: Print the screen resolution * Autor: won */#include <gtk/gtk.h>#include <s

2015-03-31 21:09:13 2397

转载 pthread_create如何传递两个参数以上的参数

涉及多参数传递给线程的,都需要使用结构体将参数封装后,将结构体指针传给线程 定义一个结构体 struct mypara {     var para1;//参数1     var para2;//参数2 } 将这个结构体指针,作为void *形参的实际参数传递 struct mypara pstru; pthread_create(&ntid, NU

2014-12-04 19:16:42 1077

原创 判断Linux系统是32位还是64位

方法1:执行以下命令:---------------------------$ getconf LONG_BIT---------------------------如果输出32即为32位系统,输出64即为64位系统 方法2:执行以下命令:---------------------------$ uname -a---------------------

2014-11-30 21:38:04 948

原创 uname -a输出内容分析

虽然很早就会用这条命令了,但一直都不知道输出的各部分表示什么,如下:----------------------------------------------------------------------------$ uname -aLinux ubuntu3.2.0-29-generic-pae #46-Ubuntu SMP Fri Jul 27 17:25:43 UTC 20

2014-11-30 21:33:29 50567 4

原创 使用apt-get出现“Could not get lock...”的解决方法

使用apt-get 安装软件的时候出现以下错误--------------------------------------------------------------------------------------------------------------$ sudo apt-get install hostapdE: Could not get lock /var/lib/

2014-11-30 01:32:24 4737

原创 执行make menuconfig出现“Unable to findthe ncurses libraries”的解决方法

更新Ubuntu的内核时,执行make menuconfig出现如下错误:---------------------------------------------------------------------------------------*** Unable to findthe ncurses libraries or the*** required headerfil

2014-11-30 01:27:01 1114 1

原创 ushare编译之 ‘struct sockaddr_storage’ has no member named ‘s_addr’

编译ushare的时候出现‘struct sockaddr_storage’ has no member named ‘s_addr’这是使用libupnp1.6.19出现版本不兼容的错误。解决方法:libupnp换成1.4.2版本配置:-------------------------------------------------------------------

2014-10-31 00:57:34 4941 1

原创 DLNA之 Error, can't findlibavformat ! 解决方法

DLNA库版本为libdlna-0.2.4执行./configure出错:------------------------------Error, can't findlibavformat ! -------------------------------------------- 查看config.log文件:------------------------

2014-10-27 15:07:14 2285

原创 undefined reference to `av_close_input_file' 原因分析

这是使用libdlna0.2.4与ffmpeg2.4.2搭配遇到的问题解决方法是使用ffmpeg2.2.9版本(更久的版本没测试过),或者坚持要使用ffmpeg2.4.2版本的话,只需将…/ffmpeg-2.4.2/libavformat/version.h文件中一点点内容进行修改:

2014-10-27 09:44:00 6813

转载 Linux静态库与动态库的详解

库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。 一、静态库和动态库的区别1. 静态函数库这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大--空间,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为

2014-10-25 01:47:55 589

原创 中星ZC3XX摄像头驱动在内核中的配置

前几天有同学要做关于摄像头的项目,是中星微的ZC301摄像头,在配置内核的时候找不到驱动。刚好我之前做过相关的项目,所以一会儿就找到了,现在把它放出来,方便以后需要的道友。执行make menuconfig之后进入:----------------------------------------------------------------------------------------

2014-10-20 14:15:25 2485

转载 Linux文件系统十问,你知道吗?

作者:yanfei,腾讯后台架构师,参与项目为搜搜网页开发和搜搜开放平台。   关于文件系统,相信大家都不陌生。身为攻城狮的我们几乎天天都会与之打交道,但是细深剖一下,其中又有多少是我们理解深度不够的呢。那么让我们一起来看一下下面这一组Linux文件系统相关的问题吧:1、机械磁盘随机读写时速度非常慢,操作系统是采用什么技巧来提高随机读写的性能的?2、touch一个新

2014-10-12 12:48:16 843

转载 lds文件浅析

.lds文件定义了整个程序编译之后的连接过程,决定了一个可执行程序的各个段的存储位置。GNU官方网站上对.lds文件形式的完整描述:SECTIONS{...secname start BLOCK(align) (NOLOAD):AT (ldadr) {contents} >region:phdr=fill...}secname和contents是必须的,其他的都是可选的。

2014-10-08 11:39:34 4795

原创 有趣的变量交换方法

今天看到一个比较x

2014-09-25 17:47:25 767

原创 串口初始化

//初始化IO 串口1//pclk2:PCLK2时钟频率(Mhz)//bound:波特率//CHECK OK//091209void uart_init(u32 pclk2,u32 bound){ float temp; u16 mantissa; u16 fraction; temp=(float)(pclk2*1000000)/(bound*16);//得到

2014-09-12 21:19:26 3500

原创 win8 磁盘读写经常达到100%的解决方法

自从装了win8之后,电脑总是很卡

2014-09-08 13:08:26 5191

原创 C语言实现对文件内容进行修改

项目中需要实现对文件内容进行修改,所以有了以下的测试程序,其中遇到了很多问题,在这一一记录下来。其实实现原理很简单,首先是要实现定位到所需要的字段的那一行,之后再对指定字段进行修改。在我接触了shell编程后,觉得shell编程会很容易实现(网上说可以用sed命令,还没接触过,有时间再弄弄)。但是由于C语言是面向过程的语言,需要顺序执行的特点,所以,实现中遇到了很多麻烦。首先,需要

2014-09-06 16:10:38 33433 4

转载 Dash与Bash的语法区别

如今Debian和Ubuntu中,/bin/sh默认已经指向dash,这是一个不同于bash的shell,它主要是为了执行脚本而出现,而不是交互,它速度更快,但功能相比bash要少很多,语法严格遵守POSIX标准,下面简要列举下从bash迁移到dash一般需要注意的问题1.定义函数bash: function在bash中为关键字12345

2014-09-04 19:57:51 2869

原创 定时修改本机ip的脚本

因为测试需要,要写一个定时修改本机ip的程序,听说用shell编写比较简单明了,所以用shell写了(本人第一次用shell编程)。#!/bin/bash while truedoip_last=$((($RANDOM%255)+1))echo now ip is: 192.168.1.$ip_lastifconfig eth0 192.168.1.$ip_lastsl

2014-09-04 19:33:08 1919

原创 结构体转化成字符数组

昨天晚上在解决通过socket发送结构体的问题的时候,知道了可以将结构体先转化成字符串的形式再发送,但今天之前一直有个疑问没有解决(为了方便描述,去掉socket部分),首先看下代码:#include #include #include typedef struct info{ char name[5]; char num[10];}INFO;int main(){ I

2014-09-02 11:07:00 9092 4

原创 Kernel panic之"eth0: no IPv6 routers present"的解决方法

昨天开发板开机启动时候,出现了点状况:PS:根文件系统是通过挂载的形式运行的,之前一直都是好好的没问题。kernel panic的问题不是没遇到过,但下面这错误信息“eth0: no IPv6 routers present”就第一次见了,百度了很久也没找到什么解决方法,然后就走了。今天又过来折腾,没办法,一定要解决啊,不过问题总算是解决了:当时我想,是不是linu

2014-08-30 16:41:01 6478

原创 获取本机ip(成功版)

参照网上用ioctl的SIOCGIFCONF方法获取本地ip成功,代码如下:#include #include /* for exit() */#include #include /* for socket() */#include /* for socket() */#include

2014-08-30 13:12:20 1598

原创 获取本机ip(有问题版)

想写一个获取本机ip的程序:

2014-08-30 11:19:59 1089

原创 Ubuntu终端显示的路径名的长短设置

1.在终端上执行:

2014-08-29 02:03:22 870

AT指令集.doc

AT 即Attention,AT指令集是从终端设备(TE)或数据终端设备(DTE)向终端适配器(TA)或数据电路终端设备(DCE)发送的。通过TA,TE发送AT指令来控制移动台(MS)的功能,与GSM 网络业务进行交互。用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。

2017-11-30

常用的邮箱服务器(SMTP、POP3)地址、端口

常用的邮箱服务器(SMTP、POP3)地址、端口,包括Gmail、Foxmail、QQ邮箱、Yahoo、sina、suhu、139邮箱等。

2017-11-30

空空如也

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

TA关注的人

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