在 Visual Studio 2017 使用 CUDA 9.2

雖然 Heresy 個人算是滿早期開始接觸 NVIDIA CUDA 的,但是其實已經沒有在碰 NVIDIA CUDA 程式好一段時間了…不過,由於在開發的專案裡面,還是有一些地方有用到別人寫的 CUDA 程式,所以在維護的時候,還是需要去考慮他。

而根據從以前到現在的經驗,NVIDIA 針對 Visual Studio 的支援,一向不是做得很快、很好;往往 Visual Studio 已經出了新版本了,CUDA 才終於支援上一個版本…

某方面來說,這應該也是由於 NVIDIA CUDA 的重點是高速計算、大部分這個領域的用戶,其實都是把程式放在 Linux 叢集上跑的關係吧?但是,這對於一般 Windows 的開發者來說,其實還滿麻煩的…

最近,Heresy 在把手邊的專案移植到 Visual Studio 2017 上,CUDA 又出現問題了… orz

閱讀更多»

廣告

邀請別人幫忙共同 debug:Visual Studio Live Share

「Visual Studio Live Share」這個東西,是微軟在去年十一月發表的一項給 Visual Studio 2017Visual Studio Code 用的外掛套件。

他主要的用處,就是當碰到自己不知道該怎麼解的程式問題的時候,可以邀請別人一起進來找問題!

他的形式就是有點像是 Google 文件的共筆模式,可以多人一起編輯、同時也看的到對方的滑鼠游標在哪裡、做了那些修改;而雖然要偵錯的程式還是在本地端執行,但是遠端近來協助的人,還是可以透過監看變數、設定中斷點等方法,來幫忙找問題~

當時在發表時(網頁),就讓人覺得是個相當有趣的功能~而對於團隊合作的程式開發來說,某方面來說應該也是有一定的實用性的。

不過,去年底發表時,這東西還只是內部測試,一般人沒辦法玩,所以當時也就看看就算了。但是,今年的 MS Build 2018,微軟則是把這東西當作開放預覽版,放出來讓所有使用者測試了!所以,有興趣的話,就可以玩看看了~

閱讀更多»

一些比較少人知道的 VisualStudio 偵錯功能

這篇主要是針對微軟 VisualStudio Team 部落格的《7 lesser known hacks for debugging in Visual Studio》和《7 More Lesser-known Debugging Tactics for Visual Studio》這兩篇文章,做簡單的整理。

在 Heresy 來看,微軟的 Visual Studio 算是目前數一數二的程式開發環境。不過另一方面,它的功能也相當地多,多到一般人應該有超過七成的功能都沒有用過。而在這些從來沒用過、甚至從來不知道的功能裡面,其實有些是相當實用、相當方便的!

微軟在這邊就是列出了 7 + 7 個罕為人知的 debug 技巧,來分享給開發者;不過裡面有的內容是針對 C# 這類 managed code 的,有的則是針對原生 C++ 的,並非全部都可以使用。

而這邊 Heresy 則是稍微再重新整理一些 C++ 可以用、個人也覺得比較有用的出來了~

另外,這邊所列的功能,大多是在 Visual Studio 2015 就已經有的,不過還是有部分功能是 Visual Studio 2017 才有的;如果是 2017 才有的,這邊也會特別強調。

閱讀更多»

微軟正式推出 Visual Studio 2017

微軟又針對旗下的程式開發環境、Visual Studio 推出新版本囉~這次的版本是 Visual Studio 2017,目前也已經可以下載安裝了~它的官方網站是:

https://www.visualstudio.com/zh-hant/

而新功能的介紹,則可以參考「新功能」的頁面(連結)、或是直接看 release note 的細節(連結)。

目前的 Visual Studio 有三個版本,包括了免費的社群版(Community、官網)、一般人用的專業版(Professional、官網),以及最高階的企業版(Enterprise、官網)。

閱讀更多»

在 Windows 寫 Linux 程式:Visual Studio + Windows Subsystem for Linux

微軟的 VIsual Studio 在 Heresy 來看,算是 Windows 上最好的 C++ 開發環境,但是缺點就是沒有 Linux 版了。不過,微軟在這幾年正積極地往跨平台、開放原始碼的方向走,所以這部分的狀況倒也有些改變了~

在 2015 年,微軟也已經發表了跨平台的開發環境、Visual Studio Code,雖然還是沒有開放原始碼,但是也算是聊勝於無了。而同時,Visual Studio 2015 也加入了跨平台的程式開發功能!除了 Windows 外,也支援了 Android、iOS 以及 Linux~(不過當時 Heresy 想測試 Linux 的偵錯一直沒有成功就是了…)

這篇,則是 Heresy 看到微軟的 Visual C++ Team Blog 的《Targeting the Windows Subsystem for Linux from Visual Studio》後,才想起可以嘗試讓 Visual Studio 搭配 Windows 10 的 Bash on Ubuntu on Windows(Windows Subsystem for Linux、以下簡稱 WSL)來在單台 Windows PC 上、進行 Linux 上的 C++ 程式開發、偵錯

這篇的基本需求,主要是:

閱讀更多»

Visual C++ 2015 Update 2 編譯出來的程式包含了遙測的功能?

Heresy 是看到《VS2015: How to Remove Windows Telemetry Function Call from your C/C++ Binaries》這篇文章才知道這件事了…

基本上,就是 sammiesdog 在 Reddit 上說(連結),他發現他用 Visual Studio 2015 Update 2 來編譯一個最簡單的 C++ 的程式的時候,編譯器所產生的二進為檔(binary),裡面赫然發現他會去呼叫「telemetry_main_invoke_trigger」和「telemetry_main_return_trigger」!

就算你的 C++ 程式碼只寫了:

int main() {
return 0; }

編譯出來的執行檔裡面,還是可以發現「telemetry」的蹤跡…

閱讀更多»

微軟 2016 程式開發相關消息

這篇算是稍微整理一下,微軟在 Build 2016 大會上(官網),一些關於程式開發的新消息。

在 Heresy 個人來看,這幾年微軟一個很大的方向,應該就是「跨平台」吧…包含前幾天的《Windows 10 將可以跑 Linux 的 Bash shell 和 Ubuntu 的程式了》,以及更早的 Visual Studio Code 在內,微軟現在似乎越來越主動走向 Linux 社群了…

而這篇的重點,則包含了新的 Visual Studio "15" 預覽版,Visual Studio 2015 Update 2,以及 Visual C++ for Linux Development、C/C++ extension for Visual Studio Code;而在 .Net 那頭,更是喊出了「開放、跨平台、免費」的口號(參考)。

閱讀更多»

微軟推出 VisualStudio 2015 以及 VisualStudio 2013 Update 5

在去年年底微軟推出 Visual Studi 2015 預覽版後,在今年四月微軟又針對 VisualStudio 2015 持續改良、推出了 Visual Studio 2015 RC,而現在、正式版終於推出了!而目前也已經可以在微軟網站下載了,其網址是:

https://www.visualstudio.com/downloads/download-visual-studio-vs

目前微軟的網站提供了可以免費使用的社群版(Visual Studio Community)、以及企業版(Visual Studio Enterprise)的試用版可供下載;另外也有提供跨平台、用來進行網頁開發的 VisualStudio Code 可以下載。

閱讀更多»

微軟發表跨平台的 VisualStudio Code、以及 Visual Studio 2015 RC

微軟在去年底,曾經針對其自家的軟體開發環境,發表了一個相當大的策略性變化的新聞。包括了提供有限度免費的 VisualStudio Community 2013,以及開放了一定程度的 .Net Core 的原始碼;而在下一代的 VisualStudio 2015 Preview(預覽版)更是加入了跨平台開開的能力,讓開發者可以在 Windows 上透過 VisualStudio 2015 來開發 Android 或 iOS 的 App~
(請參考《微軟大消息!免費的全功能版 Visual Studio Community 2013、以及 Visual Studi 2015 預覽版發布!》)

而在今年的微軟 Build 大會上,微軟又繼續發表了一些讓人驚訝的消息了~包括了跨平台(Windows、Linux、MacOS)的開發環境「VisualStudio Code」、以及可以針對 Linux 程式進行偵錯的「Visual Studio 2015 RC」~官方的消息,可以參考《BUILD 2015 News: Visual Studio Code, Visual Studio 2015 RC, Team Foundation Server 2015 RC, Visual Studio 2013 Update 5》或《Introducing Visual Studio Code, Visual Studio 2015 RC, Application Insights Public Preview and .NET Core Preview for Linux and Mac》。

閱讀更多»

解決 Boost 在 VC14 CTP6 無法建置的問題

恩…這是一個困擾 Heresy 很久的問題了…Heresy 之前為了嘗鮮,已經把 VisualStudio 安裝到最新的 VisualStudio 2015 預覽版了。而本來基本上都相安無事,但是後來在更新到 CTP6(官方介紹)之後,問題就來了…

但是應該是因為 VisualStudio 2015 CTP6 在 VC 的部分(以下稱「VC14 CTP6」),引進了新的「Universal CRT」(官方介紹)的關係,結果 Heresy 的 Boost C++ Libraries 就這樣無法建置成功了… orz

遇到的錯誤,基本上會像是:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\crtdefs.h(10):
fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory

閱讀更多»