とあるぼっちの生存報告

はてなから卒業します. さようなら.

MacBook(Late 2007) HDD換装

mac

こんな時ですが、MacBookのHDD*1容量120GBがいっぱいになっていたので、640GBのHDD(WD6400BPVT)に換装しました。 適当な外付けHDDケースに換装用のHDDをつっこんで、USB経由でMacBookと接続。 意訳すると「初期化するかい?」と問われるので、大人しく初期化…

命日

まだ三年。もう三年。

(Free)GLUTのWindow Procedureをこっそり入れかえる

GLUTはライブラリ内でWindowのあれこれを隠蔽しているため、そのままだとメニューを入れたり、別途コントロールを突っ込んだりすることがそのままでは難しいです。 ですが、あらゆるWindow Handleを奪いとる事ができるWindowsでは、EnumWindowsというAPIを使…

WinMain函数をエントリーにしない方法

各プラットフォームで互換性のあるプログラムを書こうとする場合にどうしても邪魔になるのが、WinMain函数。他のプラットフォームは大概main函数をエントリーとして使っているのに、Windowsだけ、WinMain函数を使わなければなりません。 これがとても鬱陶し…

バージョン毎のヘッダーファイル

http://www.opengl.org/registry/

続・Alignment

この前の続き。隣のプログラマが原因と解決策を突き止めた。 これは、"__declspec"というキーワードの仕様と、STLのコンテナ類のテンプレートパラメータをインスタンス化する時に起きるVCコンパイラの仕様が悲しいほど残念である事から生じる問題であった模…

Alignment

structやclassにアラインメントを適用したい場合に色々ハマった。というかハマっている。 gccの場合、structやclassにアラインメントを適用したい場合は以下のようになる。 struct __attribute__((aligned(16))) THoge { char FHoge[8]; }; struct TFoo { ch…

爆弾付けちゃダメなんだからねっ

さてさてさて。 先日、"Visual C++"ではBOM付きのUTF-8を使わないとWARNINGが出るという話をしましたが、このBOM付きUTF-8で記述されたソースコードをMinGW(というかgcc)でビルドしようとするとどうなるでしょーか。 $ make main.cpp:1: error: stray '\239'…

爆弾付けないとダメなんだからねっ

"Visual C++"(以下VC++)と"WTL"でWindowsのプログラミングを組んでいた時の事。VC++はビルド+デバッグ用でコーディングはEmacsを使っているのだけれども、EmacsでC++のコードを書く時のデフォルトの文字コードがUTF-8。 さて、この状態でビルドすると、緩く…

MinGWにおけるWINVER

MinGWを使ってプログラムを構築中に、getaddrinfo()が見つからないというエラーにでくわした。なんやかんやで色々調べた結果、windef.hに定義されているWINVERマクロの数値が0x400になっているのが原因である事が判明。ちなみにOSはWindowsXP SP3。0x400なわ…

gccに定義されているマクロ一覧表示

$ echo | gcc -v -E -dM -

Go

どうしてこんなに検索仕辛い言語名にしてしまいますか、Google先生は(google:Go)。 自宅のMacbookにはインストールだけして、 > Hello 世界! とだけ出力させて満足したのですが、会社で使用しているマシンはWindows。というわけで、Goのコンパイラ及びリンカ…

MinGW gccでDLLをbuild

GUIツールを作る時、自分はDelphiを使った方が圧倒的に効率がいいので常にそうしているのだけれど、保守する事を考えた時に自分以外の人が使えない言語っていうのもまずいかなと思い始めたわけだが、かといってDelphiを使わないようにすると圧倒的に効率が下…

とどまるナイト

なんか色々あったけど、面倒だから箇条書き。idコール連打なのは僕がついったったーじゃないからです!! 入ったらそうそうid:trashkidsがいて、いきなり「ますふじだ!」とか言われる。あ、あの、恥ずかしいです……。 id:sillatさんに、初対面じゃないかのよう…

コメントに書く内容について

IDコールされるとビクッとしてしまいます。警察官を見かけると、何も悪い事していないのにソワソワしてしまうみたいに。 それはともかく。 コードコメントに書くべきは「意図」の記事に対してブクマコメントしたら、スターでコメント貰ったり、idコールされ…

MacBook(Late 2007)のLeopardをSnowLeopardにアップデート

OSX

会社の人にMacCollection Akiba であった深夜販売に並んで買ってきてもらいました。 ありがとうございます。ほんとうにありがとうございます。 というわけで、会社で朝からインストール祭。 特に画像などはないけど。 SnowLeopardにして動かなかったappは、C…

ビットフィールドのレコードサイズ

Delphiでビットフィールドのレコードサイズが想定と異なっていて困る。 type THoge = record FHoge1: 0..(1 shl 24)-1; FHoge2: 0..(1 shl 8)-1; end;として、 Writeln(Format('Size: %d\n', SizeOf(THoge)));とする。どうなるかというと、 ==> Size: 8ああ…

Windows用Gnu Emacs私家版ビルド*1

CVSリポジトリから落としてきます。 $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co -r emacs-unicode-2 emacs この辺りを参考に GnuWin32 Packages から、いくつか、ファイルをダウンロードしてきて入れます。 jpeg-6b-4.exe libp…

Objective-C + WindowsAPIを使ってCreateWindow

クラス化は適当。MFApplication.h #import <windows.h> #import <objc/Object.h> @interface MFApplication: Object { HINSTANCE HInstance; } -(HINSTANCE)HInstance; -(void)setHInstance:(HINSTANCE)AHInstance; -(void)run; @end MFApplication.m #import "MFApplication.h" #impor</objc/object.h></windows.h>…