【发布时间】:2008-09-18 05:29:25
【问题描述】:
如果您有一个使用 CodeWarrior for Palm OS 编写的 68K 应用程序,您如何将各个功能分配给不同的段,而无需在 IDE 的段选项卡中手动移动文件?
【问题讨论】:
标签: palm-os 68000 garnet-os codewarrior
如果您有一个使用 CodeWarrior for Palm OS 编写的 68K 应用程序,您如何将各个功能分配给不同的段,而无需在 IDE 的段选项卡中手动移动文件?
【问题讨论】:
标签: palm-os 68000 garnet-os codewarrior
我使用#pragma segment。比 CodeWarrior 的分段选项卡要容易得多。
#pragma segment Foo
some code
#pragma segment Bar
some code
现在您的代码会自动放入两个不同的段。
【讨论】:
CW 68K 链接器使用添加到您的项目中的 .seg 文件来支持这一点。
格式是
{ "<segment_name>" [= <hex>] "<name1>" ... "<namen>" }
"<segname1>" = "<segname2>"
大括号分隔区域指定段名称并列出将分配给该段的所有函数/符号。可选的十六进制值(没有前导 0x)用于设置段属性,因此在 Palm OS 上不会太有用。另一种表示法用于重命名段。这对于从使用“#pragma segment”调用构建的静态库中提取代码很有用。
CodeWarrior 手册中没有提到这种格式,但是当我在 Metrowerks 时,我检查了 68K 链接器源代码并验证它可以工作。这应该适用于 Mac OS 68K 链接器和 Palm OS 68K 链接器,因为它们共享处理分段的代码。
【讨论】: