アカウント名:
パスワード:
結局性能が出ないとか言って、高級アセンブラ(=C)で書き直すんでしょ?
Cは高級アセンブラではないような。
「高級アセンブラ [google.com]」はCの二つ名のようなものですよ。
Cが高級アセンブラって言語の機能が素直に機械語に対応したPDPなんとかとかその頃の大昔の話でしょ。いまそんなこと言ってると笑われるよゲラゲラ
君がね。
Cを高級アセンブラと勘違いしてる老人には理解不能な例
$ cat hoge.c#include <stdio.h> int main(){ int count = 0; for (int i = 1; i != 0; i *= 2) { count++; } printf("%d\n", count); return 0;} $ clang -Wall -W -O0 hoge.c && ./a.out32 $ clang -Wall -W -O2 hoge.c && ./a.out33
え?これ、どうなってるんですか?解説、求む。
理解できない自分は老人??
整数オーバーフローは未定義だからどんなコードを生成してもよい
『プログラミング言語C』第1版の200頁、「付録A: C参照マニュアル」の「7. 式」には
式の評価中のオーバーフローと除算のチェックの処理はマシンに依存する。現在Cを動かしているすべてのシステムでは,整数のオーバーフローは無視される。
とあり、未定義とは定義されていませんでしたね。
> 『プログラミング言語C』第1版の200頁、「付録A: C参照マニュアル」の「7. 式」には> とあり、未定義とは定義されていませんでしたね。
C89以降のC言語規格だと、符号つき整数のオーバーフローは未定義動作であるとと定義されているわけで、それからさらに四半世紀以上経ってますから、さすがにね…
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ見習い
だって、 (スコア:0)
結局性能が出ないとか言って、高級アセンブラ(=C)で書き直すんでしょ?
Re: (スコア:0)
Cは高級アセンブラではないような。
Re: (スコア:1)
「高級アセンブラ [google.com]」はCの二つ名のようなものですよ。
Re: (スコア:0)
Cが高級アセンブラって言語の機能が素直に機械語に対応したPDPなんとかとかその頃の大昔の話でしょ。いまそんなこと言ってると笑われるよゲラゲラ
Re: (スコア:0)
君がね。
Re: (スコア:0)
Cを高級アセンブラと勘違いしてる老人には理解不能な例
Re: (スコア:0)
え?これ、どうなってるんですか?
解説、求む。
理解できない自分は老人??
Re: (スコア:0)
手元のgccでやったらi != 0に相当するコードがそもそも生成されず無限ループになった
Re:だって、 (スコア:0)
整数オーバーフローは未定義だからどんなコードを生成してもよい
『プログラミング言語C』第1版の200頁、「付録A: C参照マニュアル」の「7. 式」には
式の評価中のオーバーフローと除算のチェックの処理はマシンに依存する。現在Cを動かしているすべてのシステムでは,整数のオーバーフローは無視される。
とあり、未定義とは定義されていませんでしたね。
Re: (スコア:0)
> 『プログラミング言語C』第1版の200頁、「付録A: C参照マニュアル」の「7. 式」には
> とあり、未定義とは定義されていませんでしたね。
C89以降のC言語規格だと、符号つき整数のオーバーフローは未定義動作であるとと定義されて
いるわけで、それからさらに四半世紀以上経ってますから、さすがにね…