アカウント名:
パスワード:
コメントされた方の多くはCとC++とを高級言語として比較されているようですが、高級アセンブラの代替としてCを使っていらっしゃる方はもういないのでしょうか?例えばC++における構造体(=クラス)のコンパイル後の記憶イメージの配置がビット単位である程度保障できるようなオプションを持つコンパイラってあるんですか?
# 他のオブジェクトがRTTIを利用したりすると何も変更がなくても影響を受けそうで。
「ビット単位で」と修飾されるとビットフィールドも含むことになると思いますが、ビットフィールドほど自由にならない機能もないですね。MSBから埋めるかLSBから埋めるか、環境によって違うし、ビット単位での配置が重要な場合はまず使いません。バイト単位ならある程度コントロールできますけど。
そんなわけで、ハードウエアデバイスのレジスター定義にビットフィールドを使っているソースを見ると、これを書いたやつは何を考えていたんだと問い詰めたくなりますね。
ビット演算ができない自称 C プログラマもいたりするので苦肉の策だったのでは...と思いたい。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日々是ハック也 -- あるハードコアバイナリアン
高級アセンブラの代替としてのC (スコア:1)
コメントされた方の多くはCとC++とを高級言語として比較されているようですが、
高級アセンブラの代替としてCを使っていらっしゃる方はもういないのでしょうか?
例えばC++における構造体(=クラス)のコンパイル後の記憶イメージの配置が
ビット単位である程度保障できるようなオプションを持つコンパイラってあるんですか?
# 他のオブジェクトがRTTIを利用したりすると何も変更がなくても影響を受けそうで。
Re:高級アセンブラの代替としてのC (スコア:2)
「ビット単位で」と修飾されるとビットフィールドも含むことになると思いますが、ビットフィールドほど自由にならない機能もないですね。MSBから埋めるかLSBから埋めるか、環境によって違うし、ビット単位での配置が重要な場合はまず使いません。バイト単位ならある程度コントロールできますけど。
そんなわけで、ハードウエアデバイスのレジスター定義にビットフィールドを使っているソースを見ると、これを書いたやつは何を考えていたんだと問い詰めたくなりますね。
Re: (スコア:0)
ビット演算ができない自称 C プログラマもいたりするので苦肉の策だったのでは...
と思いたい。