自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 linux 共享内存shm_open实现进程间大数据交互

read.c #include #include #include #include #include #include #include #include /*int shm_open(const char *name, int oflag, mode_t mode);//创建或打开一个共享内存,成功返回一个整数的文件描述符,错误返回-1。

2015-07-16 17:54:02 821

转载 通过共享内存进行进程间通信

共享内存的工作方式顾名思义,共享内存让一段内存可供多个进程访问。用特殊的系统调用(即对 UNIX 内核的请求)分配和释放内存并设置权限;通过一般的读写操作读写内存段中的数据。共享内存并不是从某一进程拥有的内存中划分出来的;进程的内存总是私有的。共享内存是从系统的空闲内存池中分配的,希望访问它的每个进程连接它。这个连接过程称为映射,它给共享内存段分配每个进程的地址空间中的本地地址。

2015-07-16 17:53:08 541

转载 make输出详细的编译过程

make V=1输出详细的编译过程

2015-05-21 20:12:24 12027

转载 make 2>&1 | tee build.log

make 2>&1 | tee build.log 问题1:  2 , &1 表示什么意思问题2:  和 make > build.log  有什么区别吗 1.问题1:表示的是文件描述符。0 stdin,1 stdout,2 stderr问题2:作用上没有区别,后者是把make的所有输出都重定向到文件build.log当中 补充前面的:

2015-05-21 15:06:44 805

转载 关于__GNU_SOURCE 这个宏

今天发现一个奇怪的问题,即使#include sys/stat.h在使用  lstat 函数的时候还是会报warning: implicit declaration of function 'lstat'另外同样的问题,即使include 了 sys/time.h还是会报warning: implicit declaration of function 'nanosle

2015-05-05 10:51:00 635

原创 写log信息

char msgbuf[2560];memset(msgbuf,0,2560);vsprintf(msgbuf,format,args);int log_fd = open("/dev/kmsg", O_WRONLY);if (-1 != log_fd) {write(log_fd, msgbuf, strlen(msgbuf));write(log_fd, "\n

2015-05-04 09:11:14 323

转载 取得tag的代码方法

查看当前git下tag有多少个git tag -l取得tag代码git checkout -b branchname tagname切换分支git checkoout branchname

2015-04-23 11:14:49 515

转载 lcd fb参数如何计算

struct fb_videomode {const char *name; /* optional */u32 refresh; /* optional */u32 xres;u32 yres;u32 pixclock;u32 left_margin;u32 right_margin;u32 upper_margin;u32 lower_margin;u3

2015-04-10 11:21:58 319

转载 Ubuntu 12.04 安装TFTP server

1. sudo apt-get install tftpd tftp openbsd-inetd2. sudo  vi /etc/inetd.conf#:BOOT: TFTP service is provided primarily for booting. Most sites# run this only on machines acting as "boot ser

2015-04-01 16:31:53 287

转载 kmalloc、vmalloc、malloc的区别

简单的说:kmalloc和vmalloc是分配的是内核的内存,malloc分配的是用户的内存kmalloc保证分配的内存在物理上是连续的,vmalloc保证的是在虚拟地址空间上的连续,malloc不保证任何东西(这点是自己猜测的,不一定正确)kmalloc能分配的大小有限,vmalloc和malloc能分配的大小相对较大内存只有在要被DMA访问的时候才需要物理上连续vmalloc比kmal

2015-04-01 14:48:21 260

转载 Linux下open与fopen的区别

int open(const char *path, int access,int mode)    path 要打开的文件路径和名称                               access 访问模式,宏定义和含义如下:                                O_RDONLY         1    只读打开               

2015-03-31 14:57:07 253

转载 自助Linux之问题诊断工具strace

“Oops,系统挂死了..."“Oops,程序崩溃了..."“Oops,命令执行报错..." 对于维护人员来说,这样的悲剧每天都在上演。理想情况下,系统或应用程序的错误日志提供了足够全面的信息,通过查看相关日志,维护人员就能很快地定位出问题发生的原因。但现实情况,许多错误日志打印模凌两可,更多地描述了出错时的现象(比如"could not open file","c

2015-03-24 15:57:06 215

转载 struct stat结构体的详解和用法

[cpp] view plaincopy//! 需要包含de头文件    #include     #include      int stat(const char *filename, struct stat *buf); //! prototype,原型     struct stat  {        dev_t

2015-03-24 14:51:44 542

转载 mmap内存映射

linux mmap 内存映射mmap() vs read()/write()/lseek()通过strace统计系统调用的时候,经常可以看到mmap()与mmap2()。系统调用mmap()可以将某文件映射至内存(进程空间),如此可以把对文件的操作转为对内存的操作,以此避免更多的lseek()与read()、write()操作,这点对于大文件或者频繁访问的文件而言尤其受益。但有一点必

2015-03-20 19:36:06 682

转载 stat,fstat和lstat函数使用

我们使用函数stat,fstat和lstat来检查文件的属性。这些函数使用struct stat对象来返回属性信息。所有这三个函数声明在头文件‘sys/stat.h’中。Int stat(const char *filename, struct stat *buf)                              函数Stat函数返回buf指向的结构体中filename项

2015-03-19 16:28:26 1871

翻译 ubuntu 12.04 LTS 解决dns 无法解析主机

安装了ubuntu server 12.04 LTS之后,发现用过去的方法配置ip后,会出现dns失效的问题,每次启动后resolv.conf文件就被清空,查看wiki之后发现这个问题的原因。我配置固定ip喜欢这样做?12345auto eht0iface eth0 inet sta

2015-02-10 15:01:51 372

转载 ubuntu不能解析DNS的问题

/etc/nsswitch.conf hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4改成 hosts: files dns

2015-02-10 15:00:42 1239

转载 git config配置文件

设置 git status的颜色。git config --global color.status auto 一.Git已经在你的系统中了,你会做一些事情来客户化你的Git环境。你只需要做这些设置一次;即使你升级了,他们也会绑定到你的环境中。你也可以在任何时刻通过运行命令来重新更改这些设置。       Git有一个工具被称为git config,它允许你获

2015-02-10 14:36:45 297

转载 纯kerne增加android所需特性

3.10.28支持如下Device drivers->stage driver->android dirver  (可能拼写不对)CONFIG_ANDROID=yCONFIG_ANDROID_BINDER_IPC=yCONFIG_ASHMEM=yCONFIG_ANDROID_LOGGER=yCONFIG_ANDROID_TIMED_OUTPUT=y# CONFI

2015-02-04 10:42:56 324

转载 Kernel支持EFI-gummiboot启动

生成的bzImage需要配置以下定义CONFIG_EFI=y CONFIG_RELOCATABLE=y CONFIG_FB_EFI=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_EFI_PARTITION=y CONFIG_EFI_VARS=y CONFIG_EFI_STUB=y CONFIG_CMDLINE="root=/de

2015-02-04 09:20:59 1034

转载 linux 提高进程优先级nice

nice:更改优先级nice -n 10 bash如果是超级用户,则-n后面的值可以为负数:-20 renice:如果您正好启动了一个进程,但意识到它应该以不同的优先级运行,那么有一种方法可以在启动之后对其进行更改,即使用 renice命令。您可以为进程指定一个绝对优先级(不是调整值)renice +x PIDx指的是一个数字

2015-01-07 15:12:26 436

转载 DDR3内存技术参数

内存频率        和CPU一样,内存也有自己的工作频率,频率以MHz为单位内存主频越高在一定程度上代表着内存所能达到的速度越快。内存主频决定着该内存最高能在什么样的频率正常工作。目前最为主流的内存频率为DDR2-800和DDR3-1333,作为DDR2的替代者,DDR3内存的频率已经在向3000MHz进发。内存容量       内存的容量不但是影响内存价格的因素,同时

2014-12-25 18:13:02 2673

原创 lmbench使用

lmbench使用方法http://lmbench.sourceforge.net/run_lmbench.html--------------------------Unpack LMbench to create a tree like so:lmbench/ Results/ doc/ scripts/ src/All the directories

2014-12-12 16:59:02 2500

转载 android提供的共享库(Prebuilt)

Android NDK r5 开始支持预编译库(动态库和静态库),即程序能使用库的预编译版本。该特性可用于以下两方面:1)向第三方NDK开发人员发布你的共享库而不用提供源码。2)使用一个提前编译好的库(预编译库)来加速编译过程。本文说明该特性如何工作。I. 声明一个预编译库的模块对于Android编译工具而言,每个预编译库必须声明为一个独立的模块。这里举一个例子

2014-12-05 17:45:30 1575

转载 Android.mk文件语法规范及使用模板

/****************************************************************************/在sources/samples目录下有更复杂一点的例子,写有注释的Android.mk文件,你可以看看。参考:这是一份你应该在Android.mk中依赖或定义的变量列表,您可以定义其他变量为自己使用,但是NDK

2014-12-05 16:47:35 327

转载 驱动程序调试方法之printk——printk的原理与直接使用

1、基本原理(1)在UBOOT里设置console=ttySAC0或者console=tty1这里是设置控制终端,tySAC0 表示串口, tty1 表示lcd(2)内核用printk打印内核就会根据命令行参数来找到对应的硬件操作函数,并将信息通过对应的硬件终端打印出来!2、printk的使用(1)printk函数的信息如何才能在终端显示出来

2014-11-19 13:52:51 571

转载 Android 源码编译make的错误处理

Android源码下载:官方下载 或参考android源码下载方式Android编译版本: PLATFORM_VERSION=4.0.1(最新Android 4.0.1)OS 操作系统平台: Linux yanggang 2.6.35-30-generic #61-Ubuntu SMP Tue Oct 11 15:29:15 UTC 2011 i686 GNU/Linux(Ubun

2014-10-13 19:50:38 454

转载 ubuntu jdk1.6 安装

更改~/.bashrcexport JAVA_HOME=/usr/local/development/jdk1.6.0_45export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$

2014-10-13 16:25:34 326

转载 ubuntu 显示或者隐藏 grub选择菜单

在安装windows后安装的ubuntu双系统,在启动时候都会固定先显示grub选择菜单,可以选择不同版本的ubuntu的kernel来启动但是对于单纯的ubuntu系统,在启动后却不会显示相应的菜单来让选择。参照网络上搜索的资料,可以有以下方式来显示grub菜单(同理相信看完也了解如何隐藏了撒???):1.  启动时候一直按住shift键以前的Ubuntu版本,启

2014-10-10 16:59:09 3442

转载 Ubuntu 如何添加源

buntu的新立得软件更新速度和源有很大关系,找到一个速度好的源在系统更新或软件安装的时候会有更好的效率,所以我们要学会自己添加一些本地的或者是自己所需要的源。         在Ubuntu里面 ,源的配置文件是在 /etc/apt/sources.list文件。所以我们用文本编辑软件打开它。(ubuntu里面自带的gedit是很不错的文本编辑软件,在这里我 们就使用gedit,也可以使

2014-10-09 18:04:24 2166

转载 区分ubuntu 32bit or 64bit

uname -a 相于使用所参数        uname -s 显示内核名字        uname -n 显示网络节点主机名        uname -r 显示内核发行版本号        uname -v 显示内核版本        uname -m 显示机器硬件名称    32bit: i686 or i386        

2014-10-09 17:12:03 397

转载 查找启动分区的uuid

sudo blkid列出当前分区的uuid也可以sudo blkid /dev/sda2

2014-10-09 17:11:18 968

转载 Linux命令:find与exec参数的用法

find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。看例子:find ./ -name "*.txt" -exec ls -l "{}" \;查找当前目录的.txt文件并以列表形式列出来 find ./ -name "*.txt" -exec mv "

2014-08-22 14:52:41 663

转载 XCB

XCB (X protocol C-language Binding) is a library implementing the client-side of the X11 display server protocol. XCB written in the C programming language and distributed under the MIT License.

2014-08-22 12:13:32 1236

转载 GLX总结

GLX专门为在X Window中实现3D效果的X 窗口系统的一个扩展。简单地讲就是把由OpenGL生成的3D的图像Blit到由X Window创建的窗口中。它以扩展的方式来实现3D效果,具有良好的兼容性(XGL则相反),同时,由于扩展需要有一个由Client到Server的请求发送(

2014-08-22 11:03:05 793

转载 X Window 的 OpenGL 扩展 —— GLX

GLX 与显卡驱动为了取得广泛的平台支持,OpenGL 是不依赖任何窗口系统的,但是我们使用 OpenGL 绘制的三维场景却需要嵌入在某种窗口程序中才可以为人所见。似乎也是约好了的,目前主流的窗口系统(X Window, MS Windows, Mac OS)只是提供了完善的二维图形交互环境,而将复杂的三维图形渲染任务交给 OpenGL (MS Windows 更热衷于用 Direct3D

2014-08-22 10:57:32 3643 2

转载 GLX学习与分析

GLX是X Window的一个扩展,按我的理解,它是专门为X Window实现3D渲染而开发的一个扩展。X Window没有开发自己的3D渲染的实现,而是使用了Mesa(不准确的说是OpenGL的一种实现),为了实现X Window 与OpenGL的结合,制定了GLX标准。GLX的实现主要有两个版本,一个是基于Xorg的,一个是基于XFree86的,两者差别不大,下面我们讨论的都是基于XFree8

2014-08-22 10:55:26 3238

转载 查看进程调用的so动态库

ldd exenamereadelf exenamecat /proc/进程ID/maps

2014-08-01 10:28:30 5451

转载 Linux动态库(.so)搜索路径

众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且该动 态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函数,以及 该动态库的其它资源了。在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下三种方法来指定

2014-07-31 14:17:52 366

转载 ldd命令的介绍

1.在制作自己的发行版时经常需要判断某条命令需要哪些共享库文件的支持,以确保指定的命令在独立的系统内可以可靠的运行;在Linux环境下通过ldd命令即可实现,在终端下执行:ldd /bin/ls //ldd命令通常使用"-v"或"--verbose"选项来显示所依赖的动态连接库的尽可能的详细信息。即可得到/bin/ls命令的相关共享库文件列表:libtermcap.

2014-07-31 13:46:57 407

空空如也

空空如也

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

TA关注的人

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