FreePascal

INVALID_HANDLE_VALUEの値

FreePascalで(JEDI API HEADERの)INVALID_HANDLE_VALUEの値がどうなるのか見てみた。 環境:LinuxMint 12 64bit / FreePascal 2.6.0 コード program aaa; {$MODE OBJFPC} uses JwaWinBase; begin WriteLn(SizeOf(INVALID_HANDLE_VALUE)); WriteLn(SizeOf(I…

MacにFreePascalをインストールしたよ

Mac環境にFreePascalをインストールしてみたメモです。 環境:MacOS 10.7.2 / FreePascal 2.6.0 インストール dmgをダウンロードしてきて、pkgを実行してインストール! ウィザードの最初にある注意点として、Xcodeが必要だから入れておいてねー的なことが書…

LinuxMint上にWindows64bit向けFreePascalクロスコンパイラを動作させる環境を作ったよ その2

LinuxMint上にWindows64bit向けFreePascalクロスコンパイラを動作させる環境を作ったよ - 四角革命前夜の続き。実はもっと簡単に構築できたみたい……! 環境:LinuxMint 12 64bit 下準備 $ mkdir -p $HOME/Binary/ $HOME/Repos/src/ 前回と同じく、生成するバ…

LinuxMint上にWindows64bit向けFreePascalクロスコンパイラを動作させる環境を作ったよ

※LinuxMint上にWindows64bit向けFreePascalクロスコンパイラを動作させる環境を作ったよ その2 - 四角革命前夜の方が楽かも! 大変だった…… 5〜6時間くらいかかった…… 環境:LinuxMint12 64bit 下準備 $ mkdir -p $HOME/Binary $HOME/Repos/src ~/Binary以下…

FreePascalとGDB

FreePascalで-gh -glを使ってコンパイルした実行ファイルをgdbでデバッグしようとしてたんですが、関数が見つからないとかなんとか言われてブレークポイントがかけられなくて困ってた時のメモ。 (gdb) b [TAB] タブキーを押すとbashとかみたく補完してくれる…

UTF-8のソースコードに文字列定数を書いたらそのままUTF-8になったお話

program test; uses Windows; begin WriteLn(lstrlenW('あ')); { 3 } end. と書いたら3が返ってきて、びっくりですよ。 ソースコードがUTF-8だからUTF-8で定数が保存されたのでしょうか。 program test; uses Windows; begin WriteLn(lstrlenW(#$3042)); { 1…

fptestの使い方

久しぶりにPascalが触りたくなったのでFreePascalでアプリを書こうかと。 といっても昔作ったやつをまた作り直してるってだけなんですが…… Delphi向けのユニットテストライブラリとしてDUnitなんてのがありましたが、 更新も止まっているみたいで、DUnit2も…

FreePascalでマルチスレッド

Javaでマルチスレッドの後なのでFreePascalでマルチスレッドを書いてみようかなーと。 環境:WindowsXP SP3 / FreePascal 2.4.0 { ThreadEx.pas } unit ThreadEx; {$MODE OBJFPC} interface uses Windows, Classes; type PThreadEx = ^TThreadEx; TThreadEx …