自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lh2016rocky的博客

宁静致远,不忘初心

  • 博客(142)
  • 收藏
  • 关注

转载 Linux下crontab命令的用法

任务调度的crond常驻命令crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类:1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存2、个人执行的工作:某个用户定期要做的工作,例

2017-04-27 09:11:45 216

转载 Eclipse : Unresolved inclusion

Eclipse 中新建C 或C ++到项目时,头文件报警,显示“Unresolved inclusion:” 虽然不影响项目到编译和运行,确也无法查看头文件,让人感觉实在不爽。下面是在国外到网站上看到解决方案,自己整理了一下拿来分享一下。关于在Eclipse 下配置C /C ++ 开发环境这里不多说了。 在终端下查看C 库文件到路径:$ echo "int main() { return

2017-04-27 09:09:35 8798

转载 gcc 优化选项 -O1 -O2 -O3 -Os 优先级,-fomit-frame-pointer

少优化->多优化:O0 -->> O1 -->> O2 -->> O3-O0表示没有优化,-O1为缺省值,-O3优化级别最高英文解析:`-O ' `-O1 '                 Optimize.      Optimizing   compilation   takes   somewhat   more   time,   an

2017-04-27 09:07:58 4144

转载 C语言的编译链接过程的介绍

发布时间: 2012-11-08 10:17   作者: 未知    来源: 51Testing软件测试网采编 字体:  小  中  大  | 上一篇下一篇 |打印  | 我要投稿  |推荐标签: DotNet 软件开发 |感言十年  C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代

2017-04-27 08:58:41 224

转载 inittab文件格式

/etc/inittab文件是Linux系统第一个进程init的配置文件。其每个记录占一行,每行最多512个字符。该文件的每个记录的格式为:id:runlevel:action:process其中,id是一个不超过4个字符的标识,用来唯一标识一条记录。runlevel表明该条记录中涉及的进程所可以运行的级别;如果为空表示可运行于所有的运行级别;如果该进程进入了未定义的运

2017-04-26 15:16:36 387

转载 linux内核panic

1. Linux Kernel Panic的产生的原因     panic是英文中是惊慌的意思,Linux Kernel panic正如其名,linux kernel不知道如何走了,它会尽可能把它此时能获取的全部信息都打印出来。有两种主要类型kernel panic,后面会对这两类panic做详细说明:1.hard panic(也就是Aieee信息输出)2.soft p

2017-04-26 15:15:10 558

转载 linux内核中的汇编语言

在Linux内核代码中,有一部分是用汇编语言编写的。其大部分是关于中断与异常处理的底层程序,还有就是与初始化有关的程序,以及一些核心代码中调用的公用子程序。用汇编语言编写内核代码中的部分代码,大体上是出于如下几个方面考虑:(1)linux内核中的底层程序直接与硬件打交道,需要一些专用的指令,而这些指令在C语言中并无对应的语言成分。(2)内核中实现某些操作的过程、程序段或函数

2017-04-26 15:13:36 2507

转载 Linux 汇编语言开发指南

汇编语言的优点是速度快,可以直接对硬件进行操作,这对诸如图形处理等关键应用是非常重要的。Linux是一个用 C 语言开发的操作系统,这使得很多程序员开始忘记在 Linux中还可以直接使用汇编这一底层语言来优化程序的性能。本文为那些在Linux平台上编写汇编代码的程序员提供指南,介绍 Linux汇编语言的语法格式和开发工具,并辅以具体的例子讲述如何开发实用的Linux汇编程序。

2017-04-26 15:12:25 926

转载 Linux内核配置系统浅析

随着 Linux 操作系统的广泛应用,特别是 Linux在嵌入式领域的发展,越来越多的人开始投身到 Linux内核级的开发中。面对日益庞大的 Linux内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux内核中,增加相应的 Linux 配置选项,并最终被编译进 Linux 内核。这就需要了解 Linux 的内核配置系统。众

2017-04-26 15:11:00 247

转载 Make Menuconfig详解 (配置内核选择)

Make Menuconfig简介make menuconfig 图形化的内核配置make mrproper -----删除不必要的文件和目录.#make config(基于文本的最为传统的配置界面,不推荐使用)#make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)#make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使

2017-04-26 15:09:23 11449

转载 RT5350原厂SDK及AP移植步骤详解

最近想搞一下rt5350,所以找了个原厂的SDK包进行了编译,很快路由器就可以用了,把我的编译操作步骤写了下分享给更多的爱好者,供大家参靠,下一步准备移植摄像头玩玩。有兴趣的可以一起交流。 RT5350移植Toolchain工具的安装参见Ralink_SDK_User_Manual.pdf 第5章 Step1:install toolchain拷

2017-04-26 15:07:55 1397

转载 Linux进程间通信方式--本地socket

先上一个代码服务端:[cpp] view plaincopy//s_unix.c  #include  #include  #include  #include    #define UNIX_DOMAIN "/tmp/UNIX.domain"  int main(void)  {      socklen_t clt_addr_len;

2017-04-26 15:06:26 524

转载 linux中bin与sbin目录的作用及区别介绍

在linux系统中,有两个重要的目录:bin与sbin,分别包括/bin、/usr/bin/与/sbin、/usr/sbin/。 bin: bin为binary的简写,主要放置系统的必备执行文件,例如: cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。 /usr/b

2017-04-26 15:04:48 20648

转载 va_list和vsnprintf、getopt

原理解释:VA_LIST 是在C语言中解决变参问题的一组宏,在头文件下。VA_LIST的用法:           (1)首先在函数里定义一具VA_LIST型的变量,这个变量是指向参数的指针      (2)然后用VA_START宏初始化变量刚定义的VA_LIST变量,这个宏的第二个参数是第一个可变参数的前一个参数,是一个固定的参数。      (3)然后用VA_A

2017-04-26 15:02:42 429

转载 信号量sem_wait()的使用

闲来无事,我给大家讲下UNIX/Linux下信号量函数的使用。首先你得知道什么叫信号量,什么时候要用信号量。这个嘛,主要就是用来保护共享资源的,也就是说如果你想限制某个(些)资源在同一时刻只能有一(多)个线程拥有,就可以使用信号量。当然也可以用作让一个线程等待另一个线程完成某项工作。 用下面一组函数(系统调用)来实现。int sem_init(sem_t *sem,int ps

2017-04-26 15:00:22 23098

转载 ##连接符和#符的使用

C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏:#define WARN_IF(

2017-04-26 14:57:48 1437

原创 Linux编程手册读书笔记第五章(20140408)

改变已打开文件性质:fcntl()      #include      int fcntl(int fd, int cmd, …);     (1)  调用失败返回-1   (2)fcntl函数有5种功能:          a. 复制一个现有的描述符(cmd=F_DUPFD)          b. 获得/设置文件描述符标志(cmd=F_GETF

2017-04-26 14:54:13 203

原创 Linux编程手册读书笔记第四章(20140407)

标准文件描述符定义在中,STDIN_FILENO,  STDOUT_FILENO,  STDERR_FILENO打开一个文件:open()      #include      #include      int open(const char *pathname, int flags, …/* mode_t mode*/);      (1)调用发生错误,open

2017-04-26 14:53:13 335

原创 Linux编程手册读书笔记第三章(20140407)

外壳函数执行一条中断机器指令(int 0x80),引发处理器从用户态切换到核心态,并执行系统中断0x80的中断矢量所指向的代码。(在2.6内核及glib 2.3.2之后的版本都支持sysenter指令,进入内核的速度更快)为响应中断0x80,内核会调用system_call()例程(对于x86-32硬件平台,位于arch/i386/entry.S)来处理这次中断,以系统调用编号对存放所有调用服

2017-04-26 14:52:13 233

原创 Linux编程手册读书笔记第二章(20140330)

内核:管理和分配计算机资源(即CPU、RAM和设备)的核心软件层Linux内核可执行文件采用/boot/vmlinuz或类似的路径名,“z”表明内核是经过压缩的可执行文件。内核主要任务:    (1)进程调度:Linux属于抢占式多任务系统,多个进程(即运行中的程序)可同时驻留于内存,都能获得对CPU的使用权    (2)内存管理:以高效、公平地方式在进程之间共享这一资源,Linu

2017-04-26 14:51:09 337

原创 linux编程手册读书笔记第一章(20140329)

(2)管道、FIFO、套接字、设备(比如终端、伪终端)都支持非阻塞模式。(因为无法通过open()来获取管道和套接字的文件描述符。所以要启用非阻塞标志,就必须使用fcntl()的F_SETFL命令)(3)指定O_EXCL标志调用open(),这确保了调用者就是文件的创建者(4)指定O_APPEND标志调用open(),这确保了多个进程在对同一文件追加数据时不会覆盖彼此的输出

2017-04-26 14:49:31 370

转载 有名管道和无名管道的区别

1)无名管道:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程)。    单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。    数据的读出和写入:一个进程向管道中写的内容被管道另一端

2017-04-26 14:47:26 5540

转载 Linux 开发路线

Linux  开发路线:使用 linux—〉linxu系统编程开发---〉驱动开发和分析 linux内核开始学 linux 内核:最好有三件宝物:《深入理解 linux 内核》《LINUX内核源代码情景分析》和源代码。 《深》是纲,《情》是目。最后深入代码Linux 内核原理:比较浅显的《linux内核设计与实现》;比较深入的《深入理解 linux

2017-04-26 14:40:39 300

转载 为github帐号添加SSH keys

使用git clone命令从github上同步github上的代码库时,如果使用SSH链接(如我自己的beagleOS项目:git@github.com:DamonDeng/beagleOS.git),而你的SSH key没有添加到github帐号设置中,系统会报下面的错误:Permission denied (publickey).fatal: The remote end

2017-04-26 14:37:46 206

转载 makefile中的shell调用---注意事项

在之前一次编写makfile时候,有看到相关的makefile中使用$$来引用变量,而且尝试后发现$$使用居然和${}有类似的功能。当时也没具体追究相关的用法,当然刚才所说的都是错误的观念$$:在makefile中会被替换成一个$。    相关资料是这么描述的:makefile中变量在声明时需要赋予初值,在使用时,需要在使用的变量前加"$"符号,但是最好使用"()"或者"{}"将变

2017-04-24 14:57:24 3555 1

转载 linux 消息队列机制

Linux进程通信 消息队列2009-12-14 | 阅:682  转:44  |  分享   现在我们来讨论第三种也是最后一种System V IPV工具:消息队列。在许多方面看来,消息队列类似于有名管道,但是却没有与打开与关闭管道的复杂关联。然而,使用消息队列并没有解决我们使用有名管道所遇到的问题,例如管道上的阻塞。 消息队列提供了一种在两个不相关的进程之间传递数据

2017-04-20 11:48:25 12111

原创 ubuntu修改root密码

sudo passwd root[sudo] password for you :---> 输入你的密码,不会显示 Enter new UNIX password: --- > 设置root 密码Retype new UNIX password: --> 重复

2017-04-19 12:18:35 276

转载 ubuntu14.04下安装qt4.8.6 +qt creator

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://248341.blog.51cto.com/238341/1438867以前安装时没太注意,安装qt后发现在qt creator下无法输入中文,或者中文无法显示,在网上也查找了很多方法都无法解决,后来明白,有些插件没有安装,现列下自己的安装过程1安装32位的运行

2017-04-14 17:48:50 9283 2

转载 Ubuntu下QT的安装详细教程

本文转自:http://blog.chinaunix.net/uid-7945126-id-4987195.html经测试完美解决-------------------------------------------------------------最近需要在Ubuntu下开发桌面软件,想起了QT。书上介绍的方法太老了,网上找了一大堆安装方法,都或多或少有各种问题

2017-04-14 17:46:04 831

原创 samba 2.2.7a 编译

今天在君正T20上编译samba 2.2.7a 遇到了一些问题,特此记录一下1.自己写一个build.sh脚本,方便后续的再次编译#!/bin/sh#export CFLAGS="-O2 -muclibc" export CPPFLAGS="-O2 -muclibc" export CXXFLAGS="-O2 -muclibc" export LDFLAGS="-O2

2017-04-13 14:42:49 655

原创 T20调试札记

最近在调试T20的内存,使用的指令在此记录一下1. pmap指令查看指定进程中的内存分布。该指令需要在busybox中开启pmap -x 1112.应用与so需要执行strip操作,可以减小存储空间的大小mips-linux-gnu-strip libsysutils.so3.nm指令和file指令可以查看应用和so是否为strip的nm libzbar.so.0.2.

2017-04-12 17:55:58 1128 1

转载 pthread_create()创建线程最大个数

线程应用程序最常见导致创建线程失败的原因是线程栈大小的设置。创建一个新的线程,默认情况下系统为线程栈预留了2MB的寻址空间。线程栈起始于进程虚拟 内存的高端地址,并向虚拟内存底端地址方向扩展。取决于线程本身的大小以及其它线程内存分配的情况,进程虚拟地址空间消耗过快可能导致创建线程失败。这里有一个测试程序可以看到,Linux下最多可以创建多少个线程。#include #inc

2017-03-16 17:11:27 819

转载 pthread_create会导致内存泄露

这几天一直在调试一个系统,系统的功能就是定时发送数据、接收数据然后解析收到的数据,转换成一定的格式存入数据库中。我为了并发操作,所以每接收到一个数据包,就调用pthread_create函数创建一个默认属性的线程进行处理。   系统一开始运行很正常,但是当接收到第299个数据包时,就发生异常,查看程序日志,得知原来自接收到299个数据包后,就不再解析接收到的数据。我本以为是网络的问题,于是

2017-03-16 17:09:25 421

转载 Linux 中统计一个进程的线程数

如果你想看到 Linux 中每个进程的线程数,有以下几种方法可以做到这一点。 方法一: /procproc 伪文件系统,它驻留在 /proc 目录,这是最简单的方法来查看任何活动进程的线程数。 /proc 目录以可读文本文件形式输出,提供现有进程和系统硬件相关的信息如 CPU、中断、内存、磁盘等等.$ cat/proc/pid>/status上面的命令将显示

2017-03-16 16:28:08 22053

转载 Epoll详解及源码分析

文章来源:http://blog.csdn.net/chen19870707/article/details/42525887Author:Echo Chen(陈斌)Email:chenb19870707@gmail.comBlog:Blog.csdn.net/chen19870707Date:Jan.7th, 2015 

2017-03-15 08:29:42 539

原创 线程创建时指定线程栈的大小

intithread_start(void *(run)(void *),void *arg) {pthread_t threadId;pthread_attr_t threadAttr;memset(&threadAttr,0,sizeof(pthread_attr_t));pthread_attr_init(&threadAttr);    in

2017-03-14 11:39:59 2987

转载 linux 同步IO: sync msync、fsync、fdatasync与 fflush

最近阅读leveldb源码,作为一个保证可靠性的kv数据库其数据与磁盘的交互可谓是极其关键,其中涉及到了不少内存和磁盘同步的操作和策略。为了加深理解,从网上整理了linux池畔同步IO相关的函数,这里做一个罗列和对比。大部分为copy,仅为记录,请各位看官勿喷。传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据

2017-02-28 09:11:15 803

转载 在VI中删除行尾的换行符

在vi中,如果要删除行尾的换行符,可以用如下方法第一种情况:只删除单行如有文件如下:[fanzf@SWserver ~/tmp]$ cat names.tmp 101     Nate    H.102     John    M.104     Cassy   T.106     Mary    L.107     Isaac   C.要将第一行和第二行合并,

2017-02-18 22:04:04 5374 1

转载 为何线程有PID?

在linux下用 top -H -p 查询某个进程的线程按理说,都是某个进程下的线程, 应该进程id PID一样啊,但实际却都不一样实际是被PID的名字给弄混了,线程进程都会有自己的ID,这个ID就叫做PID,PID是不特指进程ID,线程ID也可以叫做PID。pthread库里的每一个线程都对应一个内核线程,都是有单独的pid。The

2017-02-18 21:27:50 8754 1

原创 makefile编译问题记录

1.-c选项和-C选项:-c(gcc选项):编译.c或汇编源文件,但是不作连接. 编译器输出对应于源文件的目标文件.如:$(CC) -c ${CFLAGS}${SRCS}-C(makefile选项):-C的是make本身的内建命令选项,是给make程序用的 不是给cc用的。make 程序接受了 -C选项面在参数它自己先跳到 -C后面选项的目录中在解析Makefile执行编译

2017-02-13 00:16:27 483

空空如也

空空如也

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

TA关注的人

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