開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++/GCC/CLANG
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
None
問題(Question):
volatile大概是C/C++最難了解的關鍵字之一
最近在看完這篇[How to zero a buffer](http://bit.ly/1wmpbys)產生的問題
在開啟最佳化之後,對照Assembly Code,所有的編譯器會捨棄掉stack上的memset。
不過如果照他的方式刻一個,會發現所有Compiler都會做清空的動作
static void
secure_memzero(void * p, size_t len)
{
volatile uint8_t * _p = p;
while (len