探検


C言語なら俺に聞け 164

2025/07/23(水) 15:30:01.81ID:eCR5cXRr0
(新スレ立ての際上記コマンドを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言語なら俺に聞け 163
https://mevius.5ch.net/test/read.cgi/tech/1721137434/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2026/07/16(木) 01:29:47.62ID:QDgTIUas0
むかーーーし、rmsが『仕様より動くことが大事』みたいなこと言ってたのうっすら思い出した。
GCCって、ANSIで定義される前から1行コメント使えたよね。
とは言えGCCとてCである事を辞めていないと言うレベルの話だろうけど。
654デフォルトの名無しさん (ワッチョイ f901-y5zM)
垢版 |
2026/07/16(木) 02:19:54.51ID:h9q4RvcY0
連投長文は内容以前に知能障害のバカ
2026/07/16(木) 03:01:53.88ID:tqJQMSog0
>>654
反論できないから必死こいて罵倒しようという魂胆が透けて見えてる
2026/07/16(木) 03:06:03.45ID:tqJQMSog0
>>653
多分勘違いしてると思うので言っておくと、未定義動作は本来なら動かない例だぞ
2026/07/16(木) 07:59:20.02ID:ydvs2Ppy0
>>653
その発言は知らんが、仕様はあくまで手段であって、目的ではないからな。
とはいえ、その時代の価値観を今に持って来ていいわけはない。
仕様準拠の方がコミュニティ含め長期的な生産性は上がるのは確実。

ただ実際は、それとは程遠い。
JSは現実的に唯一、「ソースコードでの品質を担保」出来てる(させられてる)環境だが、
プログラマは実行環境の差異に振り回され、
IE死ね、次にFirefoxも死ねで、chromeに統一されることを望んでいる。
他言語は、RustにしてもC#にしても、主たる環境でのコンパイル結果でテストしており、
仕様準拠なソースコードならあらゆる環境で動作するとは言い難い。
Javaも元祖"Write Once, Run Anywhere"だが、実際は"Write Once, Debug Everywhere"になった。

本質的に、プログラマは、「自分と(ユーザー含めた)他人が同じ環境」が一番楽なのでこれを望む。
コンパイラ別のオプションや#ifdefなんて、コンパイラを固定してしまえばそもそも不要となり、
生産性を上げるためには環境を絞ったほうがいい。
ただこれでは永遠にソースコードでの品質は確保できない。
(たまたまその環境で動作するコードが出力されてるのをテストしてるだけになる)

この点、仕様と実装がデタラメに運用されてるC言語のほうが、
主たる環境もgcc/Clang/VC/各社勝手コンパイラと多種多様であり、
結果的にあらゆる環境でそのコードがコンパイルされ、テストされるので、
まだ「ソースコードでの品質を担保」に近いというのは皮肉だ。
2026/07/16(木) 08:52:43.54ID:ydvs2Ppy0
>>653
ついでに言うと、C言語は「生産性を上げる為に仕様を絞る」事もやろうとしてない。

仕様準拠は主に(長期的な)生産性向上の為(=ソースコードの品質を上げる為)として、
生産性を上げる為には仕様内の差異を潰す(仕様を絞る)事をしないといけない。
逆に言うと、仕様準拠だが実装がバラけるような「ユルい」仕様では意味がない。

具体的には、funcD(funcA(),funcB(),funcC())に対し、
C#やJSではABCD順に評価されると仕様で「固定」されているが、CではABC間は順序が規定されてない。
だから、この点、仕様準拠でも、たまたまABCD順の出力もあれば、BCAD順の出力もありえ、
その環境の「実行コード」をテストして動いたとしても、その「ソースコード」が正しいとは言えず、
本来は3P3=6倍の手間を掛け、「全順序ケースの『実行コード』」をテストするしか無いが、
現実的に、これが出来るコンパイラもない。

この辺、当たり前だが後発言語は潰してある。
Cでこの仕様を修正できない理由は、政治であり、(560参照)
コンパイラ作成側が1mmも譲らず、あらゆる自由度を最適化余地の既得権益としてるからだが、
これでは「何のための仕様なのか」であり、完全に本末転倒になっている。
(がまあ、これ含めてCの文化ではあるが)

なのでまあ、C界隈は、仕様準拠して生産性を上げるぞ、なんて目指して無くて、
昔から変わらず、自分環境で自分の希望するコードを得るための手段、となってる。
(勿論、仕様準拠ゴリゴリもありだが、Cの場合はそうやっても生産性が上がるようにはなってない。
《でもやらないよりはマシだが》)
2026/07/16(木) 08:54:03.33ID:ydvs2Ppy0
ちな、同様のは、例えばJSではsortが不安定ソード→安定ソートに仕様変更された。
てか、他言語はちまちまこの辺を修正してるのだから、Cも修正しろよなと。
Cは変わらなすぎなのが問題。

本来、良い仕様を策定することはすごく難しくて、
あんまり「仕様」にこだわりすぎると前に進めなくなるので、ある程度諦めて「動くコード」をさっさと作れ、
とRMSは言ったのではないかと思われるが、
時代は下り、ソフトウェアについての知見も溜まってきてるので、今は仕様にもこだわらないといけない時代ではある。
(ただまあ、個人的にはRustではないな、と見てる。あれはゴミだ)
2026/07/16(木) 10:11:22.50ID:AMrrXlFD0
> funcD(funcA(),funcB(),funcC())に対し、
> C#やJSではABCD順に評価されると仕様で「固定」されているが、CではABC間は順序が規定されてない。

呼び出し順一意にしたかったらそういう書き方するだけだし、それ以前の話として「副作用ある式を関数の引数にすんな」くらいのコーディング規約は決めてて当たり前。
2026/07/16(木) 11:53:49.22ID:ydvs2Ppy0
>>660
それは「対策出来る」だけであって、「あるべき仕様」ではないでしょ。
そもそもこの仕様を変更したとして、誰にも何らデメリット無いのだから、
コーディング規約によるアナログ対策ではなく、文法化で100%厳守強制でいい。他後発言語はそうしてる。
(地雷原で「旗立てといたから踏まないでね」と言われたら、いや「除去しておいてくれ」と思うでしょ)

Cはこの辺のノウハウが溜まる前の言語だから、色々仕様に不備があるのは致し方無しだが、
改善しようともしてないのは問題だと思うよ。

とはいえ結局、コンパイラ言語の成果物の最終配布形態/テストターゲットはバイナリであって、ソースコードではないから、
「このソースコードは動作します」なんて事はそもそも出来ないけど、
それでも一応、そこを目指すべきではあるだろ。
(…なんだが、対策出来れば実用言語としてはある程度は十分で、放置されて今があるわけだが)
2026/07/16(木) 12:02:44.88ID:tqJQMSog0
>>658
仕様で決まってないことがあるから仕様準拠しなくていい、は草
流石にここまで行くと笑えてくるわ、そんなこと言いだしたらどんな言語でも仕様守らなくていいって結論しか導き出せない

それにサラッと話そらしてるけど未定義動作を書いてもいい理由にはなっていない
処理系に依存するのは別にいいけど、未定義動作は何が起きるかわからんから動かないコードとして扱う必要があるって話だからな
2026/07/16(木) 12:13:40.88ID:tqJQMSog0
>>661
> そもそもこの仕様を変更したとして、誰にも何らデメリット無いのだから
それは君の思慮が浅いだけ

> 「このソースコードは動作します」なんて事はそもそも出来ない
仕様通りの環境で動作するコードは書ける
そこからはコンパイラの責任と割り切らないと >>638 みたいな矛盾が起こる

そして、各環境で使う時に動くかどうか検証するのはCに限らず当然
そこをCだけのことだと思っているようだが、実行環境依存の要素はどの言語にもある
エアプには難しいかなあ
2026/07/16(木) 12:15:06.95ID:tqJQMSog0
>>659
不安定ソートと安定ソートに優劣はないよ
使い道が違うだけ
だからそこを勝手に差し替える方がまずい仕様変更
2026/07/16(木) 12:22:29.33ID:tqJQMSog0
> 仕様準拠は主に(長期的な)生産性向上の為(=ソースコードの品質を上げる為)として、
> 生産性を上げる為には仕様内の差異を潰す(仕様を絞る)事をしないといけない。
> 逆に言うと、仕様準拠だが実装がバラけるような「ユルい」仕様では意味がない。

お前やっぱC書いたことないだろって感じのことばっかり言うよな

流石に明らかに変なところに突っ込まないのは逆に怪しいから突っ込むけども、
> 仕様準拠だが実装がバラけるような「ユルい」仕様では意味がない
申し訳ないが意味不明

仕様準拠なら実装が違っても問題ないのは前提なんだわ
それは「高級言語」というものの定義の話としてそうで、逆に、そうじゃなかったらアセンブリ直接書けって話にしかならんのね
ハードウェアを抽象化した以上、仕様で提供される機能の範囲で書くというのは君が散々Cより改良されてると言ってる諸言語でも同じ
2026/07/16(木) 12:23:52.40ID:AMrrXlFD0
>>661
> そもそもこの仕様を変更したとして、誰にも何らデメリット無いのだから、

新しい仕様に依存したコードが書かれる様なるとそれに対応しない処理系の使用は絶望的になるからデメリット大きい。
適当に同じ処理まとめるだとか処理の順番入れ替えるだとかの自由も奪うことになると最適化の自由度も今より下がる。
2026/07/16(木) 12:24:26.60ID:tqJQMSog0
>>658
> 生産性を上げる為には仕様内の差異を潰す(仕様を絞る)事をしないといけない
これはそもそも間違ったことを書いている
正しくは
> 生産性を上げる為には仕様内の差異を潰す(挙動を絞る)事をしないといけない
となる

で、なんでそんなことを必要とするのかと言えば、仕様に準拠しない書き方をしているからでしかない
仕様で保証されていない挙動を勝手に前提としてコードを書き、その通りにならない環境が出てくるからそういう作業が始まる
最初から仕様に定められた通りに解釈していれば、この無駄な作業は発生していない
2026/07/16(木) 12:26:17.55ID:tqJQMSog0
>>666
それなんだよな
もっとも、最初から未定義動作踏み抜くようなクソコードしか書かない奴に通じるかはわからんが
2026/07/16(木) 12:27:42.73ID:tqJQMSog0
>>657
マクロはC言語の仕様に含まれてるし、処理系定義もC言語の仕様に明記されてるんだけどなあ?
君の言ってる仕様って何の話?w
2026/07/16(木) 12:28:29.06ID:AMrrXlFD0
C言語は仕様を完全に理解し未定義動作を絶対に踏まないパーフェクト超人向けの言語として舵切ってるのでJavaScriptみたいな素人向け言語の方針になびいたりすることは今後もなかろう。
2026/07/16(木) 12:30:37.51ID:tqJQMSog0
>>658
> コンパイラ作成側が1mmも譲らず、あらゆる自由度を最適化余地の既得権益としてるからだが、
未定義動作の意味を理解していないからこんな妄想が出てくる
どんな言語でも仕様の範囲外をどう処理するかはコンパイラやランタイムの自由で、そういうコードは「書いてはいけない」というのは共通している
書いてはいけないコードを書いた結果壊れるのは当たり前で、コンパイラが悪いというのは的外れな主張だ
2026/07/16(木) 12:38:17.69ID:tqJQMSog0
>>670
> C言語は仕様を完全に理解し未定義動作を絶対に踏まないパーフェクト超人向けの言語
これはガチ
別に舵切ったわけじゃなくて最初(仕様が公開された時点)からそうなんだけどね
だから「できない奴は去れ」なんだよな
2026/07/16(木) 12:52:20.03ID:ydvs2Ppy0
>>666
資産はコードであって、コンパイラではない。
勿論、改修の手間も比べ物にならない。

> それに対応しない処理系の使用は絶望的になる
これまでのコードは全て動作するから問題ない。
コンパイラは改修すればいいだけ。

> 最適化の自由度も今より下がる
同上、要するにコードよりもコンパイラを優先する愚かな思考。
ここに自由度残してもバイナリの品質が上がることはほぼ期待できない。
なら、コードの品質を上げるべく、仕様を絞ったほうがいい。

>>670
おかしな選民思想を持たず、タダで出来る安全装置は付けるべきだろう。
2026/07/16(木) 16:00:50.92ID:Wb6p8Q0G6
>>673
> 資産はコードであって、コンパイラではない。
コードが資産なのにコードを動かせないコンパイラが支配的になると困るって話だろ
お前ホント日本語読めないよな
> コンパイラは改修すればいいだけ。
コンパイラも資産であるコードの一部であって、全部改修とか現実見てない奴しか言えないバカげた妄言の最たるもの

あと、まだ >>667 と >>671 で否定した
> コードの品質を上げるべく、仕様を絞ったほうがいい
とかいうバカげた主張を何の反省もなく繰り返してるんだな
バカの一つ覚えとはこのこと

> おかしな選民思想を持たず、タダで出来る安全装置は付けるべきだろう。
おかしな選民思想ではなく、ただの事実だよw
C言語は正しく書ける奴が正しく書くことを前提に仕様が決まっている
安全装置が欲しければRust書いてろって話
2026/07/16(木) 16:02:03.60ID:Wb6p8Q0G6
だから親切に最初からf93c-K2DKみたいな奴向けにRustはあるんだって言ってやってるのに、頭使えないからかバカにして見下してるせいで認められない
2026/07/16(木) 16:13:16.63ID:Wb6p8Q0G6
C言語は自分で仕様チェックしてその通り書ける奴のための言語
それができないならRustコンパイラに丁寧に教えてもらいなさいw
677デフォルトの名無しさん (ワッチョイ 89c0-176r)
垢版 |
2026/07/16(木) 17:30:07.71ID:LAo9fD1s0
>>659
ソードってPIPSのSORD?
2026/07/16(木) 18:08:57.80ID:fgqOLN+Y0
あそこは東芝が捕食した
2026/07/16(木) 18:57:04.27ID:ZwV5Ocxz0
最近はCで書いてAIにRUSTに書き直してもらってる
2026/07/16(木) 19:03:30.95ID:uqiKuVosp
>>679
なんでそんな無駄な事する?
最初からRustで書かせればいいのに
2026/07/16(木) 21:11:52.38ID:vcbnvdP8a
>>659
> (ただまあ、個人的にはRustではないな、と見てる。あれはゴミだ)

ゴミとまでは思わないけど
宣伝文句に対して力不足だと思う
俺も出始めのころから2017年?くらいまでは熱心に追いかけてたけど
なんかもう特にコメントするところもない言語って感じ
Scalaなんかも出始めのころ画期的に見えたけどこれももう何も言うことはない
682デフォルトの名無しさん (JP 0Hd2-Klls)
垢版 |
2026/07/16(木) 21:57:29.54ID:Y27OUNXyH
>>679
言語を変えるならjavaスクリプトからラストとかなら分かるけど、その例だとコード実行速度あんまり上がらなさそう
2026/07/16(木) 22:20:07.90ID:tqJQMSog0
>>681
別に宣伝文句に対しては十分だろ
Cと同等の速度もメモリ安全も実現している
「驚きと楽しさで満ち溢れた古くならない言語!」なんて誰も言ってない
2026/07/16(木) 22:20:43.74ID:tqJQMSog0
そもそも実用的なプログラミング言語に「驚きと楽しさで満ち溢れ」てもらっては困る
2026/07/16(木) 22:22:57.40ID:tqJQMSog0
> ただまあ、個人的にはRustではないな、と見てる。あれはゴミだ (>>659)
> おかしな選民思想を持たず、タダで出来る安全装置は付けるべきだろう (>>673)
こんなこと言ってる奴はシステムプログラミング言語に手出しちゃダメ
2026/07/16(木) 22:23:55.35ID:tqJQMSog0
安全にするためのルールにも文句を言う、でも安全じゃないのは欠陥だと喚く、要するに自分の忍耐も努力も足りないことを他人のせいにしているだけ
2026/07/16(木) 23:22:22.34ID:tqJQMSog0
>>682
安全性を向上させたいのでは?
もっとも、最初からRustで書いた方がいいとは思うけど
2026/07/17(金) 19:07:04.68ID:eJfcvx1B0
やっぱAnnex Kってゴミだわ
2026/07/17(金) 22:40:36.31ID:JPfZ12kA0
_s 関数使えたもんじゃないよな
690デフォルトの名無しさん (ワッチョイ 6108-UT5n)
垢版 |
2026/07/17(金) 22:55:21.97ID:SImBWJDs0
あれは失敗規格だから
2026/07/18(土) 13:25:30.49ID:BkyklCKZ0
エラー出たら勝手に落ちたり防ぎたかったら変なん渡さなきゃいけなかったりめんどくさすぎる
692デフォルトの名無しさん (ワッチョイ 8934-UT5n)
垢版 |
2026/07/18(土) 20:56:27.68ID:BkyklCKZ0
やっぱりMinGW使った方がいいな
2026/07/18(土) 20:56:42.79ID:BkyklCKZ0
あ、下げ忘れた
2026/07/19(日) 06:33:39.80ID:Frm9xG3ua
GNU/LinuxでGCCがいいよ
2026/07/19(日) 10:12:10.69ID:7xyOc8N5M
仮想ソフト使ってインストールしている
2026/07/20(月) 17:46:06.08ID:FTzidL2p0
>>694
OSは好きで選べるもんじゃないから、Linux上で開発しても結局最終的にはMinGWに頼ることにはなるよ
2026/07/20(月) 19:02:44.52ID:TtocmnrPM
最終OSは発注者が決める
2026/07/20(月) 20:07:24.83ID:XCZRRui30
クロス開発しても動作確認 (テスト) をしないわけにはいかないのだし、 Windows 用のソフトウェアを作るという前提なら Linux 上でやる意味はそんなにないな。
以前の Windows はパッケージマネージャが駄目だったから環境構築が面倒だったけど今は scoop とかがあるし。
2026/07/23(木) 13:24:55.11ID:pykcIHbI0
オレなんかが仮想環境利用するのは、
1台でサバクラ環境作れるからなんだわ
700デフォルトの名無しさん (ワッチョイ 7763-knxu)
垢版 |
2026/07/24(金) 05:10:49.53ID:taerOtS60
MinGWはWindowsでGCC使えていいよな
2026/07/26(日) 12:41:26.26ID:VyQRUqSH0
一応windowsで使えるgccはある
702デフォルトの名無しさん (ワッチョイ 126a-x+NG)
垢版 |
2026/07/27(月) 04:55:21.25ID:e++5CBjU0
wsl でやるのが楽
2026/07/27(月) 09:41:26.81ID:8CHRIz050
MinGW の Min は Minimal の Min

実際には autotools などのツールチェインやパッケージマネージャと連携しないと使えるライブラリのビルドや利用がやりづらいので Cygwin や Msys2 などの環境内で MinGW を入れたほうが良いと思う。
WSL でも良いけど MinGW のために WSL を入れるのだとしたらちょっと過剰かもしれない。
2026/07/27(月) 12:35:14.45ID:PNTs1cOJ0
Minimalistな、MSYSじゃねーんだからw
Minimal GNUじゃ表したい概念とちょっと違うだろうよ
705デフォルトの名無しさん (ワッチョイ 8667-+gKb)
垢版 |
2026/07/27(月) 12:48:11.63ID:oRGv7FaG0
Minimalist GNU for Windows
らしい
706デフォルトの名無しさん (スップ Sd52-UNRu)
垢版 |
2026/07/28(火) 15:57:03.29ID:HGwE9+Ced
>>703
間違えてた知識教えてもらえて良かったじゃん
見たらお礼の一言でもあってもいいかもね
2026/07/30(木) 13:39:05.46ID:yLT+MEzH0
お礼は物の方が良いぞ
ここに住所と氏名を書いておけ
708デフォルトの名無しさん (ワッチョイ e375-wiNW)
垢版 |
2026/07/30(木) 14:32:08.34ID:Jc6qJmGq0
>>706
掲示板にそういうのを求めても意味はない
709デフォルトの名無しさん (ワッチョイ 53b0-x+NG)
垢版 |
2026/07/30(木) 16:31:20.42ID:CgQTNK3f0
お札を送る
2026/07/30(木) 17:05:29.27ID:yLT+MEzH0
どこの神社が良いですか?
2026/07/30(木) 17:42:55.17ID:4lG5CXrP0
昔cygwinとかあったけどな
2026/07/30(木) 18:03:04.84ID:yLT+MEzH0
悪バグ退散!
713デフォルトの名無しさん (ワッチョイ e38f-wiNW)
垢版 |
2026/07/30(木) 21:20:21.35ID:Jc6qJmGq0
>>710
神社に行って参拝してはならない
714デフォルトの名無しさん (ワッチョイ 126a-x+NG)
垢版 |
2026/07/31(金) 16:28:40.30ID:MilBLIr/0
>>711
今もあるようだが
https://www.cygwin.com/
2026/08/01(土) 02:40:44.14ID:fT3Cj9Cj0
WSLは結局Linux仮想環境だからそこでビルドしたってそのままじゃWindows向けには動かせない
Linux側でクロスコンパイルするにしても、Windows側でコンパイルするにしても、MinGW-w64 UCRT64を使うのが王道
2026/08/01(土) 20:10:39.84ID:WJ2D9tE50
OS固有の機能を使ってないのであれば
Windowsでも動くんではないですか?
2026/08/01(土) 20:24:51.00ID:PAijeuDp0
そもそも実行ファイルフォーマット (をメモリに展開するローダの仕様) がOS固有なので……
Linux だと ELF で Windows は PE
2026/08/01(土) 21:29:20.93ID:WJ2D9tE50
それはそうですね
言葉が不足しました。
2026/08/02(日) 08:29:31.94ID:VpP1GNu10
DOS時代はハード固有の機能を使わければ(キーボードBIOS使わず標準入力関連コマンドを使う等)
同じ系列のCPU/OSの他ハード(PC-98/TOWNS/DOS/V)でも動くというのはあった。
720デフォルトの名無しさん (ワッチョイ ff6a-IV3f)
垢版 |
2026/08/02(日) 10:11:48.55ID:4pM5NiIU0
OSというのは元々そういう互換性を狙って作られたものだった
2026/08/02(日) 12:24:33.49ID:wd/chQhv0
UNIX 以降の OS はハードウェアの違いを吸収する仕組みがある程度はあるけど最初からそれを目的のひとつとしていたかと言うとちょっと疑問。
数十年前に雑誌 (おそらく UNIX USER だったと思う) の連載記事で読んだことがあるようなないような曖昧な記憶だから不確かだけど。
2026/08/02(日) 19:57:26.73ID:r6PbvvWa0
汎用機の世界でも、富士通がIBM互換を狙った理由はそれでしょう
723デフォルトの名無しさん (ワッチョイ cfa9-ZC/C)
垢版 |
2026/08/08(土) 07:51:37.48ID:tgeCoHLT0
5ch でズレないヘミ猫ない?
或いは誰か作ってくれない?

これしか見つからなかった。
http://kako.5ch.io/test/read.cgi/tech/1101615970/
  ヘ_ヘ
 ミ・・ ミ
 ( °)〜
2026/08/10(月) 10:47:56.84ID:YQMvMFmB0
奥さん優秀な方だよな
725デフォルトの名無しさん (ワッチョイ ca6a-a205)
垢版 |
2026/08/11(火) 04:41:54.97ID:HGIrT5e70
ヘ_ヘ
ミ・・ ミ
( ° )~

これでどうか?
726デフォルトの名無しさん (ワッチョイ ca6a-a205)
垢版 |
2026/08/11(火) 04:56:00.15ID:HGIrT5e70
 ヘ_ヘ
ミ・・ ミ
 ( ° )~

難しいな
727デフォルトの名無しさん (ワッチョイ ca6a-a205)
垢版 |
2026/08/11(火) 04:58:05.08ID:HGIrT5e70
 ヘ_ヘ
ミ・ ・ミ
 ( ° )~

うーん・・・
2026/08/11(火) 07:11:42.65ID:mx4kfv350
2ちゃんねるの AA はMS Pゴシックを前提にする習慣なので微調整が必要であればメモ帳でMS Pゴシックを設定して微調整すべし。
各ブラウジング環境のフォント次第なのでズレない方法というのは無い。
729デフォルトの名無しさん (アウアウウー Sa2f-a205)
垢版 |
2026/08/11(火) 12:49:50.22ID:ptuB6G5ta
質問者は
gccを使いたいのか
cygwinを使いたいのか
windowsを使いたいのか
はっきりさせるべき
2026/08/11(火) 17:03:31.82ID:8gMqyrhP0
OpenLDAPみたいなプログラムを作ってみたくて、はじめてのCを買ってきました。
何日位で作れそうですか?
731デフォルトの名無しさん (ワッチョイ dffb-DzFd)
垢版 |
2026/08/11(火) 17:38:38.39ID:+J6O4mZm0
半日
2026/08/11(火) 18:41:29.94ID:dw8FDprd0
作るのは簡単
動くかどうかは不明
2026/08/12(水) 08:45:34.52ID:VHBhB4BD0
>>730
本の内容から作るとすれば、標準入出力と構造体、制御構文、ファイル入出力を学んだら原型動作が作成可能かと。
何日で作れるかは読本ペースと理解度、追加機能とそのために必要な追加学習次第
734デフォルトの名無しさん (ワッチョイ 0fec-QY+j)
垢版 |
2026/08/12(水) 11:07:31.96ID:9FHMbNhA0
まずはポインタの習得が肝心だよ
2026/08/14(金) 19:08:29.19ID:psnt77tf0
ポインタの習得できたら、
次はなんですかね?
2026/08/14(金) 20:24:35.19ID:aAzkQlPJ0
たとえばポインタについて細部を学ぼうとしたらメモリ管理とも型システムとも強い関連性があって、それらを無視して理解することはできない。
つまりひとつを完全に習得してから次の機能を学ぶなんていうきちんとした順序はつけられない。
そこをどうにかして上手いことわかりやするために入門書は腐心してるのでとりあえず一旦は入門書を最後まで読んで理解することに努めたらいいと思う。
こんなところで聞くより入門書の著者や編者の努力を信じるべき。
どうしても理解できない箇所をピンポイントで尋ねるなら掲示板も良いだろうけど本の体系的な説明のほうが全体としては良い説明になってるはずだよ。
2026/08/14(金) 23:16:13.50ID:A9d+qFaE0
おすすめ「苦しんで覚えるC言語」
サイトもあるけど、やっぱり本じゃないとね
古い本だから今更新品の本を買う必要なし、アマゾンで中古本をポチればいいよ
2026/08/14(金) 23:45:48.71ID:psnt77tf0
電子書籍で良いのでは
2026/08/15(土) 01:05:25.19ID:AdrCUUhP0
> おすすめ「苦しんで覚えるC言語」

サイト見たけど間違い結構あるなw
740デフォルトの名無しさん (ワッチョイ 3316-Rd74)
垢版 |
2026/08/15(土) 01:39:47.95ID:3eHbAMFe0
Geminiのガイド付き学習でインタラクティブに学習できるよ
そういう時代
2026/08/15(土) 07:47:55.99ID:Wxt72Cnl0
質問が見当はずれだと回答もよくわからん。
Gemini に手伝ってもらうにしてもベースとしてはちょっとした入門書はあったほうが良い。
2026/08/15(土) 09:06:14.48ID:GGQ2s86t0
ちょっとした入門の、
範囲が知りたいんだが
2026/08/15(土) 10:55:07.00ID:AdrCUUhP0
> ちょっとした入門の、範囲

未定義動作を正確な知識により踏まなくなる程度
2026/08/15(土) 10:59:52.53ID:mirUALuA0
Z知能にCは無理
Rust知能にもCは無理
2026/08/15(土) 11:04:02.85ID:GGQ2s86t0
殆どの人はそれで十分だと思うよな
2026/08/15(土) 11:24:16.96ID:Wxt72Cnl0
私が入門したのは何十年も前の話だから……その頃の感覚で言われても困るだろう。
C に入門するより先に機械語をいじっていたタイプの学習ルートを経ていて、私の同世代は少なからずそんなものだが明らかに現代的な学習ルートではない。

そんで分かってしまうといまさら入門書を見て良し悪しの評価なんかできない。
説明に間違いがあれば指摘はできるけど分かり易さは別の話だし、方便として多少の不正確さを許容したほうが良い場合もあるし。
おそらく入門書は教育者が実際に教育に使いながらフィードバックを重ねたものが良いものになるんじゃないかと思う。
2026/08/15(土) 17:28:19.72ID:GGQ2s86t0
す自動変数
2026/08/15(土) 17:29:53.06ID:GGQ2s86t0
すまん
自動変数を一杯宣言し過ぎてスタック破壊した経験ってないですか?
2026/08/15(土) 18:09:54.17ID:mirUALuA0
>>746
> 教育者が実際に教育に使いながらフィードバックを重ねたもの
=大学の講義資料だろ
今ならStanfordやMITや東大からそこらの駅弁まで手に入る
2026/08/15(土) 18:13:40.05ID:mirUALuA0
>>748
コンパイル時に指定すればスタックサイズを増量できる
2026/08/15(土) 18:33:03.44ID:Wxt72Cnl0
>>750
Windows だとスタックの上限は実行ファイル内に格納されるパラメータだからコンパイル時の指定で変えられるけど現代的 OS の一般論としては OS の側の設定値として持っているのが普通だと思う。
少なくとも Linux や BSD だとそうなってる。
2026/08/15(土) 18:51:17.00ID:vxBg0KLF0
普通はヒープ使うからなぁ
レスを投稿する


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