C言語なら俺に聞け 160

レス数が1000を超えています。これ以上書き込みはできません。
2022/12/28(水) 10:40:30.02ID:PyoNDBFu0
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C17
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C23 最新ドラフト
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.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言語なら俺に聞け 159
https://mevius.5ch.net/test/read.cgi/tech/1659623547/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
980はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f32-iKPJ)
垢版 |
2023/04/18(火) 17:04:00.61ID:rjFDtS/R0
>>978
トラップ表現は「オブジェクト型の値を表現しないオブジェクト表現」ということになってる。
その型としてあり得ないビットパターンってこと。
オブジェクトとして格納されたトラップ表現を文字型ではない左辺値式として読みだした場合の結果は未定義となる。
副作用としてそのような表現が生成される場合も未定義。

C の仕様でいう未定義というのは「何が起きても (たとえば暴走しても) 良い」という意味なので実質的に禁止だと思ってもいいよ。

とはいえ整数型でトラップ表現があるアーキテクチャを私は見たことが無いけどな。
981デフォルトの名無しさん (スプッッ Sdff-ZLJR)
垢版 |
2023/04/18(火) 18:20:39.02ID:Qric2C4Yd
トラップ表現を調べてみたけどほぼほぼ処理系定義絡みなのね

signed int16の0x8000は-32768かもしれないし、トラップ表現かもしれない
1の補数系でsigned int16の0xffffは0かもしれないし、トラップ表現かもしれない
int32* の4バイト境界に合ってないポインタ(int* p=0x0001)は、強制的に4バイト境界に直されるかもしれないし、トラップ表現かもしれない
982デフォルトの名無しさん (スフッ Sd7f-foDO)
垢版 |
2023/04/18(火) 19:26:15.76ID:U9oAz8h1d
>>980 ありがとうございます 勉強になりました
2023/04/19(水) 02:26:26.48ID:Nl7uhZkpM
自分のコンパイラってのを明らかにしてくれ
どうしても言えないってならしょうがないが…
984デフォルトの名無しさん (ワッチョイ 6746-KCd8)
垢版 |
2023/04/19(水) 02:43:50.96ID:MHEst9B30
>>983
> ちなみにgcc-10です
と書かれている。
2023/04/19(水) 06:44:34.46ID:Dcht9s5K0
>>983
バーカ(笑)
986デフォルトの名無しさん (ワッチョイ 2763-7nfa)
垢版 |
2023/04/19(水) 06:59:06.58ID:twYHK80b0
983息してるか?www
2023/04/19(水) 07:47:07.07ID:BpfZGgoRd
かてなおったかな
2023/04/19(水) 10:03:53.18ID:rE0e6VM+0
自作コンパイラの話する?
2023/04/19(水) 10:43:43.68ID:m2bdQTksd
いいぜ?お前からな?
2023/04/19(水) 11:58:53.24ID:rE0e6VM+0
ぼくはLex&YACCでPL/0を作って満足しました。おわり
2023/04/19(水) 13:12:38.94ID:IP5wt1Fbd
夜中に路地から飛び出て来たら俺もびびる
でも >>991 では語れんわ!
2023/04/19(水) 20:04:36.21ID:3t8AIZsr0
C言語のソースコードを検査して処理系依存や未定義動作等の環境によって
結果が変わりうる可能性のある部分を見つけてくれるツールってどんなのがありますか?
コードエディタはvscodeなのでこれと連携できるとなおよいです
2023/04/20(木) 08:07:01.48ID:B156zYN00
lintでググれ
2023/04/20(木) 08:23:22.20ID:3as2C0030
BingAIに聞け
995デフォルトの名無しさん (アウアウウー Sacb-JRah)
垢版 |
2023/04/20(木) 09:13:39.09ID:EuuMXrfTa
とにかくggr
2023/04/20(木) 16:00:12.38ID:ZTK8T1RQd
チャットジーピーテー
2023/04/20(木) 23:37:04.36ID:BN6x5ZIFM
さすがに検査対象としてソースコードそのものをchatGPTに丸投げするのはマズイ
個人情報や機密情報をそのまま入力するのは止めるように開発元のopenAIが忠告してたはず
2023/04/21(金) 06:41:53.06ID:NmcLOv2EM
>>993
よさそう。サンキュー
2023/04/21(金) 13:41:26.17ID:cgpIrgwq0
次スレどこ?
2023/04/21(金) 14:06:43.23ID:rqj2HSDF0
次スレ

https://mevius.5ch.net/test/read.cgi/tech/1682053520/
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 114日 3時間 26分 13秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況