4

CodeWarrior for Palm OSを使用して作成された68Kアプリケーションがある場合、IDEの[セグメント]タブでファイルを手動で移動せずに、個々の機能をさまざまなセグメントに割り当てるにはどうすればよいですか?

4

2 に答える 2

3

CW 68Kリンカーは、プロジェクトに追加された.segファイルを使用してこれをサポートします。

フォーマットは

{ "<segment_name>" [= <hex>] "<name1>" ... "<namen>" }
"<segname1>" = "<segname2>"

中括弧で区切られた領域は、セグメント名を指定し、そのセグメントに割り当てられるすべての関数/記号をリストします。オプションの16進値(先頭に0xがない)はセグメント属性を設定するために使用されるため、PalmOSではあまり役に立ちません。もう1つの表記は、セグメントの名前を変更するために使用されます。これは、「#pragmasegment」呼び出しでビルドされた静的ライブラリからコードをプルする場合に便利です。

このフォーマットはCodeWarriorのマニュアルには記載されていませんが、Metrowerksにいたとき、68Kリンカーのソースコードをチェックして、それが機能することを確認しました。これは、MacOS68KリンカーとPalmOS68Kリンカーの両方で機能するはずです。これらは、セグメンテーションを処理するコードを共有しているためです。

于 2008-09-18T05:31:29.053 に答える
3

私は使用します#pragma segment。CodeWarrior のセグメント タブよりもはるかに簡単です。

#pragma segment Foo
some code

#pragma segment Bar
some code

これで、コードが自動的に 2 つの異なるセグメントに配置されます。

于 2008-10-23T19:56:42.103 に答える