前回の記事から随分と経ったが、
OpenCLと組み合わせて処理させるため、
"必要に迫られて" (←ここ重要)
プログラムの整理と、バグの修正をしたので、アップしておく。
MD5 | ff88eead0158e012f0ea8942b2585ea0 | 12.0 MB | 画像処理
http://ux.getuploader.com/ADMIS/download/43/Image_Processing_Ver03.00_00.zip
しかし、windowsプログラムの書き方が下手くそなせいで、
アクセス違反を回避するためにフラグを立てまくっているのは改善の余地がある。
……どうしたらいいんだ……。
以下、改善案のメモ
2014年5月31日土曜日
WinINet(InternetReadFile)によるファイル(HTMLも含む)のダウンロード
InternetReadFileを使ったファイルのダウンロード方法について、
あまり良いサンプルが無かったので上げておく。
http://nienie.com/~masapico/api_HttpSendRequest.html
を参考にした。
そのうち全体として構成したソースコードを上げたいのだが、
まだサンプルを書いていないので、
取りあえずダウンロード部分の関数だけ。
int Web_Downloader(
char *Server_Host_Address,//ホストアドレス
char *FileLocation, //ファイルの場所
char *Referer , //リファラ
char *SaveDirectory , //保存先のディレクトリ
char *SaveName //保存する名前
);
例えば、
あまり良いサンプルが無かったので上げておく。
http://nienie.com/~masapico/api_HttpSendRequest.html
を参考にした。
そのうち全体として構成したソースコードを上げたいのだが、
まだサンプルを書いていないので、
取りあえずダウンロード部分の関数だけ。
int Web_Downloader(
char *Server_Host_Address,//ホストアドレス
char *FileLocation, //ファイルの場所
char *Referer , //リファラ
char *SaveDirectory , //保存先のディレクトリ
char *SaveName //保存する名前
);
例えば、
で紹介されているフリー素材の
をデスクトップにダウンロードしようとした場合、
Web_Downloader(
"www.hmix.net",
"music/c/c7.mp3",
"www.hmix.net" ,
"C:\\Users\\<<ユーザー名>>\\Desktop" , //.exeと同じディレクトリなら「"./"」
"星寂の散歩道.mp3" //拡張子も必要なので注意
);
のようにする事でダウンロードして保存される。
以下ソースコード
"www.hmix.net",
"music/c/c7.mp3",
"www.hmix.net" ,
"C:\\Users\\<<ユーザー名>>\\Desktop" , //.exeと同じディレクトリなら「"./"」
"星寂の散歩道.mp3" //拡張子も必要なので注意
);
のようにする事でダウンロードして保存される。
以下ソースコード
2014年5月27日火曜日
メモ
Windowsプログラムでウィンドウのメッセージを処理する場合、
WindowProcedureにグローバル変数を使わずに値を受け渡すには、
http://msdn.microsoft.com/ja-jp/library/windows/desktop/ff381400(v=vs.85).aspx
http://wisdom.sakura.ne.jp/system/winapi/win32/win55.html
https://www.google.co.jp/search?q=lpfnWndProc&rlz=1C1SNJC_jaJP478JP478&oq=lpfnWndProc&aqs=chrome..69i57.606j0j1&sourceid=chrome&es_sm=93&ie=UTF-8#q=lpfnWndProc%E3%80%80%E5%A4%89%E6%95%B0%E3%80%80%E5%8F%97%E3%81%91%E6%B8%A1%E3%81%97%E3%80%80%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E5%A4%89%E6%95%B0
いや……普通に
SendMessage()関数
で良くないか?
WindowProcedureにグローバル変数を使わずに値を受け渡すには、
http://msdn.microsoft.com/ja-jp/library/windows/desktop/ff381400(v=vs.85).aspx
http://wisdom.sakura.ne.jp/system/winapi/win32/win55.html
https://www.google.co.jp/search?q=lpfnWndProc&rlz=1C1SNJC_jaJP478JP478&oq=lpfnWndProc&aqs=chrome..69i57.606j0j1&sourceid=chrome&es_sm=93&ie=UTF-8#q=lpfnWndProc%E3%80%80%E5%A4%89%E6%95%B0%E3%80%80%E5%8F%97%E3%81%91%E6%B8%A1%E3%81%97%E3%80%80%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E5%A4%89%E6%95%B0
いや……普通に
SendMessage()関数
で良くないか?
2014年5月23日金曜日
COOKPADで一位のレシピをタダで見る方法。
COOKPAD
――――言わずと知れた料理のレシピ投稿サイト
でも、料金を払わないとランキング順に検索結果を表示してくれない。(´・ω・`)
そこで、Googleの画像検索からランキング上位のレシピを検索する方法を思いついたので実践。
――――言わずと知れた料理のレシピ投稿サイト
でも、料金を払わないとランキング順に検索結果を表示してくれない。(´・ω・`)
そこで、Googleの画像検索からランキング上位のレシピを検索する方法を思いついたので実践。
OpenCLによるGPGPU
自分のブログの中で迷子になりそうなので記事を一覧にしておく。
開発中のメモ書き
GPGPUがやりたい。①(語句の説明。GPGPUのできる種々のプラットフォームの説明。OpenCLだけじゃない。)
http://the-united-front.blogspot.jp/2014/05/gpgpu.html
GPGPUがやりたい。②(開発環境の構築)
http://the-united-front.blogspot.jp/2014/05/gpgpu_15.html
GPGPUがやりたい。③(オフラインコンパイルについて)
http://the-united-front.blogspot.jp/2014/05/gpgpu_21.html
GPGPUがやりたい。④(処理時間の測定……)
http://the-united-front.blogspot.jp/2014/05/gpgpu_23.html
完成したコードの解説
OpenCLによるGPGPU入門① (OpenCLプログラミングの流れ。)
http://the-united-front.blogspot.jp/2014/05/openclgpgpu_23.html
OpenCLによるGPGPU入門①_2 (必要な情報の取得)
http://the-united-front.blogspot.jp/2014/06/openclgpgpu2.html
OpenCLによるGPGPU入門② (①で解説したコードの実装)
http://the-united-front.blogspot.jp/2014/05/openclgpgpu_5965.html
OpenCLによるGPGPU入門④_GPUの計算ミスについて。
http://the-united-front.blogspot.jp/2014/06/openclgpgpugpu.html
開発中のメモ書き
GPGPUがやりたい。①(語句の説明。GPGPUのできる種々のプラットフォームの説明。OpenCLだけじゃない。)
http://the-united-front.blogspot.jp/2014/05/gpgpu.html
GPGPUがやりたい。②(開発環境の構築)
http://the-united-front.blogspot.jp/2014/05/gpgpu_15.html
GPGPUがやりたい。③(オフラインコンパイルについて)
http://the-united-front.blogspot.jp/2014/05/gpgpu_21.html
GPGPUがやりたい。④(処理時間の測定……)
http://the-united-front.blogspot.jp/2014/05/gpgpu_23.html
完成したコードの解説
OpenCLによるGPGPU入門① (OpenCLプログラミングの流れ。)
http://the-united-front.blogspot.jp/2014/05/openclgpgpu_23.html
OpenCLによるGPGPU入門①_2 (必要な情報の取得)
http://the-united-front.blogspot.jp/2014/06/openclgpgpu2.html
OpenCLによるGPGPU入門② (①で解説したコードの実装)
http://the-united-front.blogspot.jp/2014/05/openclgpgpu_5965.html
OpenCLによるGPGPU入門④_GPUの計算ミスについて。
http://the-united-front.blogspot.jp/2014/06/openclgpgpugpu.html
OpenCLによるGPGPU入門②
OpenCLによるGPGPU入門①で説明したソースコードを貼っておく。
以下のコードでは、ファイルの更新状況によって、
オンラインコンパイルとオフラインコンパイルを自動で選択するようにしてある。
その時、ファイルの最終更新日時を取得するのに、Windows依存のAPIを使用している。
また置いてあるプロジェクトはVC++で作成したので、
他のOS(Windows以外のOS)では
改行コードが異なるため注意して欲しい。
以下コードと作成したプロジェクトのダウンロード。
以下のコードでは、ファイルの更新状況によって、
オンラインコンパイルとオフラインコンパイルを自動で選択するようにしてある。
その時、ファイルの最終更新日時を取得するのに、Windows依存のAPIを使用している。
また置いてあるプロジェクトはVC++で作成したので、
他のOS(Windows以外のOS)では
改行コードが異なるため注意して欲しい。
以下コードと作成したプロジェクトのダウンロード。
OpenCLによるGPGPU入門①
OpleCLによるGPGPU 記事一覧
実際のコードは次の項目(OpenCLによるGPGPU入門②)を参照の事。
一応簡単な計算ができたので記事にまとめておく。
本当は本は使わない予定だったのだが、
結局図書館でOpenCLに関する本を借りてきた。
以下その二冊。
OpenCL入門 - マルチコアCPU・GPUのための並列プログラミング
http://www.fixstars.com/ja/news/books/opencl/
サンプルのダウンロードページ
amazon
amazon(改訂版の方)
借りてきたのは改訂前の古い版。
OpenCL入門 GPU&マルチコアCPU 並列プログラミング
http://www.shuwasystem.co.jp/products/7980html/2608.html
サンプルのダウンロードページ
amazon
こちらの本の方が、説明が丁寧で入門者向きだとおもう。
ただし、既に絶版。amazonではまだ買えそう。……どうしよう。
語句の確認
GPGPUに関連する語句の説明(GPGPUがやりたい。①)
GPGPUをする事の出来るプラットフォームはなにもOpenCLだけじゃない……と言う話。
開発環境のインストール
開発環境の整え方および今回参考にした記事(GPGPUがやりたい。②)
私の場合はAMDなので、
AMD-APP-SDK-v2.9-Windows-64.exe
をインストールした。
以下、OpenCL Cプログラミングの流れ。
実際のコードは次の項目(OpenCLによるGPGPU入門②)を参照の事。
一応簡単な計算ができたので記事にまとめておく。
本当は本は使わない予定だったのだが、
結局図書館でOpenCLに関する本を借りてきた。
以下その二冊。
OpenCL入門 - マルチコアCPU・GPUのための並列プログラミング
http://www.fixstars.com/ja/news/books/opencl/
サンプルのダウンロードページ
amazon
amazon(改訂版の方)
借りてきたのは改訂前の古い版。
OpenCL入門 GPU&マルチコアCPU 並列プログラミング
http://www.shuwasystem.co.jp/products/7980html/2608.html
サンプルのダウンロードページ
amazon
こちらの本の方が、説明が丁寧で入門者向きだとおもう。
ただし、既に絶版。amazonではまだ買えそう。……どうしよう。
語句の確認
GPGPUに関連する語句の説明(GPGPUがやりたい。①)
GPGPUをする事の出来るプラットフォームはなにもOpenCLだけじゃない……と言う話。
開発環境のインストール
開発環境の整え方および今回参考にした記事(GPGPUがやりたい。②)
私の場合はAMDなので、
AMD-APP-SDK-v2.9-Windows-64.exe
をインストールした。
以下、OpenCL Cプログラミングの流れ。
2014年5月22日木曜日
2014年5月21日水曜日
GPGPUがやりたい。③
オンラインコンパイルは上手く行った。だがしかし――――
OpenCLのオフラインコンパイルについてメモ。
コンパイル済みバイナリファイルを取り出す方法が分からない。
とりあえず
http://blogs.wankuma.com/episteme/archive/2010/08/16/192365.aspx
を参考にしてみる。
なんか少しやりたい事と違う……?
上記のサイトの参考URLを辿ると、
http://developer.amd.com/knowledge-base/
(以下、ちょっと↑のリンクから必要部分?をコピペ。)
OpenCLのオフラインコンパイルについてメモ。
コンパイル済みバイナリファイルを取り出す方法が分からない。
とりあえず
http://blogs.wankuma.com/episteme/archive/2010/08/16/192365.aspx
を参考にしてみる。
なんか少しやりたい事と違う……?
上記のサイトの参考URLを辿ると、
http://developer.amd.com/knowledge-base/
(以下、ちょっと↑のリンクから必要部分?をコピペ。)
2014年5月17日土曜日
ちょっとメモ
コメントアウトされた状態がデフォルトだと、
ダウンロードするデータ数が減って、サーバーへの負荷が低減されるのか?
例えば、ピザの店で、ピザに乗せる10種類のトッピングを自由に選べるとする。
注文がタブレットを使った形式で、デフォルトの状態だと全ての項目にチェックが
されていたとする。
さて、ここで問題。
トッピングの数が多いのは、デフォルトの状態で全てにチェックされている場合か?
それとも、全てチェックが外れている場合か?
当然答えは前者だと予測できる。
同じ事が、世界各国の臓器提供の状況にも表れている。
自分が死、あるいは脳死状態となった場合に、
自身の臓器を提供するかどうか?
当然、健康保険証などで、デフォルトが「提供する」となっている場合の方が、
圧倒的に臓器が提供される可能性が高い。
人間は、難しい判断や、多少面倒な事に遭遇すると、デフォルトを採用する傾向がある。
――――そしてこれは全てTEDの受け売り。
2014年5月15日木曜日
GPGPUがやりたい。②
現在OpenCLについて勉強中。
とはいっても、いつも通り本を買う訳ではなく、偉大なるネットの師に教えを乞う。
とりあえず
AMD-APP-SDK-v2.9-Windows-64.exe
をインストール。
私の現在役に立っているサイトは、以下のサイトです。
とはいっても、いつも通り本を買う訳ではなく、偉大なるネットの師に教えを乞う。
とりあえず
AMD-APP-SDK-v2.9-Windows-64.exe
をインストール。
私の現在役に立っているサイトは、以下のサイトです。
2014年5月6日火曜日
登録:
投稿 (Atom)