在大学的时候使用c语言基本上都是算法的编程,简单易懂,到了实习的时候才发现c语言代码我们学的真是九牛一毛,还是要多学多用,下面记录的仅仅是自己不太懂的东西,写在博客上也只是为了让自己可以在不懂的时候多看看,温故而知新。
#if 0
if(1==pParam->index)
{
unsigned short *pf = (unsigned short *)pParam->pixel;
for(i=0;i<pParam->height;i++)
{
for(j=0;j<pParam->width;j++)
printf("%4x",pf[j]);
pf += pParam->width;
printf("\n");
}
}
#endif
这个代码刚开始看到的时候基本上是摸不到头脑的,其实这是一个预编译的代码,预编译又称为预处理,是做些文本替换的工作的,是整个编译过程最先做的工作,预编译指令指示了在程序正式编译前就由编译器的操作,可放在程序中任何位置。
接下来的是
Switch(imageSize)
{
case CAPTURE_SIZE_1080P:
case CAPTURE_SIZE_1_3M:
case CAPTURE_SIZE_720P:
………
}
因为公司的一些机密问题,中间的函数也就不写出来了,可以看到case后面跟着的Capture_case有几个值,这几个值在视频图像编码设置可以看到端倪,这个1080p,1_3M,720p代表的都是主码流或者辅码流的大小,主码流用于本地存储,辅码流用于图像在低宽网络上传输。分辨率指的是图像的精密度,是指显示所能显示的像素有多少。
接下来说说结构体.下面是一个简单的结构体:
Struct address
{
char name[30];
char street[40];
}
访问结构体成员有以下三种方式,一是结构变量.成员名 ;二是(*结构体指针变量).成员名;
三是结构体指针变量->成员名。
枚举类型:
enmu capture_size_t{
capture_size_D1,
capture_size_HD1,
……..
}
enmu(编程语言中的一种数据类型),c语言提供一种称为“枚举”的类型。在枚举类型中列举出所有可能的取值,被说明为该“枚举类型”的变量取值不能超过定义的范围,这是基本数据类型而不是构造类型。
枚举元素作为常量,他们是有值的,c语言在编译时按规定的顺序使他们的值为0,1,2.
打印!!打印!!printf不仅仅是一个输出函数的作用,几乎每个c语言程序都是一个庞大的工程,可能看到一个函数有层层调用,如果遇到这种情况我们该怎么办呢,不要紧张,我们有时候不需要一级级去寻找这些个参数,我们可以在其中使用printf把其中的参数打印下来,用日志记录,再在日志中去查找,在实习中摸索出来的方法,很值得使用。
linux系统下,删除一个文件,对所有已经打开该文件的文件描述符不产生直接影响。可以直接用新程序覆盖原程序,此时,已经运行的原程序还是按照原程序执行,当重新执行这个程序时,就是新的程序了。
局域网地址10.xx.xx.xx.xx
A类地址网络号位数为7位,主机号是24位,所以网段比较少,但是网段的主机数很大,因此A类地址一般用于大型公司或厂家。