例子1,只有图片
例子2,含有链接的图片
例子3,图片+介绍文字

标题样式

例子3,图片+介绍文字
注意要用换行符号换行
标题h3是紫色,h4是蓝色
PS:最大宽度300px
超出300px自动换行,参见下一张
链接
例子4,链接图片+介绍文字

『EVA:破』 画面曝光

在公开的预告片中,虽然没有主役台词 但是由鹭巢诗郎创作的音乐缓缓流淌,加上动感十足的战斗场面依然能牢牢吸引眼球。在这个简短的预告篇中,可以看到《EVA:破》中登场的EVA2号机在空中乱舞的场面,与TV系列中有异曲同工之妙的初号机和3号机激烈战斗的场面,此外还有疑似新使徒的身影出没。
猛击查看

关于句柄表

记得《Windows核心编程》中说过,一个进程的句柄直接给另一个进程使用很有可能会出错,因为句柄就是个索引值嘛,可能在另一个进程中这个索引值就指向它打开的其它内核对象了。

悲催的没仔细研究,想当然的认为句柄值应该是从小到大,根据打开内核对象的次序依次分配的。尤其是在父进程创建子进程的过程中,父进程可继承的句柄值应该先挑出来,然后在子进程中依次重新分配。结果不然。假设父进程有512个句柄值,只有第512个句柄值可继承,那么子进程中该句柄值还是512*4(之前我想当然的以为是子进程初始句柄值+4,即能分配的最小的句柄值)!也就是说从父进程中继承来的句柄,其索引值在子进程中是不会变的!

Android NDK编译FFmpeg

Android下编译RockPlayer就是个杯具,没找到有用的相关文档。在新的Android NDK下编译一直不通过,郁闷。换FFmpeg试试吧,记录几篇参考资料:

用Android NDK编译FFmpeg

在 Ubuntu 下使用 Android NDK r4b 编译 FFmpeg 0.6.3

Windows XP、Cygwin、NDKr5b编译Android下的ffmpeg

为Android编译ffmpeg

TRACE TRACEA Macro

void _TRACE(TCHAR *pszFormat, ...)
{
 if(lstrlen(pszFormat) > 512)
 {
  return;
 }

 TCHAR buffer[1024] = {0};
 va_list argptr;
 va_start(argptr, pszFormat);
 wvsprintf(buffer, pszFormat, argptr);
 va_end(argptr);
 OutputDebugString(buffer);
}

void _TRACEA(char *pszFormat, ...)
{
 if(strlen(pszFormat) > 512)
 {
  return;
 }

 char buffer[1024] = {0};
 va_list argptr;
 va_start(argptr, pszFormat);
 vsprintf(buffer, pszFormat, argptr);
 va_end(argptr);
 OutputDebugStringA(buffer);
}

#ifdef _DEBUG
#define TRACE _TRACE
#define TRACEA _TRACEA
#else
#define TRACE
#define TRACEA
#endif

之前在项目中自己封装用的。

调试输出信息在output窗口
vc 调试信息输出

__declspec(novtable)

novtable:

可用于任何类声明中,但最好只用于纯接口类,即类本身从不实例化。此关键字的声明将阻止编译器对构造和析构函数的vfptr的初始化。可优化编译后代码大小。

如果试图实例化一个用__declspec(novtable)声明的类然后访问类中成员,则会在运行时产生访问错误(access violation,即AV)。

C++中 _declspec(novtable) 的探讨

Debug

对调试目标进程是被其他进程拉起的时候很有效果,如IE、FireFox插件。

无觅相关文章插件,快速提升流量