メインコンテンツ

target.LanguageImplementation クラス

R2026b

名前空間: target

C および C++ コンパイラの実装の詳細を提供

説明

target.LanguageImplementation クラスを使用して、ターゲット ハードウェアの C および C++ コンパイラに関する実装の詳細を提供します。たとえば、バイト順などです。

target.LanguageImplementation オブジェクトの作成には関数 target.create を使用します。

プロパティ

すべて展開する

ハードウェアでアトミックに読み込んで保存できる最大浮動小数点データ型のビット単位のサイズ

属性:

GetAccess
public
SetAccess
public

データ型: int32

ハードウェアでアトミックに読み込んで保存できる最大整数のビット単位のサイズ

属性:

GetAccess
public
SetAccess
public

データ型: int32

ターゲット ハードウェアで実装されたバイト順。

属性:

GetAccess
public
SetAccess
public

以下の表に示すプロパティを介して C および C++ データ型定義を提供します。

プロパティ名目的

Char

char の target.DataTypes.Char オブジェクト。

Short

short の target.DataTypes.Short オブジェクト。

Int

int の target.DataTypes.Int オブジェクト。

Long

long の target.DataTypes.Long オブジェクト。

LongLong

longlong の target.DataTypes.LongLong オブジェクト。

Half

ターゲット ハードウェアで使用する半精度データ型の target.DataTypes.Half オブジェクト。

Float

float の target.DataTypes.Float オブジェクト。

Double

double の target.DataTypes.Double オブジェクト。

Pointer

pointer の target.DataTypes.Pointer オブジェクト。

SizeT

size_t の target.DataTypes.SizeT オブジェクト。

PtrDiffT

ptrdiff_t の target.DataTypes.PtrDiffT オブジェクト。

NonStandardDataTypes

C 言語標準で指定されないターゲット ハードウェアのデータ型の target.FloatingPointDataType オブジェクト配列。

属性:

GetAccess
public
SetAccess
private

Name プロパティの値。

属性:

GetAccess
public
SetAccess
private

ターゲット言語実装の名前

属性:

GetAccess
public
SetAccess
public

ターゲット ハードウェアのネイティブなワード サイズ。

属性:

GetAccess
public
SetAccess
public

データ型: int32

例

すべて折りたたむ

この例では、新しいハードウェア デバイスを登録する方法を示します。

新しいハードウェア デバイス用の target.Processor オブジェクトを作成します。

myProc = target.create("Processor",Name="MyProcessor", ...
                        Manufacturer="MyManufacturer");

言語実装の詳細を指定するための target.LanguageImplementation オブジェクトを作成します。

myLanguageImplementation = target.create("LanguageImplementation", ...
                                          Name="MyProcessorImplementation");

言語実装の詳細を指定します。

myLanguageImplementation.Endianess = target.Endianess.Little;

myLanguageImplementation.AtomicIntegerSize = 64;
myLanguageImplementation.AtomicFloatSize = 64;
myLanguageImplementation.WordSize = 64;

myLanguageImplementation.DataTypes.Char.Size = 8;
myLanguageImplementation.DataTypes.Short.Size = 16;
myLanguageImplementation.DataTypes.Int.Size = 32;
myLanguageImplementation.DataTypes.Long.Size = 64;
myLanguageImplementation.DataTypes.LongLong.IsSupported = true;
myLanguageImplementation.DataTypes.LongLong.Size = 64;
myLanguageImplementation.DataTypes.Float.Size = 32;
myLanguageImplementation.DataTypes.Double.Size = 64;

myLanguageImplementation.DataTypes.Pointer.Size = 32;

myLanguageImplementation.DataTypes.SizeT.Size = 64;
myLanguageImplementation.DataTypes.PtrDiffT.Size = 64;

言語実装をハードウェア デバイスと関連付けます。

myProc.LanguageImplementations = myLanguageImplementation;

target.Processor オブジェクトを内部データベースに追加します。

objectsAdded = target.add(myProc);
target.add summary:

    Objects added to internal database for current MATLAB session:
        target.LanguageImplementation    "MyProcessorImplementation"
        target.Processor                 "MyManufacturer-MyProcessor"
  • MATLAB® Coder™ を使用している場合: [ハードウェア] タブに新しいデバイスが表示されます。また、coder.hardware関数を使用して、このデバイスの coder.Hardware オブジェクトを作成できるようにもなりました。

  • Simulink® Coder™ を使用している場合: [ハードウェア実行] ペインで、[デバイス ベンダー] と [デバイス タイプ] をそれぞれ MyManufacturer と MyProcessor に設定できるようになりました。

オブジェクトを内部データベースから削除するには、以下を入力します。

target.remove(objectsAdded)
target.remove summary:

    Objects removed from internal database:
        target.LanguageImplementation    "MyProcessorImplementation"
        target.Processor                 "MyManufacturer-MyProcessor"

新しいハードウェア実行で必要な値のほとんどが既存のハードウェア実行に含まれている場合は、既存の実行のコピーを作成して変更することで、新しい実行を迅速に作成することができます。

新しいハードウェア デバイス用の target.Processor オブジェクトを作成します。

myProc = target.create("Processor",Name="MyProcessor", ...
                        Manufacturer="MyManufacturer");

既存の言語実装をコピーする target.LanguageImplementation オブジェクトを作成します。

myCopiedImplementation = target.create("LanguageImplementation", ...
                                      Name="MyCopiedImplementation", ...
                                      Copy="Atmel-AVR");

必要な言語実装の詳細を指定します。たとえば、バイト順などです。

myCopiedImplementation.Endianess = target.Endianess.Big;

言語実装をハードウェア デバイスと関連付けます。

myProc.LanguageImplementations = myCopiedImplementation;

target.Processor オブジェクトを内部データベースに追加します。

objectsAdded = target.add(myProc);
target.add summary:

    Objects added to internal database for current MATLAB session:
        target.LanguageImplementation    "MyCopiedImplementation"
        target.Processor                 "MyManufacturer-MyProcessor"

オブジェクトを内部データベースから削除するには、以下を入力します。

target.remove(objectsAdded)
target.remove summary:

    Objects removed from internal database:
        target.LanguageImplementation    "MyCopiedImplementation"
        target.Processor                 "MyManufacturer-MyProcessor"

ハードウェア デバイスで既存の実行と同じハードウェア実行が必要な場合、既存の実行を再利用できます。

新しいハードウェア デバイス用の target.Processor オブジェクトを作成します。

myProc = target.create( "Processor",Name="MyProcessor", ...
                        Manufacturer="MyManufacturer");

デバイス ベンダーとタイプについての識別子を使用することで、既存の実行を取得します。

existingImplementation = target.get("LanguageImplementation", ...
                                  "ARM Compatible-ARM Cortex");

言語実装をハードウェア デバイスと関連付けます。

myProc.LanguageImplementations = existingImplementation;

target.Processor オブジェクトを内部データベースに追加します。

objectsAdded = target.add(myProc);
target.add summary:

    Objects added to internal database for current MATLAB session:
        target.Processor                 "MyManufacturer-MyProcessor"
    1 object not added because they already exist.

オブジェクトを内部データベースから削除するには、以下を入力します。

target.remove(objectsAdded);
target.remove summary:

    Objects removed from internal database:
        target.Processor    "MyManufacturer-MyProcessor"

バージョン履歴

R2019a で導入