书写命令每条规则中的命令和操作系统Shell的命令行是一致的。make会一按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被忽略,但是如果该空格或空行是以Tab键开头的,那么make会认为其是一个空命令。我们在UNIX下可能会使用不同的Shell,但是make的命令默认是被“/bin/sh”——UNIX的标准Shell解释执行的。除非你特别指定一个其它的Shell。Makefile中,“#”是注释符,很像C/C++中的“//”,其后的本行字符都被注释。一、显示命令通常,make会把其要执行的命令行在命令执行 Read More
规则包含两个部分,一个是依赖关系,一个是生成目标的方法。在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第一条规则中的目标有很多个,那么第一个目标会成为最终的目标。make所完成的也就是这个目标。好了,还是让我们来看一看如何书写规则。一、规则举例# foo模块foo.o: foo.c defs.h cc -c -g foo.c看到这个例子,各位应该不是很陌生了,前面也已说 Read More
一、Makefile里有什么?Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。1、显式规则: 显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。2、隐晦规则: 由于我们的make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写Makefile,这是由make所支持的。3、变量的定义: 在Makefile中我们要定义一系列的变量,变量一般都是字符串,这个有点你C语言中的宏,当Makefile被执行时,其中的变量都会被扩展到相应的引用位置上。4、文件指示: 其包括了三个部 Read More
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列 Read More
发现了一个不错的正则表达式在线检验的网站,还可以有关键字的快速参考 :)一直对正则都是云里雾里的,现在终于有了得力助手了 呵呵http://www.regexpal.com/功能很好很强大 HOHO此在线检验是通过javascript,遂保存网页收藏之。。。RegexTester-RegexPal.tar.gz Read More
注意,以下配置文件只适用于中兴ZTE-T A356设备,其他型号需要修改pid和vid。下载驱动附件(g3ewalk-linux.tar.gz),并且执行如下命令,将文件解压到/etc/ 目录下:$sudo tar -zxvf g3ewalk-linux.tar.gz -C /etc/再执行:$mkdir ~/g3ewalk$tar -zxvf g3ewalk-linux.tar.gz -C ~/g3ewalk进行拨号之前需要禁用局域网以太网卡:$sudo ifconfig eth0 down // 开启局域网以太网卡:sudo ifconfig eth0 up进行g3拨号联系:$sudo ~ Read More
ES是基本数据流(elementary stream):用于某些硬盘播或编辑系统,如m2vPS是程序数据流(program stream):用于播放或编辑系统,如m2pTS是传输数据流(transition stream):主要用于数据传输,如HDV机器内部记录的m2t上节介绍过,ES首先需打包成PES流包,然后PES根据需要打包成PS或TS包进行存储或传输。其每路ES只包含一路信源的编码数据流,所以每路PES也只包含相对应信源的数据流。对PS流而言,每个PES包头含有PTS和DTS,流识别码,用于区别不同性质ES。然后通过PS复用器将PES包复用成PS包。实际上是将PES包分解为更细小的PS Read More
MediaPlayer类可用于控制音频/视频文件或流的播放。关于如何使用这个类的方法还可以阅读VideoView类的文档。1.状态图对播放音频/视频文件和流的控制是通过一个状态机来管理的。下图显示一个MediaPlayer对象被支持的播放控制操作驱动的生命周期和状态。椭圆代表MediaPlayer对象可能驻留的状态。弧线表示驱动MediaPlayer在各个状态之间迁移的播放控制操作。这里有两种类型的弧线。由一个箭头开始的弧代表同步的方法调用,而以双箭头开头的代表的弧线代表异步方法调用。通过这张图,我们可以知道一个MediaPlayer对象有以下的状态:1)当一个MediaPlayer对象被刚刚 Read More
Android平台对一些常见的媒体格式内置了编解码器。并且应用可以非常简单地访问平台的多媒体功能――you do so using the same intents and activities mechanism that the rest of Android uses.Android可以让你播放多种音频和视频类型的数据源。你可以播放存放在应用程序raw资源中的多媒体文件,或是放在文件系统中的多媒体文件,或是从网络上读取的数据流。使用MediaPlayer类来播放音频和视频媒体。在被硬件支持的情况下,Android也可以让你录制音频和视频。录制需要使用MediaRecorder类。注意在模 Read More
项目进行接近一个月,很多功能和实现都日渐清晰,为了保证项目进度,客户端对服务器(j2ee)请求的验证模块的开发势在必行。由于涉及到安全性和代码通用性,决定用C语言来实现验证模块,同时部署到客户端和服务器,经过半天的研究终于成功进行jni调用,现将步骤附上:1.新建一个java工程,目录是D:\project\MyProject,以下用<project>代替。2.新建一个jni类:com.mycompany.jni.MyAuthToken,并书写java的native接口方法和其它代码。如下:package com.mycompany.jni;/** * @author gansc2 Read More