タグ

ブックマーク / libc.blog47.fc2.com (2)

  • 標準Cライブラリの実装 stdlib.h

    これまでは、どちらかというと他のライブラリへの依存性が少ないシンプルなものを扱ってきました。今回からは、今までに実装した関数等を使わなければ実現できない機能を多く含む<stdlib.h>ヘッダの実装に入ります。 まずはヘッダの記述からです。<stdlib.h>ヘッダでは、いくつかの型やマクロの定義を行う必要があります。そのうち、size_t、wchar_t、およびNULLについては、<stddef.h>ヘッダと同じですので割愛します。また、div_t、ldiv_t、およびlldiv_t型についてはdiv関数の回に、EXIT_SUCCESSおよびEXIT_FAILUREマクロについてはexit関数の回に、RAND_MAXマクロについてはrand関数の回に、それぞれ取り上げます。 というわけで、最後に残ったのはMB_CUR_MAXマクロです。これは、現在のロケールにおける多バイト文字の最大バイ

    tyru
    tyru 2009/10/28
    キャストすることによって「定数値であるべき変数」に対して代入を抑制
  • 標準Cライブラリの実装

    しばらく忙しくて放置していますが、また春頃になれば、それなりに注力できる可能性があります。もっとも、そのころになれば、JSPカーネルではなく、ASPカーネルに対応することを考えるような気もしますが...。 さて、このたび、このブログで公開しているソースコードのライセンスに関して質問を受けました。このブログは、あくまでも実装レポートで、私が実装中に考えたことや、判断に迷ったことなどを交えながら、記録を残して行けたらと思って始めたものです。現在公開されている内容も、ざっと動作は見ていますが、いろいろバグも指摘されていますし、私自身も過去の記事のバグを見つけています。 そんな感じで、まだ現状では非常に完成度は低いと考えてください。それでもよければ、あくまでも自己責任の下で、自由に利用していただいてかまいません。ただし、(合法・非合法にかかわらず)反社会的または反人道的な用途への利用だけはご遠慮く

  • 1