自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 printf输出格式特殊用法

其它常见用法就不再叙述了特殊用法 对于m.n的格式还可以用如下方法表示(例)char ch[20];printf("%-*.*s\n",m,n,ch);备注:“-”:表示左对齐“m”:表示字符串总宽度“n”:表示输出个数这种用法的好处是可以在语句之外对参数m和n赋值,从而控制输出格式。例

2016-11-25 11:24:02 823

转载 do {...} while (0) 在宏定义中的作用

如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍。然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间。在很多的C程序中,你可能会看到许多看起来不是那么直接的较特殊的宏定义。下面就是一个例子:12#define __set_task_state(tsk, state_v

2016-09-29 10:32:37 421

转载 linux下的so、o、lo、a、la文件有什么区别

原文链接:http://xcecd.blog.163.com/blog/static/679667520102175101812/o: 编译的目标文件a: 静态库,其实就是把若干o文件打了个包so: 动态链接库(共享库)lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息la: 使用libtool编译出的库文件,其实是个文本文

2016-09-28 16:57:21 540

原创 回调函数定义

回调函数

2015-06-30 10:24:26 3519

原创 获取系统时间格式strftime

在工作中发现需要一个显示一定格式的时间,想在Linux设备系统上显示类似2105-01-07 09:30:58这样的格式,然后查找相关time函数,发现一个很有用的函数strftime(),一个函数解决问题 哈哈函数功能:将时间格式化,或者说:格式化一个时间字符串。头文件:time.h函数原型:我们可以使用strftime()函数将时间格式化为我们想要的格式。它

2015-01-08 13:35:41 643

转载 FastCGI

CGI(Common Gateway Interface)公共网关接口,是HTTP服务器与其他程序通信的工具。FastCGI是一个long-live型的CGI,支持分布式计算,它将CGI解释器进程保持在内存中并因此获得较高的性能。FastCGI工作方式是接受Web服务器的请求,以HTTP Request的方式进行响应,实现了应用程序与Web服务器的分离。它的使用需要在Web服务器中安装支持

2014-04-15 15:17:57 670

转载 Configure,Makefile.am, Makefile.in, Makefile文件之间关系

1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。    your source files --> [autoscan*] --> [configure.scan] --> configure.ac2.aclocal (automake):根据已经安

2014-04-10 14:04:15 638

转载 fcgi,scgi,wsgi,cgi

fcgi,scgi,wsgi,cgi原创文章,转载请注明来源并保留原文链接我常常想,web开发的本质是什么?站在最终用户的角度,无非就是用浏览器将网页显示出来。网页又是什么?其实就是HTML。HTML是什么?其实就是浏览器认识的语言,例如,通过HTML告诉浏览器这边我需要一个链接(a标签),那么我们就能看到一段链接。如果只是单纯的静态页面,就像广告那样纯粹的

2014-04-03 10:13:51 1262

原创 莫忘初衷

今天去买车了, 觉得上班走路有点累,想去买辆自行车,结果去了一看要2500块。旁边的人说,2500都掏了不如加点钱买辆电动。遂问电动车价格,3500,决定买。却被告知不如加点钱买小踏板摩托划算。于是看摩托车,4000,决定买。又被告知说小踏板不安全,不如买大摩托。 于是再看。大摩托要6000,决定买。挑来挑去。发现看上眼的居然靠近1w。不料听说1w可以买个二手车。于是改作买车。挑来挑去,二手捷达要

2014-02-21 08:55:11 786 1

转载 那些年入上百万的人是如何做到的?这一人群的平均年龄是多少?

您点赞或者关注我之前看一下这个:鸡汤的知乎 - 195416863 - 知乎专栏看来物质文明远比精神文明重要。========================吐槽分割线=======================这个回答火了很闹心,只能改成匿名了,只有这样才能不让这么个答案在我时间线里排第一。感谢我的师弟 @孙达云 告诉我方法。我是张胡斌===============

2014-02-15 19:40:57 1049

转载 基于电力线载波的物联网智能家居控制系统研究方案

基于电力线载波的物联网智能家居控制系统研究方案2013年05月23日阅读数:1545次  电力线通信(Power Line Communication)技术是指把载有信息的高频加载于电流,利用既有电力线进行传输,通过调制解调器将高频信号从电流中分离出来,传送给计算机或其他信息家电,以实现信息传递。   利用电力载波通信技术,系统网络无

2014-01-26 10:15:05 2755

原创 linux kernel typeof container_of

最近发现两个非常牛的宏:#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)/** * container_of - cast a member of a structure out to the containing structure * @ptr:    the pointer to the member

2014-01-16 15:11:29 659

转载 arm-linux-gcc交叉编译环境的搭建

ubuntu下arm-linux-gcc交叉编译环境的搭建     今天终于把arm的交叉编译环境搭建起来了,其实挺简单的,但是用了不少的时间。网上看了一下,这方面的资料挺多的,可能都是那种比较通用的搭建方法,感觉比较繁琐。而且网上鱼龙混杂,大部分都是拷贝的一份资料。自己根据自己的需要进行了一些精简,这样看起来就简单多了。我用的是s3c2440的芯片,属于ARM9内核。

2014-01-13 10:35:43 759

转载 linux cfs调度器 理论模型

参考资料:《调度器笔记》Kevin.Liu                 《Linux kernel development》                 《深入Linux内核架构》                   version: 2.6.32.9     下文中对于红黑树或链表组织的就绪队列,统称为用队列组织的就绪队列。

2013-12-02 11:25:55 628

原创 内核中的likely()和unlikely()

内核2.6的代码里经常看到下面两个函数:     if(likely(value))  等价于 if(value)  if(unlikely(value)) 也等价于 if(value)这个两个宏在内核中定义是:#define likely(x)          __builtin_expect((x),1)#define unlikely(x)     __bu

2013-11-28 15:20:14 683

原创 《好了歌》和《好了歌注》

1、《好了歌》世人都晓神仙好,惟有功名忘不了!古今将相在何方?荒冢一堆草没了.世人都晓神仙好,只有金银忘不了!终朝只恨聚无多,及到多时眼闭了.世人都晓神仙好,只有姣妻忘不了!君生日日说恩情,君死又随人去了.世人都晓神仙好,只有儿孙忘不了!痴心父母古来多,孝顺儿孙谁见了?【鉴赏】褴褛如同乞丐的跛足疯道人所唱的歌,

2013-11-27 10:41:13 986

原创 网络数据通过内核图2

network data flow through kernel图片来自Google图片

2013-10-12 15:47:06 696

原创 网络数据通过内核图1

以上图片来自Google图片

2013-10-12 15:38:20 846

原创 kernel networking两个重要结构体

在Linux kernel network layer两个最重要的结构体:1、sk_buff      (defined in include/linux/skbuff.h)2、netdevice  (defined in include/linux/netdevice.h)sk_buff represents data and headers.net_device r

2013-10-12 15:24:03 911

原创 CGI是什么

1、介绍通用网关接口(Common Gateway Interface/CGI)是一种重要的互联网技术,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序,请求数据。CGI 描述了客户端和服务器程序之间传输数据的一种标准。2、历史最初,CGI 是在 1993 年由美国国家超级电脑应用中心(NCSA)为 NCSA HTTPd web 服务器开发的。这个 Web 服务器使用了

2013-10-11 16:40:46 893

原创 linux kernel内核开发参考网站

1、Becoming A Kernel Developerhttp://kernelnewbies.org/2、如何进行Linux Kernel开发http://www.cppblog.com/flyonok/archive/2011/04/15/144316.html

2013-09-27 13:45:59 995

原创 Big Plan

大的梦想,从今天(2013-09-27)起开始学习Linux Kernel,坚持,加油!

2013-09-27 13:39:57 755

原创 ARP协议简介

ARP全称为 Address Resolution Protocol地址解析协议。所谓 “ 地址解析”就是主机在发送数据包前将目标主机IP地址 转换成 目标主机MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。这时就涉及到一个问题,一个局域网中的电脑少则几台,多则上百台,这么多的电脑之间,如何能准确的记住对方电脑网卡的MA

2013-03-26 10:26:51 711

转载 NAT类型及转换原理深入剖析

导读:在具体的应用中,NAT的应用方式,或者说NAT类型非常多,本文以Cisco设备中的NAT技术从专业角度进行一些基础知识和应用配置方面的介绍。关键词:NAT Cisco 地址转换大家都知道,NAT是位于内、外网之间,用来进行内、外网地址转换的,在当前NAT技术的应用非常广,因为它可以节约紧缺的公网IP地址。但是千万别以为NAT技术很简单,认为只是把内部(或者外部)地址转换成外部

2013-03-26 09:48:25 971

原创 TCP/IP协议动态演示

最近发现一个动态演示TCP/IP协议中部分协议的动态显示网站:1、http://jpkc.sdust.edu.cn/JSJWL/html/leaf_b34a7b5ff4c437d39c21a824adc55400.htm

2013-03-25 16:59:16 1599

原创 交叉编译

要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(cross compilation tool chain),然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。常见的交叉编译例子如下:1、在Windows PC上,利用ADS(ARM 开发环境),使用armcc编译器,则可编译出针对ARM CPU的可执行代码。2、在Linux PC上,利

2013-03-08 15:41:51 732

原创 每个国家/地区的google网站

每个国家/地区的google网站:1.HongKongwww.google.com.hk2.Taiwanwww.google.com.tw3.Japanwww.google.co.jp4.Russiawww.google.ru5.Germanywww.google.de6.Englandwww.google.co.uk/7

2013-03-07 09:54:27 2165

转载 Linux下system()函数引发的错误

【C/C++】Linux下system()函数引发的错误先看一下问题简单封装了一下system()函数:1int pox_system(const char *cmd_line)2{3    return system(cmd_line

2013-02-20 14:37:29 801

原创 linux下的文件结构

linux下的文件结构linux下的文件结构,看看每个文件夹都是干吗用的/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里

2013-02-06 09:53:25 467

转载 Ubuntu11.04中搭建交叉编译环境(arm-linux-gcc-4.6.1版本)

Ubuntu11.04中搭建交叉编译环境(arm-linux-gcc-4.6.1版本) 声明:本文主要参考http://blog.csdn.net/xt_xiaotian/article/details/6836739,并根据实际情况作了一定的修改与说明 编译环境:内核名称:Linux内核发行版:2.6.38-11-generic内核版本:#50

2013-01-31 11:49:15 2355

转载 移植Lua到ARM平台

移植Lua到ARM平台Lua是一门很小巧的语言,为保证良好的可移植性,Lua使用ANSI C编写。因此Lua的移植灰常简单,只需要使用正确的交叉编译器就好了。本文介绍如何将Lua移植到ARM平台,分x个步骤,并使用如下环境:1. 操作系统:Ubunt10.042. 交叉编译器:arm-linux-gcc 4.3.2版本(如果你不知道怎么搭建交叉编译环境,可以

2013-01-28 16:43:54 7313

转载 lua c/c++ 调用

五.Lua与C的交互 1.简介    Lua与C/C++结合是很紧密的, Lua与C++交互是建立在Lua与C的基础上的, 所  以偶先从Lua与C讲起.    正如第一讲所说, 运行Lua程序或者说调用Lua主要有两种方式:  * 通过命令行执行"Lua"命令  * 通过Lua的C库  虽然此前偶们一直用第一种方式, 但偶要告诉你, 通过Lua的C库执行才

2013-01-21 11:48:30 1754

转载 openwrt web管理luci界面修改

openwrt web管理luci界面修改以前都没听过openwrt和luci,只接触过简单的php语言。由于工作原因,要修改下luci的界面,竟然用了我2天的时间才简单的了解了luci的用法。这里简单的和大家分享下。(就接触2天,本人又是菜鸟级别,高手直接略过吧)大家发现有什么错误就和我说下大家共同学习。我主要是想修改下open后台界面网页的内容。具体怎么安装已经

2013-01-15 11:42:04 84125 9

转载 makefile

有时候我们需要在C程序中操作字符串里的字符,比如求字符串"你好\n"中有几个汉字或字符,用strlen就不灵了,因为strlen只看结尾的0字节而不管字符串里存的是什么,求出来的是字节数7。为了在程序中操作Unicode字符,C语言定义了宽字符(Wide Character)类型wchar_t和一些库函数。在字符常量或字符串字面值前面加一个L就表示宽字符常量或宽字符串,例如定义wchar_t

2013-01-14 14:27:26 6130

原创 Linux 相关命令集锦

at: 安排,检查,删除队列中的工作cat: 连接文件并打印到标准输出. 查看文件内容. vi则可以修改文件. cat /proc/version, cat uboot.bin firmware.bin art.bin > xxx.bincd: 改变目录,能处理绝对和相对路径. ~ 为home directory,cd ../..,chmod: 改变文件保护权限. 开通权限

2013-01-14 14:21:16 739

转载 LuCI - 网页用户配置界面开发

luci 参考资料http://luci.subsignal.org/trac/wiki/Documentationhttp://wiki.openwrt.org/doc/techref/preinit_mount?#first.boothttp://www.google.com.hk/search?q=Luci&hl=en&safe=strict&domains=open

2013-01-14 14:08:25 11366 1

转载 Httpd安装手册(Linux环境)

软件包: httpd-2.2.6.tar.gz软件包说明: 这个版本是未编译好的压缩包,解压后要做编译---------------------------------------------------------------------------------------------------1.解压缩# cd /usr/local/src# tar -zvxf ht

2013-01-11 09:38:47 823

转载 ubuntu LuCI

本文为在ubuntu环境下编译openwrt的bakcfire,最终能得到一个在X86系统上能运行的虚拟机文件。步骤如下:1.        安装ubuntu2.        关闭屏幕保护3.        进入ROOT用户安装或升级不要的组件apt-get install g++apt-get install libncurses5-devapt-get i

2013-01-10 10:24:47 4920 2

转载 集群技术

1 集群技术的定义  集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。本文就集群系统的定义、发展趋势、任务调度等问题进行了简要论述。  集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是

2012-12-27 11:06:01 1008

原创 计算机集群

计算机集群简称集群是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多。或者说:

2012-12-25 20:31:05 7101

空空如也

空空如也

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

TA关注的人

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