ini PC 的絕妙,在于讓它變成你要的形狀(圖)
ASUS 的 mini PC 系列可以說是一個經典造型沿用 3 年,自 2017 年搭載第 7 代 Intel 處理器到現在全面升級到第 10 代。這個小巧且方正的造型擁有高彈性的擴充機能,要拿來做多媒體播放機、抓檔機、文書機都很行。當然玩游戲你就參考 ROG 系列,講求生產力和效率,那效能大躍進的現代,這臺 VivoMini VC66-C2 效能相當足夠。
這次先針對手邊這臺 VC66-C2 104UNTA 來做規格拆解跟分析。實測跑分后來做做實際的延伸應用。
【外觀開箱】
ASUS VivoMini VC66-C2 Mini PC外觀(圖)
盒裝內容包含說明書三本、螺絲數包、變壓器、電源線、壁掛架以及 VC66-C2 本體一顆。(圖)
盒裝內容包含說明書三本、螺絲數包、變壓器、電源線、壁掛架以及 VC66-C2 本體一顆。安裝套件采用 VESA 標準規格,可以把 VivoMini VC66-C2 掛在顯示器后面,這樣拿來當多媒體播放機或是公司 POS 機。
能把體積做那么小的一個原因,在于變壓器外置。這顆臺達電的變壓器為 20V=6.0A 120W 的供電功率。本體部分依據初始狀態重 1,032g,就算加上變壓器和線材,也只達 1,471g 左右,非常輕巧。
ViviMini VC66-C2 外觀上就可以看出它預載 Windows 系統、Intel i5 處理器,并具備 HDMI 接孔。(圖)
接下來輪到主角登場。 ViviMini VC66-C2 外觀上就可以看出它預載 Windows 系統、Intel i5 處理器,并具備 HDMI 接孔。
外觀和 2017 年推出的 VC66 維持一致,經典的上下方盒,中間是 LED 電源燈號。由于 2 公升已經很緊致,就算內建風扇也還是要針對 VC66-C2 的散熱進行優化,因此可以看到表面布以不規則孔洞,加強散熱。
細節部分也做得不差,半透明的按鈕其實是電源鍵,按下去開機后會恒亮。上方還有一讀取燈條,會依據狀態閃滅。
端子部分非常豐富,光是 USB 孔就多達 8 個;在顯示輸出上最多可到 DP 1.2 4K@60Hz 或者 HDMI 1.2 4K@30Hz ,并同時輸出 3 個熒幕。前幾代尚未內建網卡,這一次除了實體 RJ45 ,還有 Wi-Fi 6 的連線能力,一舉把功能都補齊全。
【擴充機能】
ASUS VivoMini VC66-C2 內在有非常緊湊卻充實的擴充槽,可以依照需求加裝 SSD、M.2 SSD、RAM。當然要一次裝到頂也是可以,不過依照硬件本身的支援上限來搭配即可。
內部總擴充插槽:
1 x M.2 SSD 插槽 (最高支援 1TB / 支)
2 x DDR4 2933MHz 存儲器 (最高支援 64GB)
2 x 2.5” HDD / SSD (最高支援 1TB / 支)
不過要看看它的界面插槽,必須先按照以下步驟進行拆解:
Step.1:底部存儲器擴充槽
Step.2:四角橡皮墊下螺絲
Step.3:上蓋掀起與硬盤槽
Step.4:硬盤層掀起,存儲器和硬盤
Step.5:風扇與主板構造
用手撥除四角的橡膠軟墊,露出里面的螺絲。要特別注意選細長一點的螺絲起子,我們共換了 3 支螺絲起子才有效解鎖。(圖/科技狗 3C Dog)
【心得總結】
俗話說我們都會把錢變成自己喜歡的樣子,而購入 VivoMini 就是把迷你計算機變成自己喜歡的樣子。它可以平常擔任文書機,需要時接上電視變成多媒體播放機;或者平常就掛在那里,持續輸出音樂和影片檔案。
ASUS VivoMini 有不少規格型號,VC66-C2 就是主打高效能第 10 代迷你計算機。內建 Windows 10 ,擴充接孔豐富,一次又能輸出三臺顯示熒幕,在硬解多媒體、Wi-Fi6 無線上網的功能性上都明顯升級。極盡安靜的噪音控制,也很適合低耗長效的服務器工作。伊森認為它就是把所有游戲機能以外的事情都包辦了,是一臺小巧而能激發運用樂趣的迷你計算機。
非常推薦那些愛將辦公室和居家環境簡約模塊化,并將各種抓檔、多媒體串流操控自動化的玩家朋友。
VivoMini 平常擔任文書機,需要時接上電視變成多媒體播放機。(圖)
C調試技術程序出錯的類型大致可以分為兩種,語法錯誤和邏輯錯誤。語法錯誤可以通過編譯器的出錯信息得到糾正。然而邏輯錯誤則不能,所以各大IDE(集成開發環境)中都提供了debug功能,用來分析和排除程序中的邏輯錯誤,排除邏輯錯誤的過程又稱調試(或debug),下面謹以VC++6.0的調試環境做介紹。
常用的調試命令主要有:
step into 命令快捷鍵:F11 單步執行每條語句,在遇到函數的時候,系統將進入函數,單步執行其中的語句。
step over 命令快捷鍵:F10 單步執行每條語句,但在遇到函數時候,系統將把函數當作“一條語句”來執行,自動執行其中的內容,而不進入函數內部單步執行。
run to cursor 命令 快捷鍵:Ctrl+F10 系統將自動執行到用戶光標所指的語句前。(這個功能很有用,可以將精力集中到有問題的地方,從而節省調試時間)
Go 命令快捷鍵:F5 系統將編譯,連接,自動運行程序,但是會在程序設置了斷點(breakpoint)處停下。
BuildExcute 命令 快捷鍵:Ctrl+F5 系統將編譯,連接,運行編譯好的程序代碼,因此不會在斷點處停留,但是在程序執行結束之后,系統會給一個Pause,以方便用戶觀察輸出結果。
Stop debug命令快捷鍵:Shift+F5 本命令是用來終止動態調試過程的。
動態調試的主要方法——watch(監視變量)在程序編譯通過以后,當使用了step into,step over,run to cursor, go命令使系統在程序執行的過程中停下之后,系統就會進入調試狀態。
調試過程中,你的程序執行窗口會調到后臺,而系統窗口中會顯示你的程序,其中的黃色箭頭指向的是系統下一步將要執行的語句。而系統窗口下面的那個監視窗口就是我們將要介紹的重點. watch窗口被左右分成了兩個部分,左面的那部分我們姑且稱之為“自動監視區”(即variable窗口),而右面的我們稱之為“手動監視區”。(即watch窗口)自動監視區是系統自動跟蹤的變量名。系統默認顯示auto標簽,那是顯示在上一步執行過程中,程序中發生改變的變量。 locals標簽跟蹤的是某一個函數中的所有變量。
上面的find sourse組合框中指示的是當前在locals標簽下在跟蹤的變量是屬于哪一個函數的。說明:當find sourse組合框中的內容變成灰色時,說明系統正在運行程序,或者等待輸入端的數據(通常會是這個情況),此時應當注意程序執行窗口中的內容。然而通常僅僅只有自動監視區所監視的變量是不夠的,有時我們需要自己定義一些需要跟蹤的變量——這個時候我們就要在手動監視區中輸入變量名(也可以是系統認為合法的表達式)來跟蹤我們需要的值。
注意:當用戶定義了一個指向數組的watch之后,在變量的左邊會出現一個小的'+'號,表示這個數組可以“展開”——顯示其中每一個下標所指示的內容,這與其他高級語言的IDE有些不同。
值得一提的是VC++的一個人性化設置:在用戶定義的變量很多時,往往需要通過滾屏才能看到所有的變量——VC++在手動監視區中設定了4個標簽以方便用戶的使用,在這四個標簽的功能是一樣的!
斷點的設置與一些基本的調試技巧。斷點(breakpoint)是指在調試過程中,只要運行到斷點處,系統就會自動停下(除非是使用bulidexcute命令,但那是在執行編譯好的代碼,在嚴格意義上說,這不能算是一個調試命令),通常和go命令和step over命令配合在一起使用。
設置斷點的方法:在程序代碼中,移動到需要設置斷點的那一行上,按F9鍵,你可以看到代碼行的左端出現了一個紅色的圓點——那是VC++中斷點的標志,以后程序在調試過程中,每次執行到這里,都會停下,方便用戶觀察watch中的內容。去除斷點的命令與設置斷點的命令相同:在已設置斷點的地方,再按一次F9鍵,左端的紅色圓點就消失,斷點被去除了。有的時候,我們并不是不需要斷點,而是“暫時”不需要它,這時可以在已設置斷點的地方,按Ctrl+F9鍵,你可以看到原本實心的圓點變成了一個空心的圓圈——斷點暫時失效了。恢復斷點功能也是按Ctrl+F9。這個功能在程序很長,需要很多斷點的時候尤其有用。
條件斷點技術——其實就是在一些分支語句內部設置斷點,這個技術很實用,尤其在程序的某個分支部分發生問題的時候。關于斷點設置在哪里。這可以說是因人而異,而且是一個相當有藝術性的內容,我不想多說什么,但是有一個基本的原則就是,不要連續設置斷點,所謂斷點,也可以說是“段”點,在需要連續觀察的地方,應當使用step over或者step into命令。
好了,調試命令基本上就是這些,下面我想談談我個人在調試過程中的一些心得和體會:
1.動態調試不是萬能的。雖然動態調試能解決幾乎所有的非算法性的問題,但是動態調試要消耗大量的時間這點也是無庸質疑的——而且會擾亂編程者的思路。其實相當多的錯誤往往只是因為鍵盤按錯(“手誤”)導致的。這種錯誤在動態調試中很難發現,所以對于每一個程序,在要開始進行調試前,都應當再整理一遍思路,仔細地通讀一遍程序,用所謂的“靜態查錯”的方法先將一些顯而易見的低級錯誤先解決掉,同時也可以確定調試的重點。這樣做可以大大縮短調試時間,同時能使自己更容易發現一些思路方面的錯誤。
2.調試時思路要跟著程序轉。說白了就是要集中精力于正在調試的語句段和正在變化的變量上。
3.模塊化能有效縮短調試時間。其實模塊化不僅僅能有效的縮短開發時間,更能有效的縮短調試時間。首先,模塊化使得我們夠方便的使用step over命令,而減少斷點的設置。其次,程序出錯的地方往往就是在幾個關鍵點上,使用了模塊化設計思路以后,我們就可以集中精力在那些關鍵點上,省去了不必要的單步調試。當然,能面向對象就更好了。
4.多用斷點和run to cursor命令,減少單步調試的使用——那樣太費時間了。
5.調試不要破壞程序的原本結構。許多人喜歡在調試過程中輸出一些中間變量的值,認為這樣做比較直觀——當然,這也是一個很重要的手段,尤其在反復遞歸和循環嵌套的時候。不過我不推薦在非遞歸的程序中使用這種方法。這種方法最大的問題就是破壞了程序原本的結構和邏輯,除非你在原本程序設計時就想到這一點。這點在程序很長或者思路很復雜時尤為明顯。否則為什么所有的編譯模式的程序語言都不約而同的提供了watch這一手段?解釋模式的程序語言?那是沒有辦法……
6.遇到bug時不要急于修改程序。也就是不要亂打補丁。道理和第5條一樣,要先仔細分析,然后在決定是否要修改——總之,要冷靜。尤其是刪除程序段的時候,我建議先把認為不需要的程序段先注釋掉。等到調試成功后再刪不遲。
里我們把“編譯器”和“IDE(集成開發環境)”當做一個概念,不再加以區分。
C語言的集成開發環境有很多種,尤其是 Windows 下,多如牛毛,初學者往往不知道該如何選擇,本節我們就針對 Windows、Linux 和 Mac OS 三大平臺進行講解。
Windows 下的 IDE 多如牛毛,常見的有以下幾種。
Windows 下首先推薦大家使用微軟開發的 Visual Studio(簡稱 VS),它是 Windows 下的標準 IDE,實際開發中大家也都在使用。
為了適應最新的 Windows 操作系統,微軟每隔一段時間(一般是一兩年)就會對 VS 進行升級。VS 的不同版本以發布年份命名,例如 VS2010 是微軟于 2010 年發布的,VS2017 是微軟于 2017 年發布的。
不過 VS 有點龐大,安裝包有 2~3G,下載不方便,而且會安裝很多暫時用不到的工具,安裝時間在半個小時左右。
對于初學者,我推薦使用 VS2015。最好不用使用 VS2017,有點坑初學者。
如果你討厭 VS 的復雜性,那么可以使用 Dev C++。Dev C++ 是一款免費開源的 C/C++ IDE,內嵌GCC編譯器(Linux GCC 編譯器的 Windows 移植版),是 NOI、NOIP 等比賽的指定工具。Dev C++ 的優點是體積小(只有幾十兆)、安裝卸載方便、學習成本低,缺點是調試功能弱。
NOI 是National Olympiad in Informatics的縮寫,譯為“全國青少年信息學奧林匹克競賽”;NOIP 是National Olympiad in informatics in Provinces的縮寫,譯為“全國青少年信息學奧林匹克聯賽”。NOI、NOIP 都是奧林匹克競賽的一種,參加者多為高中生,獲獎者將被保送到名牌大學或者得到高考加分資格。
Visual C++ 6.0(簡稱VC 6.0)是微軟開發的一款經典的 IDE,很多高校都以 VC 6.0 為教學工具來講解C和C++。但VC 6.0是1998年的產品,很古老了,在 Win7、Win8、Win10 下會有各種各樣的兼容性問題,甚至根本不能運行,所以不推薦使用。
VC 6.0 早就該扔進垃圾桶了,可是依然有很多大學把它作為教學工具,并且選用的教材也以 VC 6.0 為基礎來講解C語言和 C++,可見教學體制的極端落后,課程體系的更新遠遠跟不上技術的進步。
Code::Blocks 是一款開源、跨平臺、免費的 C/C++ IDE,它和 Dev C++ 非常類似,小巧靈活,易于安裝和卸載,不過它的界面要比 Dev C++ 復雜一些,不如 Dev C++ 來得清爽。
Turbo C 是一款古老的、DOS 年代的C語言開發工具,程序員只能使用鍵盤來操作 Turbo C,不能使用鼠標,所以非常不方便。但是 Turbo C 集成了一套圖形庫,可以在控制臺程序中畫圖,看起來非常炫酷,所以至今仍然有人在使用。
C-Free 是一款國產的 Windows 下的C/C++ IDE,最新版本是 5.0,整個軟件才 14M,非常輕巧,安裝也簡單,界面也比 Dev C++ 漂亮。C-Free 的缺點也是調試功能弱。可惜的是,C-Free 已經多年不更新了,組件都老了,只能在 XP、Win7 下運行,在 Win8、Win10 下可能會存在兼容性問題。
點擊「鏈接」即可觀看