将脚本绑定到摄像机上就OK!
下载地址:http://download.csdn.net/detail/goodai007/4966469
make的用法讲解
在Linux环境下使用GNU的make工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行。不过这需要我们投入一些时间去完成一个或者多个称之为Makefile文件的编写。此文件正是make正常工作的基础。
make是一个命令工具,它解释Makefile中的指令(应该说是规则)。在Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。
准备知识:编译,链接,静态库,共享库
编译:把高级语言所书写的代码转换成机器可识别的指令,此时还不能够被执行,编译器通过检查高级语言的语法,函数和变量的声明是否正确!如果正确则产生中间目标文件(目标文件在Liunx中默认后缀为“.o”)
链接:将多.o文件,或者.o文件和库文件链接成为可被操作系统执行的可执行程序
静态库:又称为文档文件(ArchiveFile)。它是多个.o文件的集合。Linux中静态库文件的后缀为“.a”
共享库:也是多个.o文件的集合,但是这些.o文件时有编译器按照一种特殊的方式生成(共享库已经具备了可执行条件)
在执行make之前,需要一个命名为Makefile的特殊文件(本文的后续将使用Makefile作为这个特殊文件的文件名)来告诉make需要做什么(完成什么任务),该怎么做。
当使用make工具进行编译时,工程中以下几种文件在执行make时将会被编译(重新编译):
1.所有的源文件没有被编译过,则对各个C源文件进行编译并进行链接,生成最后的可执行程序;
2.每一个在上次执行make之后修改过的C源代码文件在本次执行make时将会被重新编译;
3.头文件在上一次执行make之后被修改。则所有包含此头文件的C源文件在本次执make时将会被重新编译。
Makefile规则介绍
一个简单的Makefile描述规则组成:
TARGET...:PREREQUISITES...
COMMAND
...
...
target:规则的目标。通常是最后需要生成的文件名或者为了实现这个目的而必需的中间过程文件名。可以是.o文件、也可以是最后的可执行程序的文件名等。另外,目标也可以是一个make执行的动作的名称,如目标“clean”(目标“clean”不是一个文件,它仅仅代表执行一个动作的标识。),我们称这样的目标是“伪目标”。
prerequisites:规则的依赖。生成规则目标所需要的文件名列表。通常一个目标依赖于一个或者多个文件。
command:规则的命令行。是规则所要执行的动作(任意的shell命令或者是可在shell
// 这是我在工作中发现的一个Bug:使用Visual Studio 2010调试C#代码的时候发现的。 public bool Foo(String file) { if (!Foo1(file)) { throw new ArgumentException("Invalid file in Foo1."); } if (!Foo2(file)) { throw new ArgumentException("File not exists in Foo2."); } try { // Code. } catch (Exception e) { // Code. } }当程序debug到Foo2的时候,Foo2(file)等于Ture,Visual Studio 2010的Debugger竟然进入到
{ throw new ArgumentException("File not exists in Foo2."); }中,并且没有抛出异常。而且,接下来又成功进入到try块中。我彻底无语中...