自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 资源 (14)
  • 收藏
  • 关注

原创 小议Linux中的僵死进程

这篇博客介绍了linux中僵死进程的产生原因,消除僵死进程的方法,以及init进程是如何消除僵死进程的。

2014-01-02 21:19:33 2076

原创 unix进程的环境--unix环境高级编程读书笔记

主要介绍进程的运行环境,包括c程序的空间分配,进程的执行和终止的过程,存储空间的分配

2013-12-31 11:00:51 1254

原创 linux系统数据文件和信息--unix环境高级编程读书笔记

linux中对文件passwd,group,utmp,wtmp的操作,以及uname函数和时间操作的一些介绍,总的来说,是对linunx中的一些系统文件操作的相关介绍。

2013-12-30 11:56:31 1677

转载 Linux驱动开发经典书籍

Linux驱动学习的最大困惑在于书籍的缺乏,市面上最常见的书为《linux_device_driver 3rd Edition》,这是一本很经典的书,无奈Linux的东东还是过于庞大,这本侧重于实战的书籍也只能停留在基本的接口介绍上,更深入的东东只能靠我们自己摸索了。但万事总有一个开头,没有对Linux驱动整体框架的把握是很难做一个优秀的驱动开发者的。除了这本Jonathan Corbet,G

2013-12-28 11:32:02 3677 1

原创 在pcduino开发板上写驱动控制板载LED的闪烁

由于关于pcduino的资料比较少,所以这篇文章是参考了pcduino爱好者论坛的一篇教程《手把手教你用A10点灯》,并且系统的结合了linux驱动的开发步骤。读完这篇文章,你不但可以对pcduino开发板的硬件结构有所了解,更重要的是可以对linux的驱动开发步骤有一个系统的认识。我也是一个linux驱动的新手,所以,写的不对的地方,请大家指正。

2013-12-26 14:58:01 5523 4

原创 标准IO库--unix环境高级编程读书笔记

linux的标准io库操作,缓存操作,流操作,fopen,fgetc,fputc,fgets,fputs等函数的使用

2013-12-20 17:26:11 1730

原创 文件和目录(二)--unix环境高级编程读书笔记

linux的文件系统相关介绍,包括文件和目录一些操作

2013-12-19 20:21:15 1580 2

转载 驱动程序的学习步骤

了解linux驱动程序技巧学习的要领很主要,学习linux操作系统时,你可能会遇到关于驱动方面的疑问,这里将介绍学习linux驱动程序的要领,在这里拿出来和大家分享一下。1.学会写基本的makefile2.编一使用程序,可以用makefile跑起来3.学会写linux驱动程序的makefile4.写一基本char驱动,makefile编译通过,可以insmod,lsmod,rmmo

2013-12-19 11:29:26 1482

原创 文件和目录(一)--unix环境高级编程

普通文件和目录linux中最多的两类文件,linux中一共有七种类型的文件,如下:1.普通文件2.目录3.字符特殊设备4.块特殊设备5.FIFO,又叫命名管道6.Socket,即套接字7.符号链接获取一个文件的详细信息可以使用stat函数组,stat函数组包括三个函数,它们的函数原型如下:int stat(const char* pathname,struct stat* buf)

2013-12-18 20:19:05 1532

原创 linux中SUID,SGID和SBIT的奇妙用途

linux的SUID,SGID和SBIT的相关介绍和讨论

2013-12-17 16:56:16 28404 3

原创 重写dup2函数

在unix环境高级编程的第三章中有一道题目是这样的:重写dup2函数,不能使用fnctl函数,要有规范的容错处理刚开始没有什么思路,后来在网上查了一下,发现大多数的处理都是,一直调用dup直到得到我们所想要的文件描述符为止,然后关闭不需要的文件描述符。代码如下:#include #include int mydup2(int fd,int fd2){ int fdtmp

2013-12-16 21:47:14 1122

原创 文件io(二)--unix环境高级编程笔记

linux中的文件操作的同步,以及更改打开文件的状态,原子操作

2013-12-16 17:47:17 1439

转载 linux下截图软件 shutter

终端安装: sudo apt-get insatll shutter介绍shutter:      你是否听说过一款叫“Gscrot”的图形化截图工具,它是一款相当棒的截图软件,可以截窗口(包括边框)、控件、网页还有全屏幕。   现在,GScrot已经更名为Shutter,相对于前身Gscrot,Shutter变得更加强大!   Shutter的工程主页是:http:/

2013-12-16 16:03:32 3725

原创 文件io(一)--unix环境高级编程读书笔记

unix环境高级编程笔记,文件io即不带缓存的io。

2013-12-15 21:07:59 2294 1

转载 linux下好玩的命令

Linux下好玩的命令1、yes命令,输出很多个y,可以用来对付选择很多y/n的应用。2、banner命令,打印字符标题,就是用字符拼出大字来:3、ddate命令,把日历转换成其他的什么历:4、fortune命令,随机输出一句话,或者是一句英文名言,或者是一首唐诗宋词来,如果没有唐诗宋词,那就需要用fortune-zh5、cal 9 1752,打印日历,但是这个月非

2013-12-10 21:16:38 8006 3

转载 Linux命令中的常用符号解释(zz)

一、通配符:" * ” 、" ? ”  和DOS下一样,当我们不知道确切的文件名时,可以用通配符来进行模糊操作。“*”可以代表任意长度的任意字符,“?”代表一个任意字符。二、转义字符:" \ ”  和DOS的命名规则不同的是,通配符" * ”、" ? ”是可以在文件名中使用的。  如果要操作的文件名中包含有这些特殊符号,我们可以结合“\”来表达。下面是通配符和正则表达式的一个简短列

2013-12-07 17:30:09 2020

原创 小议C++中函数的参数的传递

c++中为每一个函数都维护了一个运行栈(活动记录),这个栈存储了与该函数相关的一系列信息,包括函数中声明的变量,传递给函数的实际参数,以及该函数的返回地址等,使用gdb调试器可以清楚的看到这一切。当调用发生时,该函数会将实际参数的值copy到运行栈,也就是常说的值传递。那么很显然的就是,如果我们在函数中改变的只是实际参数的值的拷贝,所以实际参数的值并没有发生变化。     那么,如果我们想要去

2013-12-05 22:12:07 1236

转载 如何编译Linux内核

内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。本文将以RedHat Linux 6.0(kernel 2.2.5)

2013-12-03 15:43:25 2257

转载 sed用法及实例

1.       打印:p[root@TestAs4 chap04]# cat datafile               原文件northwest       NW      Charles Main            3.0     .98     3       34western         WE      Sharon Gray             5.3   

2013-11-26 19:16:54 855

转载 Linux平台代码覆盖率测试工具GCOV简介

本博客http://blog.csdn.net/livelylittlefish 贴出作者(三二一@小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!Content 1. gcov是什么?2. gcov能做什么?3. 如何使用gcov?3.1 使用gcov的3个阶段(1) 编译(2) 收集信息(3) 报告3.2 gcov的选项(1) -a, --

2013-11-19 20:01:44 2345

转载 GDB调试手册

Linux 包含了一个叫gdb 的GNU 调试程序。gdb 是一个用来调试C和C++程序的强力调试器。它使你能在程序运行时观察程序的内部结构和内存的使用情况。以下是 gdb 所提供的一些功能:它使你能监视你程序中变量的值、它使你能设置断点以使程序在指定的代码行上停止执行、它使你能一行行的执行你的代码。在命令行上键入gdb并按回车键就可以运行gdb 了。(Windows需要安装MinGW或者CygW

2013-11-19 19:04:52 1799

转载 用gdb来学习c语言(linux环境下)

目录(?)[+]原文地址:https://www.hackerschool.com/blog/5-learing-c-with-gdb前几天在hacknews上看到这篇文章,发现它对C的初学者来说很有帮助。所以就尝试的翻译,粘贴在这里。限本人的英文水平和技术水平有限,有些地方可能翻译的不准,敬请见谅啊!--------------------------------------

2013-11-19 10:05:21 2368

转载 Linux下C语言的调试器 Gdb

调试是所有程序员都会面临的问题. 如何提高程序员的调试效率, 更好更快地定位程序中的问题从而加快程序开发的进度, 是大家共同面对的问题. 就如读者熟知的Windwos下的一些调试工具, 如VC自带的设置断点, 单步跟踪等, 都受到了广大用户的赞赏. 那么, 在Liunx下有什么好的调试工具呢?    Gdb是一款GNU开发组织并发布的Linux下的程序调试工具. 虽然它没有图形化的友好界面

2013-11-19 09:33:00 2024

转载 [转]深入理解C/C++ [Deep C (and C++)]

作者:Rockics来源:http://blog.csdn.net/rockics/article/details/7015067说明:译自Deep C (and C++) by Olve Maudal and Jon Jagger,本身半桶水不到,如果哪位网友发现有错,留言指出吧:) 编程是困难的,正确的使用C/C++编程尤其困难。确实,不管是C还是C++,很难看到那种良

2013-11-18 16:25:31 2086

原创 实现冒泡排序和选择排序

1、冒泡排序     冒泡排序的思想就是:大数沉底,小数浮起。 它的做法是:对于n个需要排序的数,每次都把未排序的数中最大的数,放到它最终所在的位置。冒泡排序需要进行n-1趟。算法的C++语言实现如下:template void BubbleSort(elemType a[],int length){ //外层循环为n-1趟 for(int i=0;i<

2013-11-12 17:43:55 1238

原创 实现插入排序

插入排序的思想是增量法,它每一次都将一个待排序的元素插入到已经排序好的局部列表(数组)中。我们在玩牌时,就用到了插入排序。插入排序算法的伪代码如下:InsertionSort( A )for i<-2 to A.length do key <- A[ i ] j <- i - 1 while j>0 and A[ j ] > key do A

2013-11-12 16:53:44 1308

原创 如何退出while(cin>>value)的循环

今天看了一个程序,感觉很奇怪,如下:#include using namespace std;int main(){ int value; while( cin>>value ) { ; } cout<<"end input"<<endl; return 0;}     用户不断的

2013-11-07 19:48:19 5486 2

原创 arduino图形编程——ardublock

arduino是一款开源的硬件平台,具有丰富的IO功能,因而得到了很多人的喜爱。最近发现arduino有一款插件可以进行图形编程,和MIT的App Inventor有点类似。如下图:     安装ardublock的步骤很简单,如下:     1)首先你应该安装了arduino,ardublock只能依赖于arduino。     2)接下来下载ardublock,可以从htt

2013-11-07 15:38:42 11666 1

原创 ROS的学习(二十一)使用时间和TF

rosserial_arduino这个包,包括了可以在arduino上产生时间戳的一个库,这个时间和运行roscore实例的PC或者是平板上的时间是同步的。下面使用一个例子来演示一下如何访问时间,并且发布一个TF变换。打开一个终端,运行arduino IDE:arduino     选择File->Examples->ros_lib->TimeTF,打开的代码如下所示:/* *

2013-11-04 10:13:40 11751

原创 在linux终端下打开pdf文件

已经使用linux有很长的时间了,感觉linux的终端使用起来非常的方便。但是怎么在linux下用命令的方式打开pdf文件呢。我查了一下,打开pdf的命令是:evince [filename]     例如当前的目录下有一个hello.pdf文件,那么我们可以使用以下命令打开它:evince hello.pdf

2013-11-03 18:18:26 89593 5

原创 ROS的学习(二十)rosserial中的Publisher和Subscriber中的编程步骤

1.在一个话题上发布消息。     可以使用ros::Publisher类创建一个句柄来在一个话题上发布消息,应该首先创建一个publisher将要使用的消息,然后在setup函数中调用advertise。整个程序的结构如下:#include ros::NodeHandle nh;// before your setup() functionstd_msgs::String str

2013-11-01 17:09:57 9925

原创 ROS的学习(十九)用rosserial创建一个subscriber

在前面的一篇博客中,我们已经使用arduino创建了一个publisher节点,接下来将会创建一个subscriber,打开arduino IDE:arduino     选择File->Examples->ros_lib->Blink,就可以打开一个示例程序,代码如下:/* * rosserial Subscriber Example * Blinks an LED on c

2013-11-01 16:30:36 8751

原创 ROS的学习(十八)使用rosserial创建一个publisher

在arduino开发人群中,经常把源代码称为“sketch”,之后,我们就会使用这个惯例。打开一个终端,启动arduino:arduino     将arduino开发板连接到电脑的usb口,在arduino IDE中进行设置。选择Tools->Board,选择你所使用的arduino开发板的类型,笔者所使用的arduino开发板是arduino UNO。设置好开发板之后,继续选择To

2013-11-01 12:04:31 11455

原创 C语言命令行参数的使用

之前曾经使用过很多次c语言的命令行参数了,但是总是每次使用的时候都不太确定,需要重新查资料,这次来个总结。c语言的命令行参数非常简单,只需要一个简单的例子就可以说明:#include void main(int argc,char** argv){ printf("%d\n",argc); printf("%s\n",argv[0]); pr

2013-11-01 11:00:25 88032 12

原创 C++的学习(十一)继承

面向对象语言的核心就是继承与虚拟,首先总结一下C++中与继承有关的知识。如果你之前学过java或者其它的面向对象的语言,对继承的理解应该是很容易的。在C++中,一个类通过继承可以获得父类的所有成员,而它自己又相应的称为其父类的子类。我们也可以把父类称为基类,把子类称为派生类。     如果没有特别强调均为公有继承。     首先,我们已经知道一个类通过继承可以获得父类的所有成员。对于父

2013-10-31 20:07:24 2034

转载 解决ubuntu下arduino IDE的Serial Port无法选择问题

刚接触arduino,刚买了个arduino uno的板子(mango的兼容板 ,不得不说,质量还不错。),拿回来就开始折腾,开始在windows上折腾没有问题,近来在windows下工作越来越少,而今天开始在ubuntu上折腾,上来就碰到了一个问题。那就是arduino IDE的Serial Port无法选择,google后发现解决方案。原因就是在ubuntu下,预置安装了一个叫brltty

2013-10-31 16:30:27 15139 2

原创 ROS学习(十七)安装ARDUINO IDE使用rosserial

arduino和arduino IDE是非常好的和简单的可编程硬件工具,使用rosserial_arduino包,你可以使用arduino IDE直接使用ROS。rosserial提供了一个通信协议,它通过arduino的UART来工作。它允许arduino作为一个ROS的节点,可以直接发布和订阅ROS的消息,发布TF变换,以及获取ROS的系统时间。     如果你没有安装arduino ID

2013-10-31 15:23:17 20792 14

原创 ROS的学习(十六)用C++写一个简单的服务器(service)和客户端(client)

我们将创建一个服务器节点add_two_ints_server,它将会收到两个整数,并且返回它们的和。切换目录到之前建立的beginner_tutorials包下:cd ~/catkin_ws/src/beginner_tutorials     编辑src/add_two_ints_server.cpp文件:vim src/add_two_ints_server.cpp 

2013-10-30 21:51:25 16682 13

原创 ROS的学习(十五)验证publisher和subscriber

在前面的两篇博客中我们用C++在ROS中创建了一个发布者和接收者,并使用catkin_make构建了新的节点,下面就需要验证一下,我们写的是否正确。     首先运行roscoreroscore     打开一个新的终端在里面运行talker:rosrun beginner_tutorials talker     看到的运行结果如下:[INFO] [WallTim

2013-10-30 21:01:11 7314 10

原创 ROS的学习(十四)用C++写一个简单的接收者

打开一个终端,进入到beginner_tutorials包下面:cd ~/catkin_ws/src/beginner_tutorials     编辑文件src/listener.cpp:vim src/listener.cpp     将下面的代码复制到文件中:#include "ros/ros.h"#include "std_msgs/String.h"/*

2013-10-30 20:49:26 21264 12

Accelerated C++ 英文版

英文版Accelerated C++,读起来可能比中文版更顺畅些。

2018-10-25

Accelerated C++中文版

本书全面介绍了C++语言。作为一本入门书(Primer),它以教程的形式对C++语言进行清晰的讲解,并辅以丰富的示例和各种学习辅助手段。与大多数入门教程不同,本书对C++语言本身进行了详尽的描述,并特别着重介绍了目前通行的、行之有效的程序设计技巧。

2018-10-25

Webx3 Guide Book pdf

Webx是一个在阿里巴巴集团内部广泛使用的,层次化、模块化的一个Web框架。 Webx是基于经典MVC设计模式的WEB框架,推崇页面驱动和约定胜于配置的理念。 Webx是一个基于 Spring的组件框架。组件是一个软件包,它可以被其它组件扩展,也可以扩展其它组件。利用这些特性,Webx不仅能够用来开发高度可定制的Web应用(这是它的主要功能),也能够用来帮助你开发高度可扩展的非WEB的应用。

2018-09-26

java URLConnection总结(经典易懂)

java URLConnection的总结,简单易懂,并有详细的代码作为例子,非常容易学习和模仿

2013-07-24

java URLConnection全面解析(通俗易懂,包括cookie操作和上传文件)

java URLConnection 的详细介绍,牛人项目经验的总结,绝对通俗易懂,包括cookie操作,上传文件,以及下载网页等介绍,是非常难得文档和教材

2013-07-24

词法分析器和语法分析器

编译原理词法分析器和语法分析器,简单易懂,超强大,尤其适合自己动手模仿写编译器的同学。

2013-06-13

javascript内置对象详解

javascript内置对象详细介绍,比如Date,winidow等对象的详细用法

2013-06-04

quartusII使用入门教程

quartusII经典入门,使初学者能够非常容易的使用这一款软件

2013-06-04

tomcat服务器搭建详解

一步一步教你搭建tomcat服务器,图文教程,绝对easy

2013-06-04

java网络编程详解(牛人总结)

java网络编程技术详解,绝对通俗易懂,牛人亲手总结

2013-06-04

html学习教程

html网页制作教程 非常适合新手入门 详细描述了html的各种标签的使用

2013-06-04

eclipse的调试工具debug的使用

eclipse的调试工具debug的图文教程

2013-06-04

java连接mysql数据库,并且实现增增删改查操作

java连接数据库,并且实现对数据库的操作

2013-06-04

一些经典算法(c语言版的)

超经典的算法,包括斐波那契数列,汉诺塔,八皇后等经典的问题,c语言的,适合学c语言的新手。

2012-05-24

空空如也

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

TA关注的人

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