アカウント名:
パスワード:
どういったコードを想定してるの?void main() { const int a; int *b; b = (int*) &a; *b = 1; /*この行が実行されない*/}て感じ?
修正してやったゾ
int main() { extern const int a; int *b; b = (int*) &a; *b = 1; /*この行が実行されない*/}
https://godbolt.org/z/9pJHBg [godbolt.org]
そもそも、プログラマが意図してそのようなコードを書く理由は何。マイコン系でコンパイルをすると、固定値はROM内に持ってかれたりするわけでいきなりスタック上には展開しない。そんなハードウェア条件では処理に失敗しないか。
# プログラムメモリに置かれるコードなんかは、しらんがつか、どんな裏技なんだ。
意図なんてしてなくて、コンパイラがエラーって出すからキャストしたっていうのが多いんじゃ?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日々是ハック也 -- あるハードコアバイナリアン
コンパイルエラーまたは例外の方がありがたい (スコア:1)
どういったコードを想定してるの?
void main() {
const int a;
int *b;
b = (int*) &a;
*b = 1; /*この行が実行されない*/
}
て感じ?
Re: (スコア:2, おもしろおかしい)
修正してやったゾ
int main() {
extern const int a;
int *b;
b = (int*) &a;
*b = 1; /*この行が実行されない*/
}
https://godbolt.org/z/9pJHBg [godbolt.org]
Re:コンパイルエラーまたは例外の方がありがたい (スコア:0)
そもそも、プログラマが意図してそのようなコードを書く理由は何。
マイコン系でコンパイルをすると、固定値はROM内に持ってかれたりするわけでいきなりスタック上には展開しない。
そんなハードウェア条件では処理に失敗しないか。
# プログラムメモリに置かれるコードなんかは、しらんがつか、どんな裏技なんだ。
Re:コンパイルエラーまたは例外の方がありがたい (スコア:1)
意図なんてしてなくて、コンパイラがエラーって出すからキャストしたっていうのが多いんじゃ?