自定义博客皮肤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)
  • 收藏
  • 关注

转载 dup and dup2剖析

dup和dup2也是两个非常有用的调用,它们的作用都是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout和stderr。这两个函数的 原形如下:#include     int dup( int oldfd );    int dup2( int oldfd, int targetfd )    利用函数dup,我们可以复制一个描述符。传给该函数

2014-08-29 10:36:55 680

转载 JNI 制作头文件时使用javah命令出错

无法访问android.app.Activity是说明没有引入android.jar包可以看看java -h里面的具体说明。其中有一个-bootclasspath参数 让他指向android.jar包以下举个例子:javah -classpath bin/classes -bootclasspath D:\Environment\android-sdk-windows\android-

2014-01-14 15:15:18 851

转载 Ubuntu在命令行下将默认语言改为英语

由于有时候为了省事将Ubuntu安装成中文版,而在终端中中文会显示乱码,因此需要将默认语言改为英文。用vi(或nano等文本编辑器)打开 /etc/default/locale 文件将原来的配置内容修改为LANG=”en_US.UTF-8″LANGUAGE=”en_US:en”再在终端下运行:locale-gen -en_US:en注销或重启后,即可恢复为英文的语言

2013-11-12 14:21:33 30891

原创 ubuntu 13.10 下系统托盘菜单不能显示问题解决

First remove all residual packages using this command:sudo apt-get remove --purge $(sudo dpkg -l | grep "^rc" | awk '{print $2}' | tr '\n' ' ')Then try to install appmenu-gtk , appmenu-gtk3, in

2013-11-07 10:23:37 2162

原创 ubuntu13.10 编译时 关于链接xlib 库阶段出错的问题解决

/usr/bin/ld: fmouse_main.o: undefined reference to symbol 'XFlush'/usr/lib/i386-linux-gnu/libX11.so.6: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status

2013-11-05 10:24:43 9786 1

原创 ubuntu 查看系统信息

leo@leo-OptiPlex-790:~$ lsb_release -aNo LSB modules are available.Distributor ID:   UbuntuDescription:   Ubuntu 12.04.3 LTSRelease:   12.04Codename:   preciseleo@leo-OptiPlex-790:~$ uname

2013-10-11 10:34:46 1835

转载 Linux下,不能以根用户身份运行google chrome 浏览器的解决办法

Linux下,不能以根用户身份运行google chrome 浏览器的解决办法.今天装了下新版的Google Chrome,但是安装好之后,运行却报如上图所示的错误。解决办法如下:找到/opt/google/chrome/google-chrome.desktop 文件,右键属性,在命令后加入 /opt/google/chrome/google-chrome %U -user-data

2013-08-28 13:56:43 2988

转载 ubuntu安装和查看已安装

说明:由于图形化界面方法(如Add/Remove... 和Synaptic Package Manageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装、卸载和删除的方法。一、Ubuntu中软件安装方法1、APT方式(1)普通安装:apt-get install softname1 softname2 …;(2)修复安装:apt-get -f install s

2013-08-28 11:32:19 876

转载 sdl(摘)

linux下的图形库    linux下有没有TurboC2.0那样的画点、线、圆的图形函数库,有没有grapihcs.h,或者与之相对应或相似的函数库是什么?有没有DirectX这样的游戏开发库?SDL就是其中之一。    SDL(Simple DirectMedia Layer)是一个夸平台的多媒体游戏支持库,其中包含了对图形、声音、游戏杆、线程等的支持,目前可以运行在许多

2013-08-15 11:42:47 601

转载 linux memalign()

cell 上的DMA bus error 多半是由于传输内存开始地址不是16位对齐的。使用memalign, valloc,(见下转贴), malloc_aligned, 该函数是cell专有,包含在libmisc.h中。以下转自http://ms.mblogger.cn/lymons/posts/9902.aspx。    在GNU系统中,malloc或realloc返回的内存块地址

2013-08-14 10:40:54 1602

转载 V4l2 Capture Sequence

V4l2 Capture Sequence  v4l2 操作实际上就是 open() 设备, close() 设备,以及中间过程的 ioctl() 操作。对于 ioctl 的调用,要注意对 errno 的判断,如果调用被其他信号中断,即 errno 等于 EINTR 的时候,要重新调用。Video capture device 的实际功能就是采集视频信号,并将数字化的图像保存在

2013-08-13 17:15:42 940

转载 SDL图形入门

SDL简介     SDL 是 Simple DirectMedia Layer(简易直控媒体层)的缩写。它是一个跨平台的多媒体库,以用于直接控制底层的多媒体硬件的接口。这些多媒体功能包括了音频、键盘和鼠标(事件)    、游戏摇杆等。当然,最为重要的是提供了 2D 图形帧缓冲(framebuffer)的接口,以及为 OpenGL 与各种操作系统之间提供了统一的标准接口以实现

2013-08-13 16:09:05 1447

转载 Ubuntu 12.10安装OpenGL

前言       OpenGL 是一套由SGI公司发展出来的绘图函式库,它是一组 C 语言的函式,用于 2D 与 3D 图形应用程式的开发上。OpenGL 让程式开发人员不需要考虑到各种显示卡底层运作是否相同的问题,硬体由 OpenGL 核心去沟通,因此只要显示卡支援 OpenGL,那么程式就不需要重新再移植,而程式开发人员也不需要重新学习一组函式库来移植程式。安装

2013-08-13 16:03:10 645

转载 V4L2编程模型简介

简介:本文所附代码是根据v4l2官方文档以及demo(capture.c)修改而来,纯粹为学习交流之用,请勿使用在商用场合。地址:由于官方网的域名有敏感词汇,所以请google一下。一 、操作流程简单看二、 模块概要分析以下是所附代码所涉及到的全局变量,摆出来只是参考,具体修改的话请自行安排。#define CLEAR(x) memset (&(x)

2013-08-13 15:45:20 742

转载 基于V4L2的视频驱动开发(1)

编写基于V4L2视频驱动主要涉及到以下几个知识点:l         摄像头方面的知识要了解选用的摄像头的特性,包括访问控制方法、各种参数的配置方法、信号输出类型等。l         Camera解码器、控制器如果摄像头是模拟量输出的,要熟悉解码器的配置。最后数字视频信号进入camera控制器后,还要熟悉camera控制器的操作。l         V4L2的API和数据

2013-08-13 15:40:49 751

转载 基于V4L2的视频驱动开发(2)

三、 V4L2 API及数据结构V4L2是V4L的升级版本,为linux下视频设备程序提供了一套接口规范。包括一套数据结构和底层V4L2驱动接口。1、常用的结构体在内核目录include/linux/videodev2.h中定义struct v4l2_requestbuffers        //申请帧缓冲,对应命令VIDIOC_REQBUFS         str

2013-08-13 15:39:17 583

转载 V4L2驱动程序架构

1 V4L2简介video4linux2(V4L2)是Linux内核中关于视频设备的内核驱动,它为Linux中视频设备访问提供了通用接口,在Linux系统中,V4L2驱动的Video设备节点路径通常/dev/video/中的videoXV4L2驱动对用户空间提供字符设备,主设备号为81,对于视频设备,其次设备号为0-63。除此之外,次设备号为64-127的Radio设备,次设备

2013-08-13 15:12:49 845

转载 V4L2 简介

1.什么是video4linuxVideo4linux(简称V4L),是linux中关于视频设备的内核驱动,现在已有Video4linux2,还未加入linux内核,使用需自己下载补丁。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。2.Video4linux下视频编程的流程(1)打开视频设备:(2) 读取设备信息(

2013-08-13 14:56:26 586

转载 GdkPixbuf 的图像控件(GTK+2.0学习笔记)

根据书中所介绍说明,GdkPixbuf在GTK+编程中还是很重要的,尤其是要做一个漂亮的程序界面,这部分知识必须要掌握。书中的程序示例代码,有这样一个代码段:pix2 = gdk_pixbuf_new_from_inline(134400+24, pieces_inline,TRUE, NULL);  frame = gtk_frame_new("内建的一幅图像");  image

2013-08-09 10:46:27 4692

转载 3、Linux多线程,线程同步

5)线程私有数据    进程内的所有线程共享进程的数据空间,因此全局变量为所有线程所共有。但有时线程也需要保存自己的私有数据,这时可以创建线程私有数据(Thread-specific Date)TSD来解决。在线程内部,私有数据可以被各个函数访问,但对其他线程是屏蔽的。例如我们常见的变量errno,它返回标准的出错信息。它显然不能是一个局部变量,几乎每个函数都应该可以调用它;但它又不能

2013-08-07 16:35:06 539

转载 2、Linux多线程,线程的分离与结合

(2)线程的分离与结合    在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。线程的分离状态决定一个线程以什么样的方式来终止自己。在上面的例子中,我

2013-08-07 16:34:31 479

转载 1、Linux多线程,基本概念

说明:以下内容,根据参考中【1~6】内容整理而得。一、基本概念1、线程是计算机中独立运行的最小单位。进程是分配资源的单位。2、为什么使用多线程?(1)启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程

2013-08-07 16:33:54 526

转载 一个方便打印C程序调试信息的宏

为了方便调试C程序,写了个打印信息的宏,能够打印错误信息,以及错误发生的文件名、行号。#ifndef _DEBUG_H_#define _DEBUG_H_#include stdio.h>#include string.h>#include malloc.h>#define ERRBUFLEN 1024#i

2013-07-11 10:35:04 696

转载 在gtk+程序中显示中文说明

在gtk+程序中显示中文说明简单地说,gtk只认utf8编码,由glibc负责转换编码到utf8编码或直接用utf8编码。(一)应用程序中该做的事情(确定所用mo文件的位置)首先用函数textdomain设置应用程序的中文信息(mo文件)所在的位置,姑且称为“域”如:setlocale( LC_ALL, "zh_CN.GB2312" ); textdomain( "test

2013-07-09 08:52:31 2850

转载 GTK+ 程序使用gettext国际化小结

gettext软件包是GNU工程中解决国际化问题的重要工具,支持C/C++和JAVA语言,它在开源 界应用相当广泛,GNOME/GTK+的国际化问题都是用它来解决的,正常的情况下GNU/LINUX系统是默认安装这一软件包的。     首先,应用程序要包含两个头文件,并且做一下定义:#include glib/gi18n.h>#include locale.h>#de

2013-07-09 08:36:53 1002

转载 使用GetText本地化编程

参考http://heavenporter.livejournal.com/5939.html介绍GetText是GNU的一个项目,GetText主页 有最丰富的信息。下面大致翻 译一下GetText主页的介绍 :“通常,程序及其文档信息都是用英语语言写的,程序运行时同用户交 互的信息也是英语。这是一个事实,不仅仅GNU的软件是这样,其他大 部分私有软件或自由软件也是这

2013-07-09 08:36:13 1506

转载 linux setlocale用法

linux setlocale用法头文件与声明如下:1 #include  2 char* setlocale(int category, const char* locale);说明:category:为locale分类,表达一种locale的领域方面,通常有下面这些预定义常量:LC_ALL、LC_COLLATE、LC_CTYPE、LC_MES

2013-07-01 11:10:01 956

转载 ASCII码表

ASCII码表信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。 八进制

2013-06-27 16:33:04 593

转载 Linux 动态库与静态库制作及使用详解

简介: Linux 应用开发通常要考虑三个问题,即:1)在 Linux 应用程序开发过程中遇到过标准库链接在不同 Linux 版本下不兼容的问题; 2)在 Linux 静态库的制作过程中发现有别于 Windows 下静态库的制作方法;3)在 Linux 应用程序链接第三方库或者其他静态库的时候发现链接顺序的烦人问题。本文就这三个问题针对 Linux 下标准库链接和如何巧妙构建 achrive(

2013-06-26 14:59:14 633

转载 nm命令查看对象,可执行及库文件

显示关于对象文件、可执行文件以及对象文件库里的符号信息。语法nm [ -A ] [ -C ] [ -X {32|64|32_64}] [ -f ] [ -h ] [ -l ] [ -p ] [ -r ] [ -T ] [ -v ] [ -B | -P ] [-e | -g | -u ] [ -d | -o | -x | -t Format ] File ..

2013-06-26 14:00:12 1019

转载 Linux下静态库_库的基本概念;如何生成静态库动态库;nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库相关的参数-L,-l,-f

一、基本概念1.1、什么是库在 windows 平台和 linux 平台下都大量存在着库。本质上来说库是 一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于 windows 和 linux 的平台不同(主要是编译器、汇编器和连接器 的不同),因此二者库的二进制是不兼容的。本文仅限于介绍 linux 下的库。 1.2、 库的种类linux 下的库有两种:静态

2013-06-26 13:58:54 1469

转载 如何查看静态库内容 Unix/Linux

如何查看静态库内容 Unix/Linux以下从最好情况->最坏情况:1. 最好知道静态库的原文件(.c),要是知道声明文件(.h)也比较好。2. ar -t YourFile 看其结构,找其中的原文件。3. 可以将库文件下到本地用UE打开,然后你就找吧。另外,看动态库用 nm -D lib*.so 附:1.ar基本用法2.

2013-06-26 13:57:27 5713

转载 __FILE__,__LINE__

注:本文转自蚂蚁跳楼博客园,感谢作者整理  前言:我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用宏定义的方式

2013-06-13 14:53:27 599

转载 socket编程中select的使用

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式

2013-06-13 14:40:15 730

转载 Linux 下的 hid dev 设备编程处理

Linux下HID 设备,如果非标准的输入设备(Keypad/MOUSE/JoyStick/input event device).将会把信息转入hid device的设备结点。这一点可以参见内核的关于hiddev的文档  http://lxr.free-electrons.com/source/Documentation/usb/hiddev.txt?v=

2013-06-08 17:50:51 7924

转载 gdb中的信号(signal)相关调试技巧

转自Magic C++论坛 http://www.magicunix.com/index_ch.html http://www.magicunix.com/cgi-bin1/forum_cn/ultimatebb.cgi?ubb=get_topic&f=1&t=000060#000003 引用: -----------------------------------------

2013-06-08 17:49:08 2106

转载 用GDB调试程序---转贴,非常全面的调试技巧

用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更

2013-06-08 17:48:18 2430

转载 GDB调试命令(转)

1       基本命令1.1    启动和退出GDB[root@localhost ~]#gdb test启动GDB调试test程序 [root@localhost ~]#gdb programe 2146启动GDB调试进程号为2146的进程 [root@localhost ~]# gdb(gdb) attach

2013-06-07 14:58:52 669

转载 gdb多线程/多进程(守护进程)调试

一 调试多进程1) follow-fork-mode : set follow-fork-mode [parent|child]parent: fork之后继续调试父进程,子进程不受影响。child: fork之后调试子进程,父进程不受影响。 在使用如下方法设置完要调试的程序后: gdb命令行的 –-args 参数gdb环境中 set

2013-06-07 13:45:05 804

转载 gdb调试多进程和多线程命令

1. 默认设置下,在调试多进程程序时GDB只会调试主进程。但是GDB(>V7.0)支持多进程的分别以及同时调试,换句话说,GDB可以同时调试多个程序。只需要设置follow-fork-mode(默认值:parent)和detach-on-fork(默认值:on)即可。      follow-fork-mode  detach-on-fork   说明parent

2013-06-07 10:23:56 802

空空如也

空空如也

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

TA关注的人

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