写个知识点吧,关于va_list的,也是关于2dx的

简介: 写个知识点吧,关于va_list的,也是关于2dx的

关于va_list,你知道多少?

先说一下我的了解吧。

废话不多说,先看一段下面的小程序:

void CCLog(const char * pszFormat, ...)

{

   printf("Cocos2d: ");

   char szBuf[kMaxLogLen+1] = {0};

   va_list ap;

   va_start(ap, pszFormat);

   vsnprintf(szBuf, kMaxLogLen, pszFormat, ap);

   va_end(ap);

   printf("%s", szBuf);

   printf("\n");

}

该程序摘自2dx中的CCCommon.mm中。

如上程序,首先,定义一个va_list;然后,使用va_start来获取参数表中的各个参数;使用完毕后,使用va_end来结束使用。

说完va_list了,然后,解释一下这个函数的意义吧。该函数也没有别的意思,只是打印出一些日志。不用多解释什么,相信对2dx熟悉的同学都对CCLog很熟悉的。

void CCLog(const char * pszFormat, ...)

{

   char buf[MAX_LEN];



   va_list args;
   va_start(args, pszFormat);

   vsnprintf(buf, MAX_LEN, pszFormat, args);

   va_end(args);



   __android_log_print(ANDROID_LOG_DEBUG, "cocos2d-x debug info", "%s", buf);

}

上边这段程序摘自CCCommon.cpp。

这段程序,摘自应用在android平台。功能都是一样的。

其实,我想具体说一下关于这个函数的整体架构,但是有些东西还没了解清楚。就说到此处了,以免让人误入歧途。有什么不恰当的地方,还请看到的朋友帮忙解释一下。谢谢。

相关文章
|
2月前
|
索引 Python
Python小姿势 - Python核心知识点—list
Python小姿势 - Python核心知识点—list
|
Dart 索引
Dart之List基本知识点
Dart之List基本知识点
【剑指offer知识点】List转int[],List转String,String转int,char[]转String,String 转char[],List转String[]
【剑指offer知识点】List转int[],List转String,String转int,char[]转String,String 转char[],List转String[]
108 0
|
安全 Java
【Java面试】List知识点总结
【Java面试】List知识点总结
84 0
|
Dart Java
flutter开发之必须掌握的dart知识点:list,set,map
要说,List在我的开发使用中,确实是最为频繁的了,那么如何使用list,也就成了一个问题,list提供的方法又有哪些 这些都是需要掌握理解的。 首先第一个, 对于固定长度的list,如何删除添加元素呢
545 0
|
索引 Python
Python知识点笔记-列表list、元组tuple和dict类型
Python知识点笔记-列表list、元组tuple和dict类型
116 0
|
Python
Python 知识点: 列表推导式(list comprehension)
Python里面有个很棒的语法糖(syntactic sugar),它就是 list comprehension ,有人把它翻译成“列表推导式”,也有人翻译成“列表解析式”。名字听上去很难理解,但是看它的语法就很清晰了。
2513 0
|
21天前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
18 1
|
15天前
|
存储 安全 Java
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
|
27天前
|
Java API
使用 Java 来实现两个 List 的差集操作
使用 Java 来实现两个 List 的差集操作
20 3