如果要寫一個類似於現在Word的軟體,僅用C語言或者C++,可以完成嗎?

一直很好奇,Word Excel PPT這三個軟體,是如何寫出來的,僅僅只有C語言或者C++嗎?而且,微軟完成這三款軟體之後,它們是被如何漢化的?


Win32版本當然只有C++。漢化很容易,你在開發之初先留好餘地,把所有的字元串都放資源里,然後叫人來改。不過改文字很容易造成文字的長度有變化,所以你開發UI的時候,要能夠自動排版。


僅用C、C++有什麼值得驚訝的?

退一步也可以像Qt那樣,用代碼生成器做一些擴展,實現類型內省的能力。剛猛一點就像Gtk那樣,手擼出類型內省來。

而且,微軟完成這三款軟體之後,它們是被如何漢化的?

不是漢化,而是多語言化。「界面所有的文本內容,都是按語種組織的資源」這件事,是開發大型軟體項目的基本原則。


當然可以啊,我司的WPS就是用純c++實現的啊。

當然不可避免的使用了一些腳本。但是核心部分,比如wps排版邏輯與界面繪製肯定是用c++實現的。

自己做的話,我勸你還是放棄吧。參考富文本編輯器為啥這麼難實現。。。難在排版,更何況比富文本編輯器更複雜的排版引擎了。

漢化的話,參考Qt語言相關。。。基本上不用你太操心。


Word 幾乎整個都是用 C++ 寫的(Mac、Android 的版本混了其他語言)。

你要實現的話可以先看下 http://Unicode.org 上的完整 Unicode 規範(包括 UAX),並且看完 @李阿玲 的 TeX 源碼,這只是第一步,Word 的排版引擎(叫做 PTLS)是實時的,而且你得做出取捨(比如 Word 一直不做 Knuth-Plass 斷行的原因就是因為太慢)。

多語言的話實際上是上層 UI 的事情,把各種字元串甚至函數放在外面,根據 Locale 調取。


還是需要藉助類庫。如果是c語言可以使用 GTK+,c++可以使用 Qt 。

從零開始不可能了,GUI還是挺複雜的技術。而且和操作系統有不少關係。


沒有什麼是只有一個語言能做的

只有是哪個語言適合做的


當然可以,當年求伯君大爺開發WPS用的可是彙編


library offices 源代碼 你值得擁有。


c能寫操作系統

cpp會更快一點

這幾個軟體有操作系統複雜度差不多吧?


謝邀。可以寫出來的,有c++就行了。design pattern裡面的第二章就是一個所見即所得編輯器的示例,可以在那個基礎上做。微軟是一開始上的vc,之後慢慢轉成vc和c#混編。至於漢化……微軟看重中國市場,就把裡面的詞句換成了中文而已。希望有幫助


只用 C/C++ 必須是可以的,w/x/p 絕大部分代碼都是 C++,當然也不止一種語言,比如在 Mac/iOS 上的版本不可避免的要用一些 Objective-C

至於漢化,可以把字元串寫到資源文件裡面,把這個資源文件裡面的字元串翻譯成漢語就好了


大概是c++寫的,調用的語言文件

翻譯的時候直接改語言文件

emmm純用c你任何東西都能寫出來


推薦閱讀:

清華大學譚浩強的C語言書籍怎麼樣?
譚浩強的 C 語言技術真很牛嗎?他寫過哪些厲害的程序?
為什麼printf("%ld
", -2147483648/1000000000);得到的結果是2而不是-2?

在計算機語言發展歷史上,C語言和C++語言分別有怎樣的歷史意義?

TAG:程序員 | C編程語言 | 計算機專業 | CC | 國際化與本地化 |