ユーザ作成memcpy() を強制使用

テクニカル・ノート 17095

アーキテクチャ:

ARM

コンポーネント:

compiler

更新日:

2018/08/07 9:25

はじめに

本テクニカルノートでは、アプリケーションに対して独自のデータコピー関数を強制的に使用させる方法について説明します。

解説

ランタイムライブラリで用意されているmemcpy()、__aeabi_memcpy()、__aeabi_memcpy4()、__aeabi_memcpy8()関数の代わりに、独自に定義したmemcpy()関数をアプリケーションに使わせたいとします。

memcpy()をオーバーライドする方法として、2通りの推奨方法があります。

  • 独自に定義した関数名を使用する(例: my_memcpy())
    ただし、ライブラリには、__aeabi_memcpy()、__aeabi_memcpy4()、__aeabi_memcpy8()の呼び出しが含まれていますが、これらはオーバーライドされません。
  • コンパイラとライブラリで使用されているAEABIの実装関数、すなわち、__aeabi_memcpy()、__aeabi_memcpy4()、and __aeabi_memcpy8()をオーバーライドする

まとめ

独自のmemcpy()を強制的に使用させる方法は他にもあると思いますが、上記の2つの方法をお勧めします。

全ての製品名は、それぞれの所有者の商標または登録商標です。

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。