TOMOYO Linux ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
673:LiveCDの中の人 07/12/29 03:31:21 i64ao+JI >>672 結論から言うと、このwarningは無害です。 警告を消すには、Makefileの35行目のコメントアウトを解除して、 37行目をコメントアウトしてください。 Vineで出ずにEtch/Lennyで出る、というのは、 Vineのgccが、この警告を表示するオプションno-pointer-signが まだ実装されていないバージョンのためです。 TOMOYOの内部では文字列をunsigned charポインタで表現していますが、 strlenなどの関数が受け取り方がただのcharポインタであることが原因です。 674:login:Penguin 07/12/29 09:11:51 S76xHoyg >>673 文字コードに依存した処理(文字コードに子息演算とか)をしなければ、charで事足りると思うのですが、 敢えてucharな理由はなんですか? 675:login:Penguin 07/12/29 15:07:37 hCsJ400H >>674 TOMOYO ではエンコーディングは考慮しません。 全ての文字列を ASCII printable な文字だけで構成します。 そのため、 ASCII printable ではない範囲のバイト ( 0x01 〜 0x20 および 0x7F 〜 0xFF )については \ooo という8進数で表記します。 この4バイトで表記される8進数データと1バイトで表記されるバイナリデータとを 相互変換する際にビット演算が必要になるので、毎度 signed か unsigned かを 考慮するのが面倒という理由から、最初から unsigned で扱うようにしています。 また、 ASCII printable でないことを検査する際に 1 以上 32 以下または 127 以上 255 以下と表記する方が -128 以上 -1 以下または 1 以上 32 以下または 127 と表記するよりも 理解しやすいと考えています。 技術的には必要に応じて unsigned char にキャストすれば可能です。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5388日前に更新/339 KB
担当:undef