(toppers-users 2469) Re: malloc()の利用方法
倉本 雅史
mkuramoto_1967 @ yahoo.co.jp
2006年 7月 11日 (火) 19:39:31 JST
倉本と申します。
似たような境遇になったことがあるので、便乗します。
私の場合、mallocでなく、printfを使うためでしたが。
--- Takeshi FUTAKUCHI <takeshi.futakuchi @ gmail.com> wrote:
> 高木様、
>
> >
> 例えば、自作のsbrk関数を作って、それがnewlibのsbrkの代
わりに
> > リンクされるようにすればよいということです。
確かに。
オブジェクトをリンクするようにすればいいんですね。
私の場合は、リンクエラーが怖くて、違うアプローチで解決し
たのですが...
> そんなことが出来るとは知りませんでした。
> リンカスクリプトなど、リンク時にそのような指定をしてや
ればいいんですね。
> 調べてみます。
TOPPERSでは、デフォルトでnewlibを作ってもprintfは動作す
るようになっていますよね。(違いましたっけ?)
ですが、私の場合、OSレスでnewlibを使おうとしていたので期
待した通りになりませんでした。
そんな時、Interfaceのバックナンバー('05.01号)でnewlibの
記事を目にしました。
それによると、newlibをビルドする際、TARGET_CFLAGSに
-DREENTRANT_SYSCALLS_PROVIDED
をセットしなさい、というものでした。
その通りにしてnewlibをビルドし、実行モジュールを作成しよ
うとすると、低レベル関数がリンクエラーとなったので、自分
でそれを書き、最終的にはOSレスでprintfさせることが出来る
ようになりました。
以上