ARM C++ ライブラリコードの配置例

以下の例は、スキャッタロードが行われる C++ プログラムです。

#include <iostream>

using namespace std;

extern "C" int foo ()
{
  cout << "Hello" << endl;
  return 1;
}

C++ ライブラリコードを配置するには、以下のようにスキャッタファイルを定義します。

LR 0x0
{
    ER1 0x0
    {
        *armlib*(+RO)
    }

    ER2 +0
    {
        *cpplib*(+RO)
        *(.init_array)   ; セクション .init_array は明示的に配置する必要があります。
                         ; そうしないと、2 つの領域で共有され、
                         ; リンカは配置先を決定できなくなります。
    }

    ER3 +0
    {
        *(+RO)
    }

    ER4 +0
    {
        *(+RW,+ZI)
    }
}

install_directory\lib\armlib という名前は、armlib ディレクトリにある ARM C ライブラリファイルを示すために使用されています。

install_directory\lib\cpplib という名前は、cpplib ディレクトリにある ARM C++ ライブラリファイルを示すために使用されています。

Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0474GJ
Non-ConfidentialID051612