
C
AppFishStudio
AppFish Studio(www.appfish.cn) 是一家专注于移动应用开发、提供移动互联网解决方案的 IT 工作室。 正式成立于2012年,提供 iOS、Android、Cocos2d-x 及服务端等外包开发服务,至今已成功承接了多个移动外包开发项目,为多家著名上市公司提供过服务,赢得了一定的口碑。并且开发了自己的产品线,努力走上自营的道路。
展开
-
extern "C" __declspec(dllexport) __declspec(dllimport) 和 def
前面的extern "C" __declspec(dllexport) __declspec(dllimport)都是用于函数或者变量,甚至类的声明的(可以把extern "C"放在class的前面,但是编译器会忽略掉,最后产生的还是C++修饰符,而不是C修饰符)这样的用法有个好处就是下面的代码可以在混有类的函数和变量上使用下面的宏,虽然对类不起作用: #ifdef __cplusp转载 2012-07-03 14:16:06 · 1897 阅读 · 0 评论 -
volatile变量
volatile变量的意思是易变的,它的主要作用是避免编译器优化,编译器优化是什么意思? 举个例子,为了避免过多的访问内存,编译器会为变量作一个cache,里面会存放上变量的copy, 这样就会提高程序执行效率,而变量如果加了volatile, 那么编译器就不会做这样的优化,每次用到该变量时,都会去内存取一次,从而保证取到的是变量的最新的值。通常下面情况下要用到该变量。转载 2016-03-18 16:15:49 · 1465 阅读 · 0 评论 -
va_start和va_end使用详解
本文主要介绍va_start和va_end的使用及原理。 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解。 介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表 void foo(转载 2016-03-18 17:04:27 · 1244 阅读 · 0 评论