C#矩陣(Matrix)運算函式庫 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 1月 18, 2010 有時工作上會需要將Matlab的程式碼轉譯成C#版本。在Matlab中,大部份都會使用到矩陣運算的功能。而這部份也要能轉譯成C#才行。目前在CodeProject中有人提供一組不錯的C#矩陣運算函式庫,有需要的人可以去下載來使用看看。 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 留言
DOS Batch指令檔中如何記錄log資訊 3月 08, 2011 最近在用DOS的batch指令檔來批次編譯專案。執行程式時如果有錯誤大部份都會傳回非零值的錯誤代碼,要取用這個錯誤代碼的話,在DOS Batch中可以用如下的指令: IF %ERRORLEVEL% 1 GOTO xxxx 或是 IF %ERRORLEVEL% NEQ 0 GOTO xxxx 使用上述的方式就可以來控制執行的流程。只是除了控制執行的流程外,我們還希望能將一些資訊記錄下來。在DOS的Batch指令檔中,可以用ECHO > file.txt的方式來記錄資訊。 例如: @ECHO Build Failed > log.txt 上面的指令中,@ECHO是說不要將這段顯示在DOS命令列視窗中。並且將訊息"Build Failed"寫入到log.txt檔案中。不過,其中使用的是「>」,它的作用是會覆寫檔案的內容。如果想要將文字附加到log檔中的話,可以改用「>>」。 閱讀完整內容
用捷徑方式執行需帶入命令列參數的Windows Form程式 12月 07, 2011 假設我們有個需要在執行時帶入一些命令列參數的Windows Form程式的話,以前我的做法就是會另外寫一個批次檔來呼叫這個Windows Form程式,並寫好所需的命令列參數。例如: <Test.bat> TITME Test Test.exe –debug 這種方式雖然可以正常地執行,但就是會再多一個命令列視窗出現,只有在那個它所執行的Windows Form程式被關閉時,這個執行批次檔而產生的命令列視窗才會一併被關閉。 於是我就想說是不是有其它方式可以達到同樣的目的,但又可以不用出現那個多餘的命令列視窗。 後來想到說在捷徑中好像可以指定命令列參數的樣子,或許用捷徑是可行的。於是就開始測試。 首先先在你要執行的程式上按右鍵,並選擇「建立捷徑」。此時檔案總管會幫你建一份捷徑出來。 在新建的捷徑上按右鍵,選「內容」來進行修改。在「目標」中加上你需要的命令列參數。 按下「套用」後,直接執行這個捷徑就可以達到我們一開始的目的了,在執行Windows Form程式時帶入所需的命令列參數。 閱讀完整內容
使用regular expression來match中括號(square bracket) 8月 23, 2014 沒想到在C#中也算玩過一陣子的正規表示式(Regular Expression),來到了Linux C/C++中竟然時常碰壁。 現在只是想要找一個用中括號([])包起來的字串,竟然沒有想的那麼簡單。 假設我要找的目標為 [1234],在以前C#的時候的寫法會是\[(?<num>(\d*)\]。來到了Linux C/C++時,也是用原本的概念組了一串這樣的比對格式: \[([0-9]*\] 沒想到一使用std::regex_match()後就掛了。在編譯(或說指定)這個比對格式給std::regex時就出現Exception了。 這個問題查了一些google上的文章,大家都說遇到正規表示中有的字元的話就是前面加上跳脫字元\就可以啦。沒想到結果會是失敗。 後來看到有人指示要比對中括號的話,需要將它放在中括號中 !! 就是用這樣的方式: [\[]([0-9]*)[\]] 指定要比對於中括號中給定的字元,也就是中括號的左右兩邊的符號。 最後終於是正常編譯過關,且可以正常比對成功了。 而且要注意的是,當將上面這段比對格式放到C/C++的程式碼中,針對\不用再重覆一次,也就是不要寫成 "[\\[]([0-9]*)[\\]]" 這樣比對的結果也是失敗的喔。 閱讀完整內容
留言
張貼留言