[過去ログ] C言語なら俺に聞け 163 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
2: (アウアウエー Sa02-hIhh) 2024/07/16(火)23:09 ID:zAWhziLLa(1) AAS
O2
3: 警備員[Lv.4][新芽] (ワッチョイ 5a73-fQmy) 2024/07/17(水)00:38 ID:x2xsFX7F0(1) AAS
"甲乙丙丁"[1];
4: (ワッチョイ b132-HYxY) 2024/07/17(水)02:16 ID:rcKIBlXh0(1) AAS
C23 最新ドラフト
外部リンク[pdf]:www.open-std.org
5: (スプッッ Sda5-cSaw) 2024/07/19(金)12:09 ID:7xb1gIFBd(1) AAS
C23 最新ドラフト
外部リンク[pdf]:www.open-std.org
6(1): (ワッチョイ be2d-Xdjv) 2024/08/13(火)10:33 ID:0tpsfiHy0(1) AAS
C99以降のC言語では、main関数が正常に終了した場合、
明示的にreturn 0;を記述しなくても、コンパイラが自動的にreturn 0;を
挿入することが規定されています。
これにより、main関数の最後にreturn文を省略することが可能になりました。
これまじ?
いや省略できるのは知ってたけど
書かなくても言語仕様的に正しいってことなのでは
7: (ワッチョイ 2e2a-Fna2) 2024/08/13(火)10:54 ID:rWI8dcbL0(1) AAS
>>6
> 省略できる
これまじ? ってやってみたら省略できた。知らんかった。
8: (ワッチョイ c25c-PXPr) 2024/08/13(火)11:02 ID:zgXpATPx0(1) AAS
C++の方は最初からそうじゃなかったっけ?
9(2): (ワッチョイ 2e63-mJNK) 2024/08/13(火)11:04 ID:iZOfVN0Y0(1) AAS
ところで、main以外はどうなんだろう
mainだけ特別って事なのかな?OSとも絡むし
10: はちみつ餃子◆8X2XSCHEME (ワッチョイ ed32-6HV9) 2024/08/13(火)11:58 ID:ZDyvNux60(1) AAS
>>9
retunr 0; が補われるルールは main だけの特別扱いだけど……。
関連する変な規則として C では関数の返却値の型が void ではないときに return せずに } に到達、かつ、関数の呼び出し元が値を使おうとするのは未定義ということになってる。
逆に言えば } に到達するだけなら OK ってことね。
C++ だと関数の返却値の型が void でないときに return せずに } に到達するだけで駄目という違いがある。
11: (ワッチョイ 6e83-2R4J) 2024/08/13(火)20:38 ID:Yor/eSuX0(1) AAS
>>9
値を返さない関数ならreturnは省略できる
値を返す関数だと戻り値が不定になる
(多分コンパイルでwarningが出るか最近のではerrorになるだろうな)
そのくらい一度も試したことないのか?
12(3): (アウアウエー Sa4a-ZlnX) 2024/08/14(水)08:45 ID:92pG5tQ9a(1) AAS
CPUが最後に処理したアキュムレータの内容が
戻り値として有効になってるケースが多い
違う実装があったら教えてくれ
13: (ワッチョイ 65c8-tndV) 2024/08/14(水)09:29 ID:o5Tm+MCf0(1) AAS
戻さないで自動的に挿入されるのならvoidでいいやん
14: (ワッチョイ 6e83-2R4J) 2024/08/14(水)16:14 ID:91FNum+40(1) AAS
>>12
CPUでも最適化レベルでも変わるのでその情報は無意味だ
素直にvoidにしとけばいいじゃん
15: (ワッチョイ 42ad-ZlnX) 2024/08/17(土)12:40 ID:P2kCpMMm0(1) AAS
>>12
じゃあお前に教えるために
これからそういうの作ろう
16: はちみつ餃子◆8X2XSCHEME (ワッチョイ ed32-6HV9) 2024/08/17(土)17:19 ID:w43wc/GB0(1) AAS
>>12
最適化が絡むとなんでも起こる。
GCC でやってみた。
外部リンク:godbolt.org
インライン化と合わさったときはおそらく
「なんでもいいなら事前に適当な定数 (この場合はゼロ) に置き換えてええやろ」ということが起こってる。
インライン化を抑止したらそのときに入ってたでたらめな値になる。
17: (ワッチョイ 9f2a-0AGY) 2024/08/18(日)12:47 ID:z2E2wJpW0(1) AAS
CGCのサイクル
画像リンク
18: (ワッチョイ 7fad-9uNt) 2024/08/19(月)14:50 ID:2a6IfSVu0(1) AAS
CCG
外部リンク:dic.pixiv.net
19: (ワッチョイ ff63-bHMQ) 2024/08/19(月)15:05 ID:V1kjWLO50(1) AAS
アキュムレータって呼び名、いかにも電卓っぽい
20: (スプッッ Sdc1-qo4T) 2024/08/26(月)18:48 ID:cPELMU3ld(1) AAS
ヘッダファイルちゃんとincludeしようよ。
21: (ワッチョイ 6e63-wgTk) 2024/08/26(月)19:32 ID:0fQF2fer0(1) AAS
ヘッダーファイルインクルードする1行だけのプログラム見たことがある
#include /dev/tty
22: (ワッチョイ 72d5-KJKb) 2024/08/27(火)00:49 ID:9npsKRkS0(1) AAS
それヘッダファイルじゃないです
23: (ワッチョイ 6e2a-EI2W) 2024/08/27(火)08:24 ID:apM/pcD70(1) AAS
エラー: #include は "FILENAME" または <FILENAME> が必要です
24: (アウアウエー Sa0a-PBPb) 2024/08/27(火)14:09 ID:oHcafaf7a(1) AAS
<>を入力すると消えるブラウザというか掲示板も流行ったなHTMLは糞だわ
25(1): (ワッチョイ 2910-Xwm8) 2024/08/27(火)17:58 ID:K+iNaUMP0(1) AAS
大抵最初の開発者は誰かが修正してくれるだろうと適当な仕様で設計して、
その後引き継いだ開発者はなにか意図があるのだろうと思ってそのまま維持していくという悪循環・・・。
26: (ワッチョイ 427c-qo4T) 2024/08/28(水)01:09 ID:E82+IHOF0(1) AAS
>>25
あるある過ぎる
27: (ワッチョイ f9d1-j0Zy) 2024/08/28(水)01:32 ID:ZIniGH7S0(1/2) AAS
ちち、どっかいけ
28: (ワッチョイ f9d1-j0Zy) 2024/08/28(水)01:35 ID:ZIniGH7S0(2/2) AAS
ごばくした、ごめん
29: (ワッチョイ 6e63-wgTk) 2024/08/28(水)09:35 ID:22YTSKRT0(1) AAS
アーニャにはここはまだ早い
30: (オイコラミネオ MM1b-qpqo) 2024/09/02(月)15:52 ID:VEiLzJptM(1) AAS
RustがCより速くなるベンチマークは見たことがない
Nim2.0のORCは明示的にオブジェクトプールを使ったプログラミングが必要ですが
ベンチマークがCより2倍以上速くなって、特にハードなリアルタイムシステム向け
のチューニングもできるようになってるみたい
外部リンク:zenn.dev
Nim2.0がCより2倍以上速くなって、しかもORCでメモリ安全も担保されているなら
Rustを使う意味がなくなると思うのですが、このベンチマークは本当なのでしょうか?
NimはCのソースコード吐けるからから、Nimの手動メモリ管理はCの手動メモリ管理と
同じとして、Nim2.0のORCで明示的にオブジェクトプールを使ったプログラミングと
比較した場合のベンチマークが2倍以上速くなってるからCより速いと言ってる
外部リンク:github.com
人間がCの手動メモリ管理したプログラムだと限界があるNimのムーブセマンティクスの
アルゴリズムでメモリの最適化をしてるから、人間では到底太刀打ちできない事を証明
した論文があるオブジェクトプール版のNimから生成したCのコードは人間には書けない
Nim2.0のムーブセマンティクスの本当に優れた最適化とORCで明示的にオブジェクトプールでプログラミングすることによって、人間がCの手動メモリ管理したベンチマークより2倍以上速くできる
外部リンク:zenn.dev
31: (ワッチョイ 0701-gNE8) 2024/09/02(月)22:08 ID:DccWFR9v0(1) AAS
Rustを褒めて自尊心保つやつの次はNim版が出てきたのか
上下前次1-新書関写板覧索設栞歴
あと 971 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.016s