2010-01-01から1年間の記事一覧
「ARCFOUR Algorithm」を C++ に移植したので紹介します. 以下に実装する関数 encrypt_rc4/decrypt_rc4 を用いればバイト列(std::vector)を暗号化/復号化できます. RC4 については「RC4」をご覧下さい. それでは以下に私の実装を示します.rc4.hpp #ifnd…
C++ で base64 にエンコード/デコードするプログラムを作成したので紹介します.以下に実装する関数 encode_base64/decode_base64 を用いればバイト列(std::vector),プレインテキスト(std::string) 間でデータを変換できます. base64 については「Base64」…
C++ で文字コードを変換するプログラムを作成したので紹介します.以下に実装する関数 encode を用いれば std::string, std::wstring 間で文字コードを変換できます. 文字コードの変換には代表的なライブラリとして libiconv と ICU とありますが,主にライ…
libstdc++6 がインストールされている環境(Ubuntu 10.04 等)には Oracle 11g がインストールできない. 回避方法は以下のリンク先の通り. Installing Oracle 11gR2 Enterprise Edition on Ubuntu 10.04 (Lucid Lynx)要約すると,下記のように libstdc++5 …
今回は Windows の Service からプログラムを起動する方法を紹介します.Vista 以降ではサービスからユーザセッションにプログラムを実行するには CreateProcessWithLogonW を使用しますが,ここでは指定したプロセスのトークンを複製して CreateProcessAsUs…
今回は Windows の GetLastError() などが返すシステムエラーコードに対応するエラー文字列を返す関数を作成します. エラー文字列は例えば C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include などにある WinError.h というファイルに書かれているので…
表題の通り,yamy では(というより窓使いの憂鬱の時代から)eclipse で C-k(kill-line) が機能しません. これは emacsedit.mayu の keyseq $EmacsEdit/kill-line = &EmacsEditKillLineFunc S-End C-X \ &Sync &EmacsEditKillLinePred((Delete), (Return Le…
VC++ 2010 からはツール→オプション→プロジェクトおよびソリューション→VC++ ディレクトリ(GUI)でのグローバルなパスの設定が非推奨となりました. 代わりに,VC2010 では次のようにしてグローバルなパスを設定をします(VC++ ディレクトリが、オプションダ…
OpenCV 2.0 では CMake を使って自分でビルドしますが,デフォルトではランタイムライブラリにダイナミックリンク(/MD, MDd)するようになっています. これをスタティックリンクに変更するには以下のようにします. CMake の設定で CMAKE_CXX_FLAGS_DEBUG と…
boost.vector や boost.matrix, OpenCV の CvMat, IplImage, Vec, Mat は非常に便利ですが,一つ残念な事があります. それは Visual C++ の“自動変数”や“ローカル”,“ウォッチ”ウィンドウ等にベクトルや行列の要素ではなく,そのクラスのメンバ変数が表示さ…
今回は GSL と呼ばれるライブラリを Windows の VC++ 環境で使えるようにする方法について説明していこうと思います. 環境としては Windows Vista, XP, Visual C++ 2008, 2005 を想定しています.これ以外の環境では以下で説明する手順ではうまくいかない場…