VC程式設計中的連續運算 從國際化版本編譯優化展開

2021-06-19 11:14:12 字數 845 閱讀 2595

這段在改造已有模組**,以適應國際化版本和非國際化版本的編譯問題。在改造中,最終接觸到了a2t和t2a等方便的ansi與unicode之間互轉的方面vc6巨集定義。但在沒有找到這兩個巨集之前,採用的最多的就是cstring和bstr_t兩個類對其做型別轉換以轉換到對應的字串型別,特別是cstring類由於可以非常自然地適應unicode版本和非unicode版本編譯,所以,在固定需要tchar資料時,利用cstring作為轉型的中介是非常不錯的選擇的!

例如,入參固定為char*的字串,但是要得到tchar*的字串,在不用到條件編譯的情況下,我自然地選擇了強制型別轉化為cstring的臨時物件,然後再由cstring提供的字串強制型別轉換,轉換到tchar*。這樣從形式上避免了條件編譯,而且形式上僅僅乙個轉型就達到了目的:)(雖然內部展開的**也不菲的,呵呵)

對於此種強制型別轉換,自己當時非常欣悅。因為這種感覺就類似linux shell裡面利用shell命令進行連續運算一樣,最終運算出來乙個自己期望的結果,同時具有形式上的美感。而且痛感我們對於vc等系統程式設計效能引數要求過高,而讓程式設計失去形式上的美感。如果vc中也可以不太考慮效能引數,其實利用各種專付此職的類進行各種連續運算,也可以做到類似shell指令碼,也是非常棒的!就像linux shell指令碼中利用比較多的小命令組合在一起最後完成乙個不錯的功能。雖然從學術上講,單一足夠小的類能夠避免軟體開發中的難題,但是實際開發中不免要出現各種龐大的類:) 這是個目標或理想,就看達到的程度了:(

另外,這段覺得大部分linux shell指令碼命令的基礎輸入或輸出通常是基於行的概念,在這樣的條件下「介面」具有一致性,比較容易玩各種連續運算。

所以,在實踐連續運算程式設計中是介面一致或者約定一致或目標一致是非常重要的,lisp中的函式程式設計也不過是如此的!

Vue中的國際化

單純記錄使用過程中遇到的問題,基礎的用法看官網的就行了官網位址 1.script標籤裡面使用國際化,例如在methods裡面使用 methods 在html標籤屬性中使用,例如在placeholder中使用 type lock lock password text placeholder t log...

國際化程式設計的注意點

國際化程式設計的注意點1.字符集 charset 要支援國際化,最好的方案是支援unicode 非unicode也可以支援國際化,但是有小許的缺失。unicode的好處,同一unicode編碼下同一編碼在不同區域和語言設定下都一致,且可同時顯示或編輯多國語言文字 必須輸入法支援,如微軟拼音輸入法支援...

IOS中的國際化 一

開啟這個工程你可以當看到如下的乙個介面 然後點開storyboard,你會發現裡面的控制項都非常簡單。為了國際話,我們需要往專案中再新增一門語言。新增語言的方式是,project info localizations點選 來新增相應語言,這裡我們選擇chinese simplified 簡體中文。然...