C言語
forked-daapdで文字化けしてるから、それを直したい。 とりあえず文字化けの原因は潰したから今度試す。 パッチの前にちょっと解説。 なぜ文字化けるのか ID3v2が対応している文字コードは、 ID3v2.2〜ID3v2.3の場合、ISO-8859-1とUTF-16だけ。 ID3v2.4の場…
バイナリデータから、4バイトのハッシュを生成する。 MD5やSHA1に比べてアルゴリズムが単純で速い。 データベースに文字列を入れる時に、その文字列のCRC32ハッシュをindexにすると検索が速い! って記事を見ていつかやってみようと思ってるけど、まだ実践投…
JavaのArrayListを参考にしつつ、2種類作った。 mallocしたメモリの先頭アドレスの配列を保持するパターン voidポインタの配列。 配列の個数+1回mallocする。 charとか小さいものだと無駄がありそう。(特に64bitOSの場合) 配列の数が足らなくなったら、voi…
調べ方が悪いのかそんな事やろうとする人がいないのか知らないけど、見つからなかったから自分で作った。 文字コードはUTF-8限定。 mallocとreallocを使ってメモリを動的に確保した。 「文字列の配列」を作るのかと思ってたけど、動的に生成するなら「(文字…
VC++2005で。 多分これでイケる。 C言語に関しても解らないけど、VisualStudioの使い方も解らない。 libjingleの使い方については、おいおい調べる。 P2PでNAT越えしたいんだよおおお。 Google先生に感謝。 朝だ…、もう1日位休みが欲しい気分。 Windows Plat…
ついにGUIつけた。 純粋なC言語じゃGUIをつけられない事に気づいてC++で書き直し。 で、コンソールアプリケーションからフォームアプリケーションに。 とりあえず、1台のPC上で2つ実行して、送信用と受信用で、やり取り出来た。 LAN内でならイケるはず…! 原…
TCPのソケット通信。 一人で送信と受信の両方をやってる。 相手固定のP2Pのような。 とりあえず、LAN内で自由につなぎあえるものを作りたい。 そろそろGUIつけてみたい。 プログラム起動 MIDI INデバイスを開く。 コールバック関数設定。 ↓ MIDI OUTデバイス…
INPUTデバイスとOUTPUTデバイスを開いて、INPUTデバイスから入力があったらそのままOUTPUTデバイスに流す。 EDIROL PC-50の場合、NOTE OFF は使わずにベロシティ0のNOTE ONを使うらしい。 PC-50とTHRUプログラム間はランニングステータスを使って1バイト削減…
何が間違ってるのか解らないけど、単純にout.szPnameをprintfしようとしても最初の1文字しか出なかった。 とりあえず、音出た。 今までMIDIデバイスを扱える言語を使った事なかったから、これはすごい。 #pragma comment(lib, "winmm.lib") #include <stdio.h> #inclu</stdio.h>…
Microsoft Visual C++ 2005の「Win32コンソールアプリケーション」でやってみた。 winsock2.h辺りでよく解らんエラーが。 1>------ ビルド開始: プロジェクト: http_request, 構成: Debug Win32 ------ 1>リンクしています... 1>http_request.obj : error LN…
動くけど、C言語の流儀は無視した作りになってしまった…。 parseURLではsubstringっぽい処理が多い。 C言語では区切りたい所に\0を突っ込んで終わりを示すのが普通らしい。 関数がポインタを返すのもよくないのかも知れない。 ソースは大体ここから。 C 言語…