2012年2月23日

摘要: 在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接两个前后两个参数,把它们变成一个字符串凡宏定义里有‘#’和‘##’的地方宏参数不再展开”;而h(f(1,2))展开内部的f(1,2),是因为:“要解决这个问题只需多加一层中间转换层#include <stdio.h>#define f(a,b) a##b#define g(a) #a#define h(a) g(a) int main(){ printf("%s\n", h(f(1,2))); printf("%s\n", g(f(1,2))); ret 阅读全文
posted @ 2012-02-23 18:08 一指流砂 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 先看一段程序,很经典 1 #include <stdio.h> 2 #define TOTAL_ELEMENTS (sizeof(array) / sizeof(array[0])) 3 int array[] = {23,34,12,17,204,99,16}; 4 int main() 5 { 6 int d; 7 8 for(d=-1;d <= (TOTAL_ELEMENTS-2);d++) 9 printf("%d\n",array[d+1]);10 11 return 0;12 }运行上面的程序,结果是什么都没有输出,导致这个结果的原因是... 阅读全文
posted @ 2012-02-23 17:30 一指流砂 阅读(589) 评论(0) 推荐(0) 编辑
摘要: I420是YUV格式的一种,而YUV有packed format和planar format两种,而I420属于planar format的一种。 同时I420表示了YUV的采样比例4:2:0。4:2:0的YUV并不是说没有V分量,而是指对于每一个行,只有一个U或者V分量。比如第一行里,是YUYYUY,到了第二行是YVYYVY,那么对于每一行来说就是4:2:0或者4:0:2。需要说明的是,这里的排列方式是针对packedformat而言的,因此并不适用于I420这样的planar format。Packed format和plannerformat的区别在于,packedformat中的YU. 阅读全文
posted @ 2012-02-23 11:06 一指流砂 阅读(14760) 评论(0) 推荐(3) 编辑

导航