プログラミング

"()" のない関数名とコードの生成

"()" のない関数名とコードの生成 http://msdn.microsoft.com/ja-jp/library/094z0768%28VS.80%29.aspx #include <stdio.h> void funcn(); int main() { funcn; /* missing function call operator; call will fail. Use funcn() */ } void funcn() { printf("\nHello</stdio.h>…

malloc/freeでSIGSEGVが発生する。

以前あったことをメモっておく。Solaris SPARCでCプログラミングをしてたとき、malloc関数(free関数)でセグメント違反が発生することがあった。 スタックトレースは下のような感じで。(アドレスは適当) #0 0xfed4247c in realfree() from /usr/lib/libc.so.1…

C++の継承は難しい…

ダイアモンド継承をしないのは当たり前として、Java/C#のノリで「インターフェースとそれを部分実装する抽象クラスを継承する」ってのをやろうとしてはまってしまった。やろうとしたコード class Interface { public: virtual void Foo() = 0; virtual void …

FixedBufferAttribute

ドキュメントエクスプローラを眺めてたらFixedBufferAttributeという見慣れない属性があった。 MarshalAs( UnmanagedType.ByValArray)]となにが違うんだ?とおもってちょっと調べた。 自分で属性をつけてコンパイルしようとしたら怒られてしまうので unsafe…

JavaのArrayListライクな動的配列

ArrayListのような動的配列をCで実装する。 エラー処理はすごい手抜き。std::vectorを使いたい・・・。

Windows(VC++)でunistd.h

Unix開発をVCでしろ、ソースにはVCの跡を残すな、って無茶な要求だけどしょうがない。 UnixメインのソースをVCでコンパイルする際に問題になることの一つがunistd.h。 gethostnameとかgetpidを使いたい場合に必要になってくる。 とりあえず動くように適当に…

C#でsprintfを使用する

C#だとFormatクラス使って話ですが、「既存資産をそのまま使え」と強要されるとCスタイルから変換しなければならなくなる。 それじゃめんどくさいのでそのまま使ってやりましょう。paramsキーワードで処理できれば綺麗なんだけどなー

プロパティダイアログを表示する

#undef _UNICODE #undef UNICODE #define _MBCS #include <windows.h> #include <stdio.h> int main(int argc,char * argv[]) { SHELLEXECUTEINFO sei; ZeroMemory ( &sei, sizeof(SHELLEXECUTEINFO) ); sei.hwnd = GetShellWindow(); sei.cbSize = sizeof(SHELLEXECUTEINFO); se</stdio.h></windows.h>…

Solarisのドキュメント

doc.sun.comでSolarisのドキュメントがPDFで見られるが、ちまちましたUIなのでとても参照しにくい。 Googleの助けを借りればとても楽。Google - PDF

C#(.Net Framework)からGecko(GRE)を使う

monoのライブラリ gecko-sharp。使用するにはGtk#がインストールされている必要がある。 ActiveXコントロール mozctl.dll(mozctlx.dll) Mozilla Suite / XULRunnerに付属。本体をインストールしないでも使用できるが、ファイルサイズが大きい gecko-sdk …柔…

VS2005ImageLibrary.zipのライセンス

Visual Studio 2005についてくるVS2005ImageLibraryのアーカイブ内に ライセンスに関するドキュメントがないので、再配布がちょっと不安になったのでライセンスについて調べた。とりあえずMSサイト内を検索してもそれらしいドキュメントは無さそう。%Program…

Reflector.netとShockwaveFlashObject

いままでReflector.netってファイル保存って出来ないと思っていたけど、http://www.aisto.com/Incoming/Reflector/AddIns/に載っているReflector.FileDisassemblerとか Reflector.FileGeneratorを使えばできるのか。Genericsとか使ってるとぼろぼろだけど。 …

ソート可能なListView

SharpDevelopから転載 private void listView_ColumnClick(object sender, ColumnClickEventArgs e) { ColumnSorter sorter = (ColumnSorter)this.listView.ListViewItemSorter; sorter.CurrentColumn = e.Column; this.listView.Sort(); }って感じで使える …

LCMapStringの呼び出し

全角・半角の変換をしようとしてWin32ApiのLCMapStringをp/invokeで呼び出そうとしたけど、ちょっとハマった。 LPSTRで渡す箇所をStringBuilderでやろうとしたらbufferにコピーされなかった。 char[]にすると動作した。なんでだろ? [DllImport("kernel32.dl…

BandObjectLibのVS2005版

オリジナル版はVCが必要だったので、使わないようにして2005向けに修正 (これでVisual C# 2005 Expressでも使えるはず)BandObjectLib.vs2005.zip

APPRの複数ファイル対応フロントエンド

Advanced PDF Password Recovery Proは大変有用なソフトウェアであるが、単一ファイルしか対象に出来ない。 (複数ファイルを使用する場合はユーザが個々に指定する必要がある) 一応コマンドラインオプションを備えているので「C#で簡易フロントエンドでも作…

USBメモリなどのリムーバルデバイスの取り外し

メモ SetupDiGetClassDevs()を使ってHDEVINFOを生成 SetupDiEnumDeviceInfo()を使ってデバイスを列挙 CM_Get_DevNode_Status()[cfgmgr32.h]を使ってDN_DISABLEABLE[cfg.h]とDN_REMOVABLEが両方立っている物を調べる SetupDiGetDeviceRegistryProperty()で目…

IDictionary(Hashtable,Dictionary)はシリアライズできない

http://iseebi.half-done.net/?TechDoc%2FXmlSerializerMSDNのXmlSerializerドキュメントには注意として書いてない。無駄な試行錯誤をしてしまった。

Thumbs.dbを操作する。

Thumbs.dbにはJPGストリームが格納されているようだが、parse方法がよくわからない。 調べてみると「Compound File Binary File」というファイルフォーマットらしい。 まだタメしてないが、URLメモ MSのサイト上の情報(使用するにはライセンスを受ける必要が…

C#版getopt

ちょっと探したら C# Getopt class C# Command-Line Option Parsing Library Mono.GetOptions と、いくつか種類があった。 Mono.GetOptionsはMonoのソースパッケージに含まれていなかった(2006-07-29)のでSVNリポジトリからチェックアウトする必要がある。 …

VS2005のデバッグができない

Visual Studio 2005を新マシンに入れて、既存プロジェクトを移してデバッグしようとしたら「プロジェクトを実行しようとしているときにエラーが発生しました:デバッグを開始できません。結合ハンドルが無効です。」とかいうわけわからないエラーが出た。 調…

関数とプロシージャ

違いを聞かれて困ったのでメモ。関数 引数(パラメータ)の指定による処理結果を返却するブロックを指す。 VBではFunction ([引数]...))と表記する。プロシージャ 「手続き」と訳され、処理を一纏まりにしたものを指す。 VBではSub ([引数]...)と表記する。狭…

JAX-WS2.0(EA3)に含まれるjavax.annotation.Generatedの誤り

jaxb2.0(ea3)のxjcを「-mark-generated」引数付きでjavaソースファイルを作ると、 @Generated(value = "com.sun.tools.xjc.Driver", date = "2006-02-11T05:09:01+09:00", comment = "JAXB RI v2.0-hudson-3037-ea3") というようなアノテーションが作成され…

従うべきでないプログラミングのアドバイス10個

従うべきでないプログラミングのアドバイス10個 原文を読まないと判断できないけど、英語力が・・・orz

ソース(スニペット)検索

検索とは違うけど、コードスニペットを共有しましょう、というプロジェクト http://www.bytemycode.com/

デバッグパターン

http://monoki.fc2web.com/diary/txt/computer/debugpatern.html

Visual Studio のインストール状況

SharpDevelop1.1 -> C#(.NET FW 1.1用) VS2005 -> C++,C#,MSDN,VB.NET (64bitライブラリは一応入れる) #SharpDevelop2の出来を試してないため保留。1.1を入れるにしろ2を入れるにしろ.Net FW SDK1.1は入れる

ソース検索

gonzuiを使用したソース検索 http://cpansearch.bulknews.net/ http://raa.ruby-lang.org/gonzui/

俺的プログラミング言語マスター基準

まぁどの言語もこの基準に達してないわけで。 コンテナ(Web,Application)への理解 リフレクション(=動的プログラミング)の方法 ソケット通信の方法 実用的なマルチスレッドプログラミング ライブラリ構成およびビルド手順の理解 何をすれば遅くなるか?→その…

Visual Studio 2005評価版

.the spokeでもらえるVisual Studio 2005にはMSDNがついてこないので評価版から入手するしかなさそう。 まだ申し込み開始されていないのでアンテナにURLを追加。 Visual Studio 2005評価版の申し込みURL