#topicpath

[[LLPML]]-1.1で、試験的にWindows CE(x86)に対応させてみました。 ⇒ [[関連日記>http://gir-lab.spaces.live.com/blog/cns!63A4C32EDA5CF2F7!874.entry]]

- PEとしての構造は同じなので、ヘッダのサブシステムを変更しただけです。
- x86にしか対応していないため、実質的にエミュレータでしか動かせません。
- ARMへの対応は考えていますが、LLPMLを自分自身で書き直した後となります。

** サンプルコード [#r69a79df]

 <?xml version="1.0" encoding="utf-8" ?>
 <llpml version="1.1" subsystem="WINCE_GUI">
 
 <title>Windows CE</title>
 
 <?llp
 extern "coredll.dll" __widecharset
   MessageBox(hWnd, lpText, lpCation, uType);
 
 MessageBox(null, "こんにちは、世界!", "だいあろぐ", 0);
 ?>
 
 </llpml>

#ref(PocketPC.png,nolink)

** ツール [#z9ac63e2]

インポートライブラリからシンボル名と序数を調べるツール。
#ref(implib.cpp)
- ライセンス: パブリックドメイン
- ターゲット: 汎用(標準C++)

*** 使用例 [#p72f3c8f]

インポートライブラリを引数で渡します。序数が登録されていないインポートライブラリには対応していないためエラーになります。

 % implib coredll.lib
 1       SystemStarted
 2       InitializeCriticalSection
 3       DeleteCriticalSection
 4       EnterCriticalSection
 5       LeaveCriticalSection
 (略)

PEのインポートライブラリの形式はarに序数サポートを付け足したものです。UNIXのarで固めた静的ライブラリも調べることが出来ます。DLLではないため序数は表示されません。

 % echo "void test1(){} void test2(){}" > test.c
 % gcc -c test.c
 % ar cvru libtest.a test.o
 r - test.o
 % implib libtest.a
 [1/2] test.o/_test1
 [2/2] test.o/_test2

** コメント [#w2d97f33]

#comment(below)


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS