!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
※前スレ
C言語なら俺に聞け 153
https://mevius.5ch.net/test/read.cgi/tech/1566050562/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C言語なら俺に聞け 154
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ bf63-lB9F)
2020/01/14(火) 19:32:30.16ID:SgRnb4BR0400デフォルトの名無しさん (ワッチョイ ff63-Nz9x)
2020/02/20(木) 23:28:24.92ID:yRc9LKeD0 >>399
定義が間違えているなら、正しい定義を示さないと
定義が間違えているなら、正しい定義を示さないと
401デフォルトの名無しさん (ワッチョイ ff01-P13C)
2020/02/21(金) 04:53:44.92ID:XhV4Z+GJ0 >>400
誰も間違えてるなんて言ってないし、一つ上のレスすら見てないのか?w
誰も間違えてるなんて言ってないし、一つ上のレスすら見てないのか?w
402デフォルトの名無しさん (ワッチョイ 7353-Nz9x)
2020/02/21(金) 07:42:26.05ID:ZYgKzVvr0403デフォルトの名無しさん (アウアウクー MM07-Z4Um)
2020/02/21(金) 08:05:59.84ID:UH7lBBhFM パンじゃないご飯だ
404デフォルトの名無しさん (ワッチョイ ff63-Nz9x)
2020/02/21(金) 10:36:09.68ID:cj7D2uI00 「頭がおかしい」、「老害」、「知ったか」
どうでも良いが、これを連呼したい奴が常住しているようだ
どうでも良いが、これを連呼したい奴が常住しているようだ
405デフォルトの名無しさん (アウアウウー Sae7-6k5J)
2020/02/21(金) 11:37:48.20ID:TKnLlA6xa 頭がおかしい知ったかのクルクルパーの老害ですが、呼びましたか?
406デフォルトの名無しさん (ドコグロ MM87-P13C)
2020/02/21(金) 12:23:48.46ID:GK8/JCh9M >>402
> ダム端末は確かに昔のことだが並行か並列かという話には関係ない
だからその定義だと関係ないとしても、TSSの定義はそれだけじゃないでしょ
話の流れから見てダム端末とかチャネルとか言い出す方が狭すぎって話な
> どうも前スレあたりから変なのが常駐してるようだな
自己紹介乙w
> ダム端末は確かに昔のことだが並行か並列かという話には関係ない
だからその定義だと関係ないとしても、TSSの定義はそれだけじゃないでしょ
話の流れから見てダム端末とかチャネルとか言い出す方が狭すぎって話な
> どうも前スレあたりから変なのが常駐してるようだな
自己紹介乙w
407デフォルトの名無しさん (スッップ Sd1f-frFT)
2020/02/21(金) 12:35:39.58ID:7cfLckFcd おまいらスレタイ
408デフォルトの名無しさん (アウアウウー Sae7-6k5J)
2020/02/21(金) 18:13:41.02ID:TKnLlA6xa С言語
409デフォルトの名無しさん (ワッチョイ ff63-Nz9x)
2020/02/21(金) 18:18:26.35ID:cj7D2uI00 C言語は 「頭がおかしい」、「老害」、「知ったか」 な人が使う言語
であってますか?
であってますか?
410デフォルトの名無しさん (アウアウウー Sae7-6k5J)
2020/02/21(金) 19:15:01.45ID:TKnLlA6xa クルクルパーもよろしく
411デフォルトの名無しさん (ワッチョイ ff63-Nz9x)
2020/02/21(金) 19:31:48.99ID:cj7D2uI00 8ビットCPUや16ビットでもリアルモードな頃は、
自己書換プログラム作ったりして楽しかったが
今は出来ないのでつまらない?出来ましたっけ?
自己書換プログラム作ったりして楽しかったが
今は出来ないのでつまらない?出来ましたっけ?
412デフォルトの名無しさん (ドコグロ MM87-P13C)
2020/02/21(金) 19:34:44.69ID:GK8/JCh9M413デフォルトの名無しさん (ドコグロ MM87-P13C)
2020/02/21(金) 19:43:30.51ID:GK8/JCh9M414デフォルトの名無しさん (ワッチョイ 83f9-IdAT)
2020/02/21(金) 19:55:49.81ID:6D+TcuLq0 >>402
俺は使い分けない派だよ
俺は使い分けない派だよ
415デフォルトの名無しさん (ワッチョイ 8f7c-Nz9x)
2020/02/21(金) 20:12:45.02ID:TJeguecx0 並行に動作できるよう作ってあれば 並列に動かしたって平気だよ
ダイジョブダイジョブ
ダイジョブダイジョブ
416デフォルトの名無しさん (ワッチョイ 33b3-frFT)
2020/02/21(金) 20:31:11.36ID:VaB1DjWv0 >>411
ほとんどのCPUは出来る
ほとんどのCPUは出来る
417デフォルトの名無しさん (ワッチョイ 7353-Nz9x)
2020/02/21(金) 21:10:22.71ID:ZYgKzVvr0 効いてる効いてるw
418デフォルトの名無しさん (ワッチョイ d9ca-8l36)
2020/03/24(火) 03:27:56.26ID:1SA4Lz1I0 こんなマクロ M1 M2 を作りたい。
int a[] = M1( test1, M2(a), M2(b), M2(c));
↓
int a[] = { sizeof(test1), offsetof(test1, a), offsetof(test1, b), offsetof(test1, c), -1 };
とりあえずこう定義したけどやっぱりだめだった。M2 の st が展開されない。
#define M1(st, ...) { sizeof(st), __VA_ARGS__, -1 }
#define M2(f) offsetof(st, f)
うまい方法があったら教えてください。
コンパイラは gcc です。
M1 に構造体名を与えたら M2 でもその構造体名を展開したいというのが要点です。
int a[] = M1( test1, M2(a), M2(b), M2(c));
↓
int a[] = { sizeof(test1), offsetof(test1, a), offsetof(test1, b), offsetof(test1, c), -1 };
とりあえずこう定義したけどやっぱりだめだった。M2 の st が展開されない。
#define M1(st, ...) { sizeof(st), __VA_ARGS__, -1 }
#define M2(f) offsetof(st, f)
うまい方法があったら教えてください。
コンパイラは gcc です。
M1 に構造体名を与えたら M2 でもその構造体名を展開したいというのが要点です。
419デフォルトの名無しさん (ブーイモ MM9d-+FIX)
2020/03/24(火) 08:54:15.16ID:rvwG55paM M1(test1, a, b, c)
としてM1内でM2使うしかないのでは。
としてM1内でM2使うしかないのでは。
420デフォルトの名無しさん (ワッチョイ 368c-m3pd)
2020/03/28(土) 14:30:29.95ID:xRZxfw9h0 int ***A;
の意味は何ですか。
の意味は何ですか。
421デフォルトの名無しさん (ワッチョイ f1f9-pf+t)
2020/03/28(土) 17:59:16.47ID:sl23HHfu0 int ***型(intへのポインタへのポインタへのポインタ)の変数Aの宣言
422デフォルトの名無しさん (ワッチョイ d946-C6bq)
2020/03/28(土) 19:07:09.14ID:jfXD7RpP0 *は幾つまで羅列できますか。
int ******how
int ******how
423デフォルトの名無しさん (ワッチョイ 120e-Cd0d)
2020/03/28(土) 19:10:30.31ID:fZ0bL/340 シロナガスクジラにもでかすぎる釣り針だなw
424デフォルトの名無しさん (ワッチョイ b12c-Sy4a)
2020/03/28(土) 19:12:30.55ID:WWyBcPls0 Qiitaだったかブログだったかに実験結果あるよ。
425デフォルトの名無しさん (ワッチョイ a9ca-Emx9)
2020/03/28(土) 19:48:29.31ID:dAv8M8Ft0 言語仕様的には何個でもいいんじゃね。
でもただ * を並べるだけじゃなく、const や volatile なんかと組み合わせるとここに居る連中でも頭を悩ませることになりそうだ。
でもただ * を並べるだけじゃなく、const や volatile なんかと組み合わせるとここに居る連中でも頭を悩ませることになりそうだ。
426デフォルトの名無しさん (ワッチョイ d263-Cd0d)
2020/03/28(土) 19:54:41.66ID:kGd8Pm2D0 三個くらいなら良いが、そんなに並べてプログラマがついて行けるんか?
427デフォルトの名無しさん (ワッチョイ 12a5-EdqZ)
2020/03/28(土) 20:38:40.13ID:VlzrtlZa0 前に見かけたこの記事がある
たった4000個ほどしか付けられないらしい
printfに4285個アスタリスクをつけるとclang++が死ぬ - Qiita
ttps://qiita.com/kaityo256/items/84d8ba352009e3a0fe42
たった4000個ほどしか付けられないらしい
printfに4285個アスタリスクをつけるとclang++が死ぬ - Qiita
ttps://qiita.com/kaityo256/items/84d8ba352009e3a0fe42
428デフォルトの名無しさん (ワッチョイ 7252-SQa6)
2020/03/28(土) 21:33:45.25ID:M0mQp4g20 >>425
原理上は無限でも問題ないし言語の規格上の上限があるかは知らないけど、コンパイラの実装上は何らかの上限があるだろうね。
原理上は無限でも問題ないし言語の規格上の上限があるかは知らないけど、コンパイラの実装上は何らかの上限があるだろうね。
429デフォルトの名無しさん (ワッチョイ b12c-Sy4a)
2020/03/28(土) 22:23:34.67ID:WWyBcPls0 規格では下限は決まっている
430デフォルトの名無しさん (ワッチョイ a9ca-Emx9)
2020/03/28(土) 22:27:31.37ID:dAv8M8Ft0 (***printf) ないし (*printf) ってどういう意味になるのかな?
関数ポインタに * を付けても同じ型で同じ値の関数ポインタになるということ?
少なくとも値は * を何個付けても変わらないみたいだけど。
関数ポインタに * を付けても同じ型で同じ値の関数ポインタになるということ?
少なくとも値は * を何個付けても変わらないみたいだけど。
431デフォルトの名無しさん (ワッチョイ a9ca-Emx9)
2020/03/28(土) 22:37:27.60ID:dAv8M8Ft0 ちなみに &printf も同じ値だね。
ちなみに関数ポインタ変数 p を使った場合、&p は変数p 自体のアドレスになったけど、p も *p も関数自体のアドレスで同じ値になる。
ちょっとややこしいかも。
ちなみに関数ポインタ変数 p を使った場合、&p は変数p 自体のアドレスになったけど、p も *p も関数自体のアドレスで同じ値になる。
ちょっとややこしいかも。
432デフォルトの名無しさん (ワッチョイ 368c-bMls)
2020/03/29(日) 04:08:50.01ID:qP8s4jbH0 メモリを[アドレス](データ)で表すと
int ***A;は
[Aアドレス](アドレス1) -> [アドレス1](アドレス2) -> [アドレス2](アドレス3)
-> [アドレス3](int データ)
を指していることかな。
int ***A;は
[Aアドレス](アドレス1) -> [アドレス1](アドレス2) -> [アドレス2](アドレス3)
-> [アドレス3](int データ)
を指していることかな。
433デフォルトの名無しさん (ワッチョイ 697b-scJV)
2020/03/29(日) 06:29:54.31ID:MtcIJfqw0 int (*fp)(void); /* fp: 引数なし, intを返す関数を指すポインタ */
と定義された関数ポインタ fp を経由して関数を呼び出す際に、
fp() でも (*fp)() でも同じ意味だよ、と規格で決めた結果として、
ならば (**fp) も (***fp) も…同じだよね、てことになったのかな。
アドレス演算子の方も
fp = some_func;
fp = &some_func;
どちらの書き方でも fp 経由で同じ関数を呼び出せる、という点で合理的か。
他の解釈をしても意味ないし。
おかげで
fp = &**&***&some_func;
などと書くこともできる。これは無意味で過剰な一般化の類にも思えるけど。
fp = &&some_func;
とは書けない模様。
この辺の挙動はコンパイラによって違うのかも。
と定義された関数ポインタ fp を経由して関数を呼び出す際に、
fp() でも (*fp)() でも同じ意味だよ、と規格で決めた結果として、
ならば (**fp) も (***fp) も…同じだよね、てことになったのかな。
アドレス演算子の方も
fp = some_func;
fp = &some_func;
どちらの書き方でも fp 経由で同じ関数を呼び出せる、という点で合理的か。
他の解釈をしても意味ないし。
おかげで
fp = &**&***&some_func;
などと書くこともできる。これは無意味で過剰な一般化の類にも思えるけど。
fp = &&some_func;
とは書けない模様。
この辺の挙動はコンパイラによって違うのかも。
434デフォルトの名無しさん (ワッチョイ 120e-Cd0d)
2020/03/29(日) 07:46:51.93ID:oQB7eLYm0 sizeof fp //ok
sizeof *fp //error
fp = &some_func; //ok
fp = &fp; //error
sizeof *fp //error
fp = &some_func; //ok
fp = &fp; //error
435デフォルトの名無しさん (ワイーワ2 FF1a-nBi6)
2020/03/29(日) 16:07:52.64ID:7B/pleQ/F int a = (*&*&*&*&*&*&*&f)();
こんなんもありか?
こんなんもありか?
436デフォルトの名無しさん (ワッチョイ c5b3-P9c2)
2020/03/29(日) 16:10:44.92ID:7+eNyT920 ++--++--++--++--a;
437デフォルトの名無しさん (ワッチョイ 697b-scJV)
2020/03/30(月) 06:39:21.96ID:VZ0aGjef0438437 (ワッチョイ 697b-scJV)
2020/03/30(月) 07:50:54.17ID:VZ0aGjef0 誤: 最右の--で増やされた値
正: 最右の--で減らされた値
増減を間違えたわ。
正: 最右の--で減らされた値
増減を間違えたわ。
439デフォルトの名無しさん (ワッチョイ 1b8c-xyAh)
2020/04/01(水) 21:03:42.40ID:HmSenNAk0 そろそろ変数名、関数名にUTF-8を使えるようにしてもいいと思う。
多分楽しくなるよ。
多分楽しくなるよ。
440デフォルトの名無しさん (ワンミングク MMa3-OY3e)
2020/04/01(水) 22:34:39.51ID:9N+QUSAtM void ぴゅう太(void) {
漢字();
漢字();
鉄矢();
鉄矢();
}
漢字();
漢字();
鉄矢();
鉄矢();
}
441デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/02(木) 06:56:27.27ID:RbNpa6BP0 全角空白やアラビア語などを駆使したioccc作品が楽しみだな
442デフォルトの名無しさん (ワンミングク MMa3-J+V3)
2020/04/02(木) 07:54:18.84ID:iOa0mW0IM 古老おらんか
cmakeてのはいつ頃流行ったシロモノなんだ?
cmakeてのはいつ頃流行ったシロモノなんだ?
443デフォルトの名無しさん (ドコグロ MM93-5poS)
2020/04/02(木) 08:47:09.83ID:CP0ku5lBM よく知らんが5年前には普通に使ってた
444デフォルトの名無しさん (ワッチョイ 653d-5QI3)
2020/04/02(木) 12:01:47.47ID:yWN/hb600 i286時代の16bitC言語ってfarポインタ経由でも64KBごとにしか連続メモリアクセスできなかったんでしょうか?
445デフォルトの名無しさん (ワッチョイ a363-bVUD)
2020/04/02(木) 12:17:36.01ID:cFIQnebc0 透過的にはアクセスは出来なかったと思う
446デフォルトの名無しさん (ドコグロ MMe1-5poS)
2020/04/02(木) 12:24:50.02ID:8fgIRfU4M 連続アクセスをどのレベルで言ってるのかによるけどHugeポインタ使えば見かけ上は連続アクセスできる
ただしかなり遅い
ただしかなり遅い
447デフォルトの名無しさん (ワッチョイ e5ca-Otsn)
2020/04/02(木) 12:29:05.08ID:72QlOXRc0 FARポインタって値としてはリニアアドレスで、メモリアクセス時に内部的にセグメントとオフセットに分けてるだけじゃなかっけ?
ポインタを ++ しながらメモリアクセスして 64KB 越えても問題無いんじゃね?
memcpy みたいのが内部的に rep 使った lods や stos を使ってるなら、ライブラリとして 64KB 単位に区切ってるんじゃないのかな。
ポインタを ++ しながらメモリアクセスして 64KB 越えても問題無いんじゃね?
memcpy みたいのが内部的に rep 使った lods や stos を使ってるなら、ライブラリとして 64KB 単位に区切ってるんじゃないのかな。
448デフォルトの名無しさん (ワッチョイ e5ca-Otsn)
2020/04/02(木) 12:31:00.60ID:72QlOXRc0 あれ、おれの言ってるのって hugeポインタだっけ?
449デフォルトの名無しさん (ワッチョイ a363-bVUD)
2020/04/02(木) 12:39:01.60ID:cFIQnebc0 もう使ってないし、使いたくもないし、思い出したくもないw
450デフォルトの名無しさん (スップ Sd43-ii8Z)
2020/04/02(木) 12:40:53.46ID:RoFHMWcRd 組み込み小規模は今でもメモリモデルやらFARポインタやらがある
451デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/02(木) 13:48:38.35ID:RbNpa6BP0 i80286のバグを利用してリアルモードでありながら1MB超のメモリを使うなんてテクあったな
452デフォルトの名無しさん (ワッチョイ 653d-5QI3)
2020/04/02(木) 14:07:43.96ID:yWN/hb600 >>446
連続アクセスはポインタを ++ でインクリメントしながらループするレベルで言っています
Hugeポインタというものもあったんですね、知りませんでした
これを使うとポインタを ++ する度にセグメントレジスタを更新するので遅いが64KB以上のアクセスができるって事ですよね
farポインタはポインタを ++ してもセグメントレジスタは更新されず、早いけど64KB以上のアクセスはできないって事でしょうか?
あれ、もしそうなら例えば0x0EFFF0を指すfarポインタで ++ しながらメモリアクセスした場合
16バイト以上は0xE0000に戻ってしまい0x0F0000以降のメモリにアクセスできないって事ですか?
連続アクセスはポインタを ++ でインクリメントしながらループするレベルで言っています
Hugeポインタというものもあったんですね、知りませんでした
これを使うとポインタを ++ する度にセグメントレジスタを更新するので遅いが64KB以上のアクセスができるって事ですよね
farポインタはポインタを ++ してもセグメントレジスタは更新されず、早いけど64KB以上のアクセスはできないって事でしょうか?
あれ、もしそうなら例えば0x0EFFF0を指すfarポインタで ++ しながらメモリアクセスした場合
16バイト以上は0xE0000に戻ってしまい0x0F0000以降のメモリにアクセスできないって事ですか?
453デフォルトの名無しさん (ワッチョイ 657b-M08V)
2020/04/02(木) 17:09:56.05ID:0sikvQpW0 「正規化マクロ」なんてのもあった記憶がある。
オフセット部の上位ビットをセグメント部に移して、
オフセット部の値を 0-15 に制限する。
適当なタイミングで「正規化」することで
64KBを越える範囲を連続的にアクセスできるようになる。
いわゆる「透過的」ではないけれど。
オフセット部の上位ビットをセグメント部に移して、
オフセット部の値を 0-15 に制限する。
適当なタイミングで「正規化」することで
64KBを越える範囲を連続的にアクセスできるようになる。
いわゆる「透過的」ではないけれど。
454デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/02(木) 18:29:53.16ID:4X8ewqwSF >>442
90年代前半?
90年代前半?
455デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/02(木) 18:32:26.76ID:4X8ewqwSF456デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/02(木) 18:35:21.60ID:4X8ewqwSF >>452
誤解されそうなので補足だけど
>0x0EFFF0を指すfarポインタで ++ しながらメモリアクセスした場合
セグメントレジスタ 0x0EFFF
ポインタ 0x000F
なら 0x0EFFFF にアクセス出来るし
セグメントレジスタ 0x0EFFF
ポインタ 0x0010
なら 0x0F0000 にアクセス出来る
誤解されそうなので補足だけど
>0x0EFFF0を指すfarポインタで ++ しながらメモリアクセスした場合
セグメントレジスタ 0x0EFFF
ポインタ 0x000F
なら 0x0EFFFF にアクセス出来るし
セグメントレジスタ 0x0EFFF
ポインタ 0x0010
なら 0x0F0000 にアクセス出来る
457デフォルトの名無しさん (ワッチョイ 253d-5QI3)
2020/04/02(木) 18:58:03.66ID:SCUy7Ffk0 >>447
オフセットがあふれてもセグメント部分はインクリメントしない、したがって 64 KB を超えて連続アクセスはできない
オフセットがあふれてもセグメント部分はインクリメントしない、したがって 64 KB を超えて連続アクセスはできない
>>448
huge はバグっていた
huge はバグっていた
461デフォルトの名無しさん (ワンミングク MMa3-OY3e)
2020/04/02(木) 21:41:01.11ID:ZwiItXECM 30年前にタイムスリップしたかと思った
462デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/02(木) 22:01:10.37ID:KR7Qg6ip0 Hugeがバグってた?
本当?
本当?
463デフォルトの名無しさん (ワッチョイ b501-j0VC)
2020/04/03(金) 01:16:56.77ID:rS9EMaRY0 >>457
16ビットと一言で言ってるけど、x86の場合リアルモードとプロテクトモードでセグメントの扱いは全く異なるから注意
16倍して足すだけなのは前者のとき(DOSとか)
Windows3.1は後者
16ビットと一言で言ってるけど、x86の場合リアルモードとプロテクトモードでセグメントの扱いは全く異なるから注意
16倍して足すだけなのは前者のとき(DOSとか)
Windows3.1は後者
464デフォルトの名無しさん (ドコグロ MM93-5poS)
2020/04/03(金) 07:13:39.26ID:sD1svSjIM465デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/03(金) 07:42:16.55ID:smM7aeLk0 そうそう
どうせコードがバグってるのをコンパイラのバグだと騒いでるんだと思って聞いてみた
どうせコードがバグってるのをコンパイラのバグだと騒いでるんだと思って聞いてみた
466デフォルトの名無しさん (ワッチョイ 6352-cvTZ)
2020/04/03(金) 08:17:02.15ID:y4LIlYUL0 まあQZは思い込みが激しいし話半分に聞いておけばいいな
468デフォルトの名無しさん (ワッチョイ e5ca-Otsn)
2020/04/03(金) 20:59:00.91ID:15ER3YJX0 >>464
条件が成立してるはずなのにどうしても走らないコードがあり、コンパイラの最適化のバグで処理が消えたと思い最適化のスイッチをいろいろいじり、
それでもだめでコンパイラ自体のバグを疑い吐かせたアセンブラソースに処理コードが吐かれてないことを確認して、
ほれ見たことかコンパイラが悪い!と報告を上げた後でコメントの */ が抜けてることを発見した俺には敵うまい。
条件が成立してるはずなのにどうしても走らないコードがあり、コンパイラの最適化のバグで処理が消えたと思い最適化のスイッチをいろいろいじり、
それでもだめでコンパイラ自体のバグを疑い吐かせたアセンブラソースに処理コードが吐かれてないことを確認して、
ほれ見たことかコンパイラが悪い!と報告を上げた後でコメントの */ が抜けてることを発見した俺には敵うまい。
469デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/04(土) 00:47:19.29ID:qMa2xGJ10 私はいくつかコンパイラのバグを見つけたけどね
見つけた時は発生する最小形にしてから報告
コンパイラのバグだとさわぐヤツの99%は自分のバグ
ってのは同意
見つけた時は発生する最小形にしてから報告
コンパイラのバグだとさわぐヤツの99%は自分のバグ
ってのは同意
470デフォルトの名無しさん (ドコグロ MM93-5poS)
2020/04/04(土) 00:50:16.07ID:igeAmwMLM >>467
> huge ポインタがあったのはたしか MS だけだったかと
Turbo Cですらサポートされてるんだが…
https://www.drdobbs.com/using-large-arrays-in-turbo-c/184402289
> huge ポインタがあったのはたしか MS だけだったかと
Turbo Cですらサポートされてるんだが…
https://www.drdobbs.com/using-large-arrays-in-turbo-c/184402289
471デフォルトの名無しさん (ワッチョイ a363-bVUD)
2020/04/04(土) 00:55:46.93ID:yxoY6Q+20 Internal Error って言うのを見たことはある
472デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/04(土) 08:44:49.54ID:glhU6EPt0 99%もそんなアホいるのか?
コンパイラのバグを疑った場合まず最小の再現コード作るだろ
で、バグレポに条件と現象を書くわけだが
自分が悪い場合はそこで必ず気付くことになる
コンパイラのバグを疑った場合まず最小の再現コード作るだろ
で、バグレポに条件と現象を書くわけだが
自分が悪い場合はそこで必ず気付くことになる
473デフォルトの名無しさん (ワッチョイ 4bd2-bVUD)
2020/04/04(土) 09:28:47.06ID:oeIO06yp0 >コンパイラのバグだとさわぐ
× こういう風に書いたのですがxxのコンパイラなら問題ないのにxxxの方だと誤作が(ry
〇 xxxつかったら動かねぇ!!ソースに間違いは無い!!クソコンパイラ!!謝罪と賠(ry
× こういう風に書いたのですがxxのコンパイラなら問題ないのにxxxの方だと誤作が(ry
〇 xxxつかったら動かねぇ!!ソースに間違いは無い!!クソコンパイラ!!謝罪と賠(ry
474デフォルトの名無しさん (ドコグロ MM93-5poS)
2020/04/04(土) 10:12:08.70ID:o3XzX6/PM475デフォルトの名無しさん (ワッチョイ a363-bVUD)
2020/04/04(土) 12:47:58.45ID:yxoY6Q+20 今は分からないが、20年くらい昔だと
あまりにも複雑なソースを食わせると時々発狂してたな
あまりにも複雑なソースを食わせると時々発狂してたな
476デフォルトの名無しさん (ワッチョイ 23ad-Ujw5)
2020/04/04(土) 13:15:20.63ID:SI4lxjMM0 >>468
負けた。君に勝ちを譲ろう。
負けた。君に勝ちを譲ろう。
477デフォルトの名無しさん (スップ Sd43-ii8Z)
2020/04/04(土) 13:15:46.68ID:nDualHANd 30年前くらいじゃないか?
あまりにも複雑なソースを書くのが悪い
っていう時代
今でもあまりに複雑なソースは悪
別の意味で
あまりにも複雑なソースを書くのが悪い
っていう時代
今でもあまりに複雑なソースは悪
別の意味で
478デフォルトの名無しさん (ドコグロ MM43-5poS)
2020/04/04(土) 13:29:50.17ID:3Wwr2fKwM 10年くらい前でもマクロのネストが多いとかでInternalエラー吐く処理系はあったよ
本来ちゃんとエラーチェックして適切なエラーメッセージ出すべきなんだろうけどほとんどありえないような状況にどこまで対応すべきかって話はなかなか難しいものがある
まあそれと処理系のバグとは別の話だが
本来ちゃんとエラーチェックして適切なエラーメッセージ出すべきなんだろうけどほとんどありえないような状況にどこまで対応すべきかって話はなかなか難しいものがある
まあそれと処理系のバグとは別の話だが
479デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/04(土) 14:50:27.38ID:glhU6EPt0480デフォルトの名無しさん (ドコグロ MM43-5poS)
2020/04/04(土) 15:13:09.29ID:KrNZzm/nM481デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/04(土) 15:16:24.42ID:glhU6EPt0 なんか全然、噛み合ってないね
482デフォルトの名無しさん (スップ Sd43-ii8Z)
2020/04/04(土) 15:55:02.64ID:nDualHANd 「あまりに複雑な」
って時点で悪
やろうとしてることが複雑でも
記述を複雑にする必要は無い
って時点で悪
やろうとしてることが複雑でも
記述を複雑にする必要は無い
483デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/04(土) 19:49:17.44ID:glhU6EPt0 なんだ、主観論か
484デフォルトの名無しさん (ブーイモ MM6b-eRVI)
2020/04/05(日) 00:53:15.82ID:8lfN7LOTM cでコンパイラがゲロる複雑に成るって三項演算子をネストするくらいだろ
c++はテンプレートでわりあい簡単に混乱を引き出せるけどCのメタ構築機能はゴミみたいなもんだし
c++はテンプレートでわりあい簡単に混乱を引き出せるけどCのメタ構築機能はゴミみたいなもんだし
485デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/05(日) 05:06:11.76ID:UG8XDQGA0 3項がどう結合するかを理解してないやつがオレ文法と違うって騒ぐのは
駅前で不特定多数を叱りつけている危ないオヤジと同じ
駅前で不特定多数を叱りつけている危ないオヤジと同じ
486デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/05(日) 07:26:24.26ID:c+nOX//s0 人間にとっての複雑とコンパイラにとっての複雑化はまったく違う
演算子のネストなんて3項じゃなきゃ普通にやってることで
コンパイラにとっては普通のこと
3項演算子の結合は特殊なので
人間にとっては複雑なのは間違いないけど
演算子のネストなんて3項じゃなきゃ普通にやってることで
コンパイラにとっては普通のこと
3項演算子の結合は特殊なので
人間にとっては複雑なのは間違いないけど
487デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/05(日) 07:31:27.17ID:c+nOX//s0488デフォルトの名無しさん (ドコグロ MM71-5poS)
2020/04/05(日) 09:05:29.09ID:1wSwWGx9M >>487
> 3項演算子の優先度は
> 良くある演算子の優先度表を見るだけじゃ仕様がわからない
意味不明、普通にわかるだろ
https://ja.cppreference.com/w/c/language/operator_precedence
> 3項演算子の優先度は
> 良くある演算子の優先度表を見るだけじゃ仕様がわからない
意味不明、普通にわかるだろ
https://ja.cppreference.com/w/c/language/operator_precedence
489デフォルトの名無しさん (ワッチョイ 6352-cvTZ)
2020/04/05(日) 09:20:09.55ID:nuvXPfKL0 >>488
その表でもわざわざ欄外に注記している通り、演算子の順位だけを見ても分からないということだろう
その表でもわざわざ欄外に注記している通り、演算子の順位だけを見ても分からないということだろう
490デフォルトの名無しさん (JP 0H93-3bw/)
2020/04/05(日) 11:43:40.11ID:pjXS/HuIH 4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ttp://x0000.net/topic.aspx?id=3677-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
491デフォルトの名無しさん (ブーイモ MMa9-eRVI)
2020/04/05(日) 13:47:36.92ID:h0VsrhLiM C/C++仕様が違うんだよね三項演算子
492デフォルトの名無しさん (ワッチョイ 234f-bVUD)
2020/04/05(日) 14:48:53.25ID:28SxhHQj0 三項演算子は優先順位よりも結合性の方がわからなくなる
493デフォルトの名無しさん (ワイーワ2 FF93-8H9x)
2020/04/05(日) 14:56:50.54ID:P07lI1PFF A ? B : C;
A ? B ? D : E : C ? F : G;
(A ? B ? D : E : C) ? F : G;
A ? B ? D : E : (C ? F : G);
A ? B ? D : E : C ? F : G;
(A ? B ? D : E : C) ? F : G;
A ? B ? D : E : (C ? F : G);
495デフォルトの名無しさん (ワッチョイ e5ca-Otsn)
2020/04/05(日) 15:03:37.61ID:bk3bMB+g0 コンパイラにとって複雑というのは、構文木が深くなる、とどのつまり項の多い長い文なんじゃない?
昔のコンピュータはメモリが足りなかったから深い木は扱えなかったってことでしょ。
昔のコンピュータはメモリが足りなかったから深い木は扱えなかったってことでしょ。
496デフォルトの名無しさん (ワイーワ2 FF93-8H9x)
2020/04/05(日) 15:58:31.05ID:PRah2HwrF >>494
人間には右につなげる方が見やすいのかも知れないが
コンパイラ的にあいまいさが無いのは左(内側?)に入れていく方だと思う
Pythonのはさらに結合の優先度が判りにくい気がする(慣れてないだけかも知れない)
人間には右につなげる方が見やすいのかも知れないが
コンパイラ的にあいまいさが無いのは左(内側?)に入れていく方だと思う
Pythonのはさらに結合の優先度が判りにくい気がする(慣れてないだけかも知れない)
497デフォルトの名無しさん (スップ Sd03-ii8Z)
2020/04/05(日) 19:35:26.18ID:Wi/hOB0pd >>494
それは時と場合によるのでは?
それは時と場合によるのでは?
498デフォルトの名無しさん (スップ Sd03-ii8Z)
2020/04/05(日) 19:36:57.26ID:Wi/hOB0pd >>493
改行を工夫すると見やすくなる
改行を工夫すると見やすくなる
499デフォルトの名無しさん (ワッチョイ a381-CuPJ)
2020/04/07(火) 02:00:59.45ID:52b5Xapk0 >>498
例えばどんな感じですか?
例えばどんな感じですか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 中国がここまで過敏になるのは日本に前科があるから。盧溝橋、満州事変。ジャップの先制攻撃は挙げればキリがないけど [472617201]
- ぶっちゃけ天のうって昭和天のうのせいで全然ありがたみないよな
- 頭悪いやつほどガンダムとかエヴァにハマるのってなんでなの?
- 犬って顔くっつけて寝たがるよな
- ゲームボーイのゲーム
- 『猟友会がクマ駆除を嫌がるなら潰すべき。職務を放棄するハンターから免許や銃を没収して罰金を取ろう』の声、ネットで上がる [932029429]
