1
在閱讀下面鏈接的Niklas Frykholm的非常好的博客文章時,我遇到了一些我無法完全理解的東西。線程本地指針初始化
http://bitsquid.blogspot.nl/2012/01/sensible-error-handling-part-1.html
此代碼混淆我:
__THREAD Array<const char *> *_error_context_name;
__THREAD Array<const char *> *_error_context_data;
的代碼定義一個線程局部指針字符串數組被用作簡單的堆疊。我不太明白的是如何以跨平臺的方式初始化和銷燬陣列?此外如何與DLL的邊界工作?
如果我在一個dll和應用程序都包含的頭文件中聲明瞭這一點,那麼指針在dll中正確解析了嗎?如同,它們是否會指向與主應用程序相同的位置? –