C/C++

gsl_vector_viewの使用上の注意

アクセスはgsl_vector_getで行った方が吉. int r=3; int c=4; gsl_matrix *m = gsl_matrix_alloc(r,c); for(i = 0; i < r; i++) for(j = 0; j < c; j++) gsl_matrix_set(m, i, j, i*c+j); for(i = 0; i < r; i++){ for(j = 0; j < c; j++) std::cout << gsl…

ポインタ演算

int a[5] = {1,2,3,4,5}; int *ptr = a; for(int i = 0 ; i printf("%d", *ptr++); 出力結果 12345

GSL 1.15をVisual Studio 2010でコンパイル

http://gladman.plushost.co.uk/oldsite/computing/gnu_scientific_library.php の通りにやればできる. 開発環境 Windows XP SP3 (32bits) Visual Studio 2010 SP1

waveOutのサンプリング周波数

private static extern uint WaveOutOpen(IntPtr hWnd, uint Fs) で,Fsは1000はやめたほうがいい.とりあえず3000でOK

Visual Studio 2005でのwin32 DLLの作り方.

テンプレのwin32プロジェクト-DLL

FFTWの使い方

C/C++ ライブラリをDL.http://www.fftw.org/install/windows.html libファイルをコンパイル. VSでヘッダ"fftw.h"をインクルード 追加のライブラリディレクトリ,ヘッダファイルディレクトリ,ライブラリをリンク.

Visual C++ ライブラリのランタイム

MFCを使ったCSnoopy.dllが他のPCで動かなかった.調べたら, Microsoft Visual C++ 2005 再頒布可能パッケージ (x86) は、Visual C++ で開発されたアプリケーションを Visual C++ 2005 がインストールされていないコンピュータ上で実行するために必要な、Vis…

バイナリファイル読み込み(read binary file)

//before char tmp; info145 = gcnew array<unsigned char>(size); for(unsigned int i=0;i<size;i++){ fin.get(tmp); info145[i]=static_cast<unsigned char>(tmp); } //after unsigned char *data; data = new unsigned char[size]; fin.read((char*)data,sizeof(unsigned char)*size);fin.get(tmp)で1byteずつ読んでたら,相当時間かかっ…</size;i++){></unsigned>