stl_config.h
由於不同的編譯環境對標準c++的支援不完全相同,出於移植性的考慮,sgi stl定義了這個檔案。它通過條件編譯針對不同的編譯器作了部分常數設定,對編譯器的設定如下:
1) 如果沒有定義bool,true,false,定義 __stl_need_bool。
2) 如果不支援drand48(採用了48bit計算,產生雙精度的偽隨機數),定義 __stl_no_drand48。
3) 如果不支援類模板的靜態成員,定義 __stl_static_template_member_bug。
4) 如果不支援關鍵字typename,定義typename為乙個空巨集(null macro)。
5) 如果支援類模板區域性特殊化(partial specialization of class templates),定義 __stl_class_partial_specialization。
6) 如果支援函式模板區域性特殊化(partial specialization of function templates),定義 defines __stl_function_tmpl_partial_order。
7) 如果函式模板可以指明引數型別,定義 __stl_explicit_function_tmpl_args(sgi stl中未使用)。
8) 如果類中可定義函式模板為成員,定義 __stl_member_templates。
9) 如果不支援關鍵字explicit,定義explicit為為乙個空巨集。
10) 如果不能根據前乙個模板引數設定後乙個模板引數,定義 __stl_limited_default_templates。
11) 如果對無型別模板引數(non-type template parameters)執行函式模板的引數推導出錯,定義 __stl_non_type_tmpl_param_bug。
12) 如果不支援iterators的->操作符,定義 __sgi_stl_no_arrow_operator。
13) 如果支援異常處理(exceptions),定義 __stl_use_exceptions。
14) 如果把stl放在乙個namespace中,定義 __stl_use_namespaces。
15) 如果使用sgi編譯,沒有選擇pthreads或其他threads,定義 __stl_sgi_threads。
16) 如果使用win32的多執行緒模式(multithreaded mode)編譯,定義 __stl_win32threads。
17) 適當定義namespace相關巨集(__std, __stl_begin_namespace, 等)。
18) 適當定義exception相關巨集 (__stl_try, __stl_unwind, 等)。
19) 如果沒有定義__stl_assertions,定義__stl_assert為乙個空巨集。
20) 如果定義__stl_explicit_function_impl_args,定義__stl_null_tmpl_args為<>,否則為空巨集。
21) 如果定義__stl_class_partial_specialization,定義__stl_template_null為template <>,否則為空巨集。
各種「地」 各種「GND」
gnd,指的是電線接地端的簡寫。代表地線或0線。電路圖上和電路板上的gnd ground 代表地線或0線.gnd就是公共端的意思,也可以說是地,但這個地並不是真正意義上的地。是出於應用而假設的乙個地,對於電源來說,它就是乙個電源的負極。它與大地是不同的。有時候需要將它與大地連線,有時候也不需要,視具...
iOS 各種報錯,各種error
是因為修改了標頭檔案,新增了空格啊什麼的 llvm low level virtual machine 低階編譯器 需要把note 後面提示要刪的指定的路徑檔案在finder中找到並完全刪除 如果是真的修改了system header 那麼解決的方法 1 還原 2 重灌xcode 關於xib連線的三...
http各種中的各種timeout
1.tomcat 可以通過telnet測試 在tomcat的server.xml中,有個配置節 uriencoding utf 8 其中的connectiontimeout代表的意思是 在已經建立的http連線上,如果5000毫秒沒有資訊傳輸,怎伺服器關閉連線。但如果tomcat伺服器內容消耗的時間...