So-net無料ブログ作成
検索選択
プログラミング ブログトップ
前の20件 | -

ニューラルネットワークのサンプルプログラムをC++に移植 [プログラミング]

「ニューラルネットワークと深層学習」というサイトがあるのですが、ここで公開されているサンプルプログラムをC++に(勝手に)移植してみました。
(元のプログラムはPython)

⇒ 続きはWEBで


タグ:C++

プログレスダイアログの利用 [プログラミング]

Androidで、ファイルのコピーをする処理が必要になりました。
プログレスダイアログ(ProgressDialog)には、コピーの進捗を表示します。

で、こんなコードを書いたんですよ。

⇒ 続きはWEBで


タグ:Android

ファイル選択ダイアログのフリーズ対策 [プログラミング]

ファイル選択ダイアログがフリーズすることがあります。

⇒ 続きはWEBで


タグ:MFC VisualC++

CUDAで離散ウェーブレット変換 [プログラミング]

CUDAで離散ウェーブレット変換を行って見ましょう。

離散ウェーブレット変換には、一番簡単な、Haar wavelet を使います。

⇒ 続きはWEBで


タグ:Cuda

CUDA用メモリクラス(素体) [プログラミング]

CUDAのプログラムは、思い切りシンプルにすると、こんな感じになります。

const int N = 256;

float* h_A = (float*)malloc(sizeof(float)*N);
float* d_A;
cudaMalloc((void**)&d_A, sizeof(float)*N);

for (int i = 0; i < N; i++)
    h_A[i] = i;

cudaMemcpy(d_A, h_A, sizeof(float)*N, cudaMemcpyHostToDevice);

func<<<1, N>>>(d_A);

cudaMemcpy(h_A, d_A, sizeof(float)*N, cudaMemcpyDeviceToHost);

free(h_A);
cudaFree(d_A);
  1. メモリを確保する
  2. GPUにデータを送る
  3. 計算する
  4. GPUからデータを受け取る
  5. メモリを開放する

ここで忘れてはいけないのが、最後にきちんとメモリを開放することでしょう。

開放し忘れても、プログラムを終了させたら、ちゃんと開放される………のかな?

⇒ 続きはWEBで


タグ:Cuda

ポップアップするカレンダーコントロール [プログラミング]

何かのソフトで、日付を選択するコンボボックスって見たことないですか?
コンボボックスの[▼]ボタンを押すと、カレンダーが表示されるヤツ。

そんなのを作ってみました。
Visual C++ で 要MFC です。

⇒ 続きはWEBで


タグ:VisualC++

SQLiteの超薄型ラッパ [プログラミング]

SQLiteをC++から使いやすくするためのラッパクラスを作ってみました。

⇒ 続きはWEBで


タグ:C++ SQLite

数値を範囲で表すクラス [プログラミング]

ワープロソフトの印刷画面で見たことありませんか?こんな風に数値を指定しているのを。

1,5-7,12

こんな風に数値を指定できるクラスを作ってみました。

⇒ 続きはWEBで


タグ:C++

数値のイテレータ化 [プログラミング]

vector0 から 9 までの数値を格納しようとする場合、次の様なコードを書きます。

std::vector<int> array;
for (int i = 0; i < 10; i++)
    array.push_back(i);

ところで、値が既に配列に入っている場合は、こんなにシンプルに書くことが出来ます。

int buff[10] = { (略) };

std::vector<int> array(buff, buff + 10);

配列を使わなくても、同じ様にシンプルに書けないものかな……。

⇒ 続きはWEBで


タグ:C++

CppUnitのOutputterを作ってみた [プログラミング]

C++用の単体テストフレームワークと言えば、CppUnitが有名…というか、定番です。

で、そのCppUnitは、テストの結果をどういう形式で出力するかを Outputter というクラスで指定します。

CppUnitには、テキスト形式(TextOutputter)、コンパイラ形式(CompilerOutputter)、XML形式(XmlOutputter)が用意されています。
ちなみに、コンパイラ形式とは、コンパイラが出力するエラーメッセージと同じ形式です。
タグジャンプ機能が使えて便利です。

// テキスト形式で標準出力に出力する

CppUnit::TextUi::TestRunner runner;
runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());

CppUnit::Outputter* outputter =
     new CppUnit::TextOutputter(&runner.result(), std::cout);

runner.setOutputter(outputter);

runner.run();
// コンパイラ形式で標準出力に出力する

CppUnit::TextUi::TestRunner runner;
runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());

CppUnit::Outputter* outputter =
     CppUnit::CompilerOutputter::defaultOutputter(&runner.result(), std::cout);

runner.setOutputter(outputter);

runner.run();
// XMLファイルに出力する
CppUnit::TextUi::TestRunner runner;
runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());

const char* filename = "test_result.xml";

std::ofstream out(filename);
CppUnit::Outputter* outputter =
     new CppUnit::XmlOutputter(&runner.result(), out);

runner.setOutputter(outputter);

runner.run();

⇒ 続きはWEBで


タグ:C++ CppUnit

VB.NET用単体テストフレームワーク(簡易版) [プログラミング]

前回の内容で薄々分かっていたかもしれませんが、Visual Basic .NET用の単体テストフレームワークっぽいものを作ってみました。

.NET 用の単体テストフレームワークは NUnit が有名で、VB.NET でも使えるらしいので、NUnit を使うことをお勧めしておきます。

⇒ 続きはWEBで


タグ:.net VB.NET

呼び出し元の情報を取得 [プログラミング]

Visual Basic .NETでの話ですが、
関数の中で、その関数を呼び出している箇所のファイル名と行番号を取得する必要が出てきました。

Public Sub baseFunc()
    targetFunc()    ' (1)
End Sub

Public Sub targetFunc()
    ' (2)
End Sub

(2)の箇所で、(1)についての情報が欲しいのです。
引数とか使わずに。

⇒ 続きはWEBで


タグ:.net VB.NET

VB.NETでDB操作(追加と削除篇) [プログラミング]

前々々回、せっかくVisual Basic .NET を使って、Oracleのデータベースへアクセスする方法を調べたので、もう少しメモ。

⇒ 続きはWEBで


タグ:.net DB VB.NET

VB.NETでDB操作(SQLの組み立て篇) [プログラミング]

前々回、せっかくVisual Basic .NET を使って、Oracleのデータベースへアクセスする方法を調べたので、もう少しメモ。

⇒ 続きはWEBで


タグ:.net DB VB.NET

VB.NETでDB操作(データ取得篇) [プログラミング]

前回、せっかくVisual Basic .NET を使って、Oracleのデータベースへアクセスする方法を調べたので、もう少しメモ。

⇒ 続きはWEBで


タグ:.net DB Oracle VB.NET

MSXMLと名前空間の指定があるXML [プログラミング]

Windows環境で、XMLを操作するプログラムを作ろうと思った場合、MSXMLを使うのが(何もインストールする必要が無いという理由で)簡単です。

一方、XMLには名前空間(namespace)という機能があります。

そこで、名前空間の指定があるXMLデータをMSXMLで操作することにします。

⇒ 続きはWEBで


タグ:XML VisualC++

ファイルのアクセス権を変更する [プログラミング]

Windowsでは、ファイル毎にアクセス権を細かく設定できますが、それをプログラム上から変更したいと思います。
変更というか、権限の追加ですが、権限の解除も大体同じ感じで出来るんじゃないかな。

⇒ 続きはWEBで


タグ:Windows VisualC++

MFCでHTTPS通信 [プログラミング]

今度は、MFCを使ってHTTPS通信してみます。

とはいえ、CInternetSessionクラスのOpenURL()メソッドを使うのなら、HTTPでもHTTPSでも全く同じです。

const CString urlStr = _T("https://~~");
try {
    CInternetSession session;

    std::auto_ptr<CStdioFile> file(session.OpenURL(urlStr);
    if (file.get() == NULL)
        return;    // 失敗

    CString str;
    while (file->ReadString(str)) {
        // @@@ 取得したデータを、どうにかする @@@
    }

    file->Close();

} catch (CInternetException* e) {
    e->Delete();
}

⇒ 続きはWEBで


タグ:VisualC++

MFCでHTTP通信 [プログラミング]

Visual C++でも、(MFCを使えば)HTTP通信をするプログラムを簡単に作ることが出来ます。
(ここ数回、出だしが一緒だ)

⇒ 続きはWEBで


タグ:VisualC++

BASIC認証でHTTP通信 [プログラミング]

Javaでは、HTTP通信をするプログラムを簡単に作ることが出来ます。
(サンプルは前回を参照)

⇒ 続きはWEBで


タグ:Java
前の20件 | - プログラミング ブログトップ