C言語なら俺に聞け 163

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7bba-Lem2)
垢版 |
2024/07/16(火) 22:43:54.18ID:ZrsCjURC0
!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言語なら俺に聞け 162
https://mevius.5ch.net/test/read.cgi/tech/1698653580/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
627デフォルトの名無しさん (ワッチョイ 6a56-WFrT)
垢版 |
2025/02/10(月) 16:46:22.93ID:xKid5uSQ0
よく分からないがこうなる理由が分からないという意味の質問かな?
まあそうだとして、C言語では異なるオブジェクトへのポインタを比較出来ないってルールがある
それが行われているので、未定義の動作といってこのプログラムではコンパイラがどんな事をしてもいいことになってる
そのどんな事の中にはnot equalを表示するという動作も含まれているので、たまたまそうなったんでしょう
初心者がよくやるFAQレベルのミスなので、ポインタとオブジェクトを理解する意味でその辺も読んでみればもっと上達するでしょう
他にもヘンな部分があるので色々他の人のコードとかも読むといいね
2025/02/10(月) 17:14:00.11ID:cWC6BpGk0
>>627
ポインタにはアドレスが入ってるだけという話題が出てたからそんなことはないという注意喚起。
2025/02/10(月) 17:18:14.15ID:cWC6BpGk0
>>623
文意がよくわからんが初期化されてないから不定値になってるんじゃない?
2025/02/10(月) 17:44:23.62ID:1DQgWNxh0
>>627
> よく分からないがこうなる理由が分からないという意味の質問かな?
このスレは初めてか?
はちみつさんがそんな質問するわけないだろ
2025/02/11(火) 00:58:16.10ID:nkHTE6y60
これはどういうことなんだ?
foo、barの順にスタックに積まれる
bazにはfooの次の(intの境界の)番地(barと同じ)が入り、quzにはbarの番地が入る
bazとquzには同じ番地(値)が入っている
までは分かる
bazもquzもint型を指している
が、bazとquzの内容を比較するとことなる
なんじゃこりゃ〜
酔ってなくても分からなそう
2025/02/11(火) 01:04:37.69ID:nkHTE6y60
>>627がいうことがそれなのか
未定義だと
アセンブラ脳だと同じとみなしてくれてよさそうだけど、難しいね…
2025/02/11(火) 08:30:33.47ID:YWsMUNTvp
型変換すればOK
2025/02/11(火) 11:05:12.56ID:0+q77CUl0
>>632
強調しておくけど未定義は何が起こってもよい。
この場合は一応は式が式として評価されたかのように動作してるので比較的マシな部類で、未定義を踏んでいる箇所とは遠く離れた箇所で意味不明の動作が起こることもある。(起こってもよい。)
低レイヤから入った人は未定義をナメてることが結構あるとは思う。
どのような機械語にコンパイルされるか想像できる (と本人は思っている) 故の弊害だなぁ。
2025/02/11(火) 11:22:08.87ID:kmJe274sp
Cなんてポインターは全部void*だろ
2025/02/11(火) 11:37:41.91ID:7Jzkf7ZG0
ご無体な
2025/02/11(火) 12:35:30.87ID:m4FoXgHJ0
>>626 は僕のgccのパージョンだと
-O2 ありだと "not equal"
最適化なしだと "equal"

-S つけて .s をみると、-O2 ありのときポインタの比較すらせず単純に
puts("not equal");
とするコードを出力していた
"equal" のリテラルすらコードにはない

降参
2025/02/11(火) 13:33:00.20ID:jMpjlVqA0
strict aliasingのルールがなぜあるか理解してたらある程度予想つくだろ
639デフォルトの名無しさん (ワッチョイ de76-/Fy3)
垢版 |
2025/02/11(火) 14:32:56.35ID:VhWouMxY0
そもそも 8Byteや4Byte変数のポインタが例えば奇数の数値が許されるのかとか
2025/02/11(火) 14:40:28.60ID:7Jzkf7ZG0
文字列を指すポインタなら、一文字ずつインクリメント出来ないと困るよね
2025/02/11(火) 14:52:06.30ID:+ybAiMfGp
>>639
CPUによる
2025/02/11(火) 15:43:23.98ID:jMpjlVqA0
>>639
それどこへのレス?
2025/02/11(火) 16:44:48.97ID:ZUCQJ4rmM
>>640
いつ困るんだ?
2025/02/11(火) 16:59:49.92ID:MJELNENN0
>>627
最適化されると出力されるコードを推測することは無理だ、ということね
2025/02/11(火) 17:19:32.60ID:jMpjlVqA0
無理はいいすぎ
やったことないやつがしったかすんな
2025/02/11(火) 17:20:33.85ID:0gFNLz1yp
ARM系はほんと無理
2025/02/11(火) 18:37:22.58ID:2gjYX+K80
貴方みたいな人はほんと無理
とか言われたら傷ついちゃう
2025/02/11(火) 21:27:22.00ID:JzAdQ4dR0
とりあえず読むべし
旧石器時代のポインタをご利用の皆様へ 〜provenance入門〜
https://qiita.com/__pandaman64__/items/1788a90ae5be79cc908b
2025/02/11(火) 21:52:04.81ID:m4FoXgHJ0
>>648
thx!
2025/02/11(火) 21:58:43.75ID:VhWouMxY0
こんなの分割コンパイルしたら分からないし ライブラリならなおさら
実行時にどのオブジェクト由来なんて情報持っておけるのか?

int func(int *ip, int *iq)
{
if (ip == iq) {
} else {
}
}
2025/02/11(火) 22:39:07.83ID:jMpjlVqA0
コンパイル時に決まってんじゃん
652デフォルトの名無しさん (スップ Sd4a-26Jk)
垢版 |
2025/02/11(火) 23:02:33.92ID:DgpMDse2d
このコテハンの人いつもこんなだよね
まともに出来るのが規格のコピペみたいな事だけで、それ以外だとすぐとんちんかんな事言い出して突っ込まれてる
2025/02/11(火) 23:17:19.29ID:0+q77CUl0
>>650
わかる範囲でやるってだけ。
わからないところは保守的なコードを生成する。
ただ、今は LTO があるのでわかる範囲がだいぶん広い。

わからないからこそプログラマは未定義なことをしないと仮定した最適化をする (未定義を踏んでたらむちゃくちゃになる) という場合もある。
2025/02/12(水) 10:25:19.84ID:WVzDbo940
>>648
ポインタpとqの値が同じにならないんだけど…
2025/02/12(水) 10:28:46.36ID:p1VJlK94p
Cに余計なもん付けたらいにしえのLinux由来のコードが通らなくなるだろ
656デフォルトの名無しさん (ワッチョイ 6a4d-WFrT)
垢版 |
2025/02/12(水) 11:20:54.68ID:OojhOsKe0
未定義の動作がどういうことなのかよく分かっていない人がいるみたいなので補足しておく

>>628
未定義の動作を引き起こすプログラムを提示しても結果が分からないし毎回違う可能性もある点でこれだと何も示せてない
きつい言い方かもしれないが注意喚起になっていない
>>634の2行目を見るとコードの動き方に対しての認識として不定の動作と未定義の動作を混同して勘違いしてるかも知れないね
657627 (ワッチョイ 6a4d-WFrT)
垢版 |
2025/02/12(水) 11:21:58.36ID:OojhOsKe0
>>631
未定義の動作なので2行目から7行目のような事が起きるかどうかは分からない
仮に未定義の動作がなかったとしても行目を自明のように仮定することは出来ない
アーキテクチャが色々ある中そういう処理系もあればそうでない処理系もあるしCでは何も規定してない
スタックの仕組みがないものもあればポインタをそもそも数値や番地で扱わないアーキテクチャもある
後段も同様
658627 (ワッチョイ 6a4d-WFrT)
垢版 |
2025/02/12(水) 11:22:39.59ID:OojhOsKe0
>>644
コンパイラの動作に対して必要条件が何も設定されない状態になるという話で最適化は全く関係ない

ちなみに今回の話はK&Rの頃からあるルールなので>>648とはちょっと違う
ただ内容は大体同じでポインタはオブジェクトを指してるもので、その内部形式や扱い方はユーザーが知る必要はない
2025/02/12(水) 11:47:09.26ID:cXwd7RB80
>>658
言語仕様上で未定義動作とされている状況が実際の機械の上でどう動作するか (その動作は想像できない) という文脈でヤバさを伝えるためになるべく想像外な結果を生む実例を出そうとしているので最適化は関係ある。
2025/02/12(水) 11:50:24.83ID:XyTZkBHop
最適化しないと無駄なコードや無意味なコードも忠実に出力されるからなぁ
2025/02/12(水) 12:49:03.57ID:J/UI6pYQ0
>>658
未定義だから不明を連呼されても大して参考にならんわけで
なぜ現実のgccではあのような結果になるのか理由を説明できないのか?
わかってないようだけど最適化は大いに関係してるぞ
2025/02/12(水) 13:26:30.21ID:7GgOweZ60
えーと未定義や環境依存を使ったりとかは
Cおよびコンピュータの理解が不十分な
質の劣るプログラマが存在するからでしょうに

そういう人達に重要プログラムを書かせる責任問題でもある
2025/02/12(水) 15:09:37.68ID:+Pz/j8Me0
相手に過大に説明を要求して、自分は分かろうとしない者は嫌われちゃうよ
2025/02/12(水) 15:17:35.67ID:iId2MJ1V0
gccのフォーラムで質問出してみたら?
参考にできる回答が得られるかも知れないよ
2025/02/12(水) 15:52:05.07ID:WVzDbo940
>ポインタにはprovenanceという,どのオブジェクト由来かの情報が含まれています

↑まずこれがおかしい
2025/02/12(水) 16:26:28.23ID:I956D6cKp
ランタイムじゃなくてコンパイル時の静的なルールだろうね
2025/02/12(水) 17:12:16.79ID:1bCkYFVx0
投資家はRustを信頼するって言ってるんだから、Rustとおんなじようにすればいいだけ

俺はC/C++派なので、どんどんRustの実績をぶんどってくるべきって思ってる
2025/02/12(水) 17:47:13.48ID:cXwd7RB80
>>667
Rust のようにやるなら Rust のほうが巧くやれる。
当たり前だろ。
2025/02/13(木) 00:32:14.00ID:rym7RjTu0
移植性が求められることばかりでもないし、最適化などのオプションも頻繁に取ったりつけたりしないし、思い通りに動かなければアセンブルリストみたりするけど、コンパイラが出力するコードが予想通りかなんて観点はないし、実践的ではないけど、人を小馬鹿にしたりしなければ勉強になって面白い話なのに
2025/02/13(木) 00:34:29.37ID:rym7RjTu0
実践的でない、はちょっと違うか
671デフォルトの名無しさん (ワッチョイ 8655-u07z)
垢版 |
2025/02/15(土) 13:31:47.16ID:vKfoke/00
Arduino (ESP32)で文字列変換をしたいです。
tの文字列をtm structに変換したいんですが,タイムゾーンのオフセット部分の+9:00の扱いが分かりません。
%Zはタイムゾーンのオフセットを分を指定する場合で、%zだとUTCなどタイムゾーン名を指定する場合に使うみたいでした。
どうやるんでしょうか?

tps://pastebin.com/Jcyj8BG5
2025/02/15(土) 15:04:44.95ID:ewglApEf0
strptime で %z や %Z でタイムゾーンを扱えるのは glibc の拡張 (他で真似している場合もあるかもしれんけど) なんだけど、 Arduino の C ライブラリは glibc ベースなの?
そうじゃないなら各ライブラリのドキュメント (またはソースコード) を読まないとわからないし、そもそもそんな機能はないのかもしれない。
673デフォルトの名無しさん (ワッチョイ 5357-u07z)
垢版 |
2025/02/15(土) 16:19:42.94ID:BNBq5D0N0
>>672
どうもありがとうございます
%zのようなのを使わず+の前後で分けてまず前だけでtm structに変換して後ろはエポック秒が何かに変換して使うのがベターでしょうか?
2025/02/15(土) 16:25:20.46ID:Q9F/iLI2M
やり方思いついたならやれ
2025/02/15(土) 16:39:17.28ID:ewglApEf0
>>673
どうやら Arduino は newlib ベースの模様。
newlib の strptime はタイムゾーンをサポートしてない。

どうにかしてタイムゾーンを扱いたい場合にどうやって実装するかは個々の事情によると思うのでなんとも言えない。
実績のある実装をどこかから持ってきたほうが良いんじゃないかと個人的には思う。
https://www.google.com/search?q=strptime+implementation+c
パースするだけならたいして複雑なものではないので自分で書いてみてもいいかな。

ちなみにタイムゾーンを略称で扱うのは面倒な事情が絡む。
タイムゾーンを標準時からの差の時間で表すときはその時点での差があれば十分なので簡単なんだけど、略称で表すときはサマータイムの情報もいる。
たとえばニューヨークのタイムゾーン (EST) は普段は -05:00 だけどサマータイム中は -04:00 になる。
単に EST=-05:00 というわけではない。

そんでもってこのへんの扱いが面倒なのは変わることは割とよくあるということ。
サマータイムの期間が変わったりずらす時間が変わったり、あるいはゾーンが増えたり減ったりするのは政治的な判断なので情報を定期的に更新する前提じゃないときちんと運用できない。
パソコンの OS だと適当なタイミングで更新する仕組みがあるのが普通だけど組み込みシステムだとそうもいかないこともある。
2025/02/15(土) 21:12:02.85ID:ewglApEf0
基本的なことを書き忘れてた。
strptime は C の言語仕様には無い関数で、 POSIX (UNIX 系 OS の統一仕様) にある。
POSIX は最低限の共通部分だけをまとめたもので実装には雑多な拡張を入れる前提なので各実装によってサポート内容が違う。
POSIX 準拠ではない環境で部分的に POSIX を真似てるだけ (POSIX の最低限の要求も満たしてない) ということもある。
677デフォルトの名無しさん (アウアウエー Sa13-9cJ9)
垢版 |
2025/02/16(日) 12:03:53.19ID:rAQQ2/+ca
最初からtmstructをUTCで取得した方が楽ジャマイカ
2025/02/17(月) 01:18:04.49ID:mzGEyEzq0
有効な同型ポインタの比較において、同一オブジェクト/配列由来でない場合、
== の結果は 0
(未定義動作ではない)

C99(N1256) Annex J.2 Undefined behavior

— Pointers that do not point to the same aggregate or union (nor just beyond the same
array object) are compared using relational operators (6.5.8).

ここに Equality operators の記述がない。

6.5.8 Relational operators
6.5.9 Equality operators
でも同様の内容となっている。また、

N3231 https://www.open-std.org/jtc1/sc22/WG14/www/docs/n3231.pdf
2024/03/21 Kleynhans, TS 6010 A Provenance-aware Memory Object Model for C, Revision Draft
N3005
2022/06/16 Gustedt, A Provenance-aware Memory Object Model for C, draft TS 6010, version June 2022

では、provenance と abstract address という用語が導入されてスッキリとした文面になっている。
2025/02/17(月) 10:52:55.67ID:tIRsmIw80
C99 をあらためて読み返してみたら確かにそうだ……。

・ ふたつのポインタが等しいと判断される条件が書いてあって「その場合に限り」等しいとする
・ 各演算子は指定された関係が真の場合は1を,偽の場合は0を返す
・ 未定義と書いてある (またはそれと等価な言い回し) か動作の明示的な定義がない場合は全て未定義

等しい条件を満たさないなら 0 が返されることを保証していることになるので未定義ではないことになる。

でもまあ現実的に考えたらおかしいし、欠陥報告が出てたりしない?
2025/02/17(月) 19:30:42.26ID:iQTBmgHC0
>>648のサンプルプログラムで同じことが起きることってある?
681デフォルトの名無しさん (ワッチョイ 23ad-MHHu)
垢版 |
2025/02/22(土) 07:05:24.68ID:nEyoRU5r0
>>680
WSL2 の Ubuntu 22.04.5 にインストールされている gcc 11.4.0 で gcc -O でコンパイルしたら起きた。
-O なしだと起きない。
2025/02/22(土) 12:11:54.96ID:DWcN/KDk0
余計なことを
683デフォルトの名無しさん (ワッチョイ 23ad-MHHu)
垢版 |
2025/02/22(土) 14:47:10.43ID:nEyoRU5r0
最適化オプションの有無で違いが出る状態はできれば止めて欲しかったな。やるとしても別オプションでやって欲しかった。
2025/02/22(土) 16:41:59.90ID:Z2hFLtuL0
その壁越えられないやつ多いよね
仕事でも最適化すると動かなくなるからってオフでリリースしてた雑魚エンジニアいたわ
2025/02/22(土) 17:57:58.33ID:HOxFgRC/0
コンパイラのバグって事じゃないのか?
2025/02/23(日) 20:21:42.14ID:5K9CwmG10
>>683
-0 はいくつかの具体的な最適化オプションを束ねたものだよ。
https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-O
このうちのどれが効いてるのかは知らんけど。
2025/02/23(日) 21:01:43.23ID:VuC2otmU0
>>684
最適化オフでのリリースは一つの有力な選択だと思います。
2025/02/23(日) 21:45:10.07ID:K8mfivgh0
最適化に副作用あるのは常識
2025/02/23(日) 21:54:21.08ID:FQnOu1obM
>>687
まザコならしょうがないわな
組み込みならハードのコスト一段下げられるけど諦めるしかない
そんなザコ会社だから低収入もしかたない
2025/02/24(月) 01:00:54.17ID:IorN2uWP0
自己紹介かな
2025/02/24(月) 17:12:08.95ID:qLUUxQg70
gccなら-O0でも実施される最適化はあるので本気で最適化オフにしたいなら-O0で有効になる項目を-fno-に個別に指定する必要がありそこそこ面倒
2025/02/24(月) 17:18:13.77ID:SlW5Uo1a0
最適化オフとか言ってる人は、UBを踏んでしまってるから最適化で動作が変わるってことわかってんのか?
2025/02/24(月) 17:22:09.48ID:qLUUxQg70
まあコンパイラの最適化バグである可能性もないわけではないがな
2025/02/24(月) 20:28:13.00ID:V/nislFh0
組み込み分野だと最適化によりデバッグがしづらくなることが多い。
2025/02/24(月) 21:56:17.54ID:JeKlmQzN0
gccで -O2 なし -Wall ありでコンパイルすると strict aliasing の警告がでないけど、
-O2 -Wall ありだと strict aliasing の警告が出るケースに当たったのだけど、
strict aliasing って安全に最適化するためのアレなのですかね(最適化しないときは strict aliasing には無頓着)
696デフォルトの名無しさん (ワッチョイ d5a2-eBms)
垢版 |
2025/02/24(月) 22:52:40.44ID:ifUFLigf0
この人たちホントgccが大好きだよね
2025/02/24(月) 23:27:53.22ID:LsxokMxo0
gccはいろんな環境で動かせるので便利ではある
2025/02/25(火) 01:13:30.67ID:t+eQGWY+0
>>694
それ組み込み関係ないから
2025/02/25(火) 08:31:05.22ID:6jOr+W/20
>>695
警告を出すためには警告の条件に引っ掛かっていることがわからないといけないという単純な前提がある。
結果を使いもしないのに警告のためだけにエイリアス解析を頑張るのは合理的か?
2025/02/25(火) 09:04:02.65ID:ODzMt1Nm0
>>698
そうだった
2025/02/25(火) 23:42:18.97ID:MFbkYyJ10
>>699
最適化しないときは strict aliasing が不要なものなんですかね(最適化のための strict aliasing なんですかね)というつもりで書いたのだけど、分かりにくくてすまんね
2025/02/26(水) 10:14:24.43ID:6jOr+W/20
>>701
少なくとも GCC や Clang では strict aliasing rules は最適化のためのものという認識で正しいよ。
-fstrict-aliasing (やこれらを含む -O2 以上の最適化) が有効になっているときに限りエイリアスベースの最適化をするし、そのときだけ strict aliasing rules が守られていることを要求する。
2025/02/26(水) 11:04:16.19ID:x+jOZkKw0
strict aliasing rulesを守らないと未定義動作となるのはC言語の決まりなので特定の処理系で問題ないから守らなくて良いという考えは馬鹿のすること
2025/02/26(水) 11:20:14.18ID:t+eQGWY+0
というかstrict aliasing rulesをわかってるやつがあえて守らないって考えにくいでしょ
このスレを見てわかる通りわかってないやつらが大半
2025/02/26(水) 11:38:18.47ID:6jOr+W/20
ビットパターンを別の型で読み替える可能性があるなら最初から union で書いておいたほうが人にとっても読みやすいしな。
(C++ では union でも common initial sequence の読み替えしか許しておらず、 C より制約が厳しいので注意。)
2025/02/26(水) 15:23:36.19ID:6jOr+W/20
>>703
未定義は「規格としては何も要求しない」なので処理系が何らかの追加保証をすることを禁じてない。
2025/02/26(水) 15:45:51.57ID:x+jOZkKw0
特定の処理系と心中するつもりでstrict aliasing rulesを守らない奴がいたらすごい馬鹿
2025/02/26(水) 23:04:05.93ID:0kyhL3S/0
>>702
助言をありがとうございます!!
>>701 より
2025/02/27(木) 00:09:51.30ID:oCSgSskf0
>>707
移植しないなら別にいいんじゃないの
2025/02/27(木) 08:29:36.37ID:Uw13P3Kf0
>>709
将来の更新の可能性も考慮しないわけね
2025/02/27(木) 09:04:57.33ID:smeEQtfp0
だから将来も移植しないんだろ
2025/02/27(木) 09:23:08.30ID:Uw13P3Kf0
移植と更新は違うぞw
2025/02/27(木) 10:21:51.11ID:6jIPAcTSM
そのどうでもいい仮定話いつまでやんの?
2025/02/27(木) 22:25:43.54ID:rdt/oSxr0
【帰化朝鮮人を論破】
日本は帰化朝鮮系の家系の人間によって隣国の大韓民国と北朝鮮に侵略行為を受けている
彼らがやっていることは「差別」を盾にした日本人を対象にした迫害であり「民族浄化」である
国際法でもこのような行為は決して許されていない
しかし何となく加害者が日本人で、差別されているの朝鮮系と言う意識を刷り込まれて彼らに遠慮してないか?

事実は逆である、加害者は彼らの方で迫害されているのは日本人である、まずこの意識を共有しよう

なぜそうなっているのか? 新聞、出版社、司法、テレビ局、会社の起業家、大学教授などが帰化系の人間で徒党を組み
日本人を差別、排除してまるで日本人であるかのように振舞っているからである
テレビに映り世論を形成している人間が日本人の振りをして韓国、北朝鮮に有利になるように論調を組み、
日本を支配し、日本人が朝鮮人に隷属することを強要している
これが侵略行為以外のなんなのか? なぜ日本人が日本で差別の対象にならなければいけないのか?
帰化系が起業し外部の朝鮮系と通じ合い会社を成功させる、または帰化系が既存の会社組織でトップに居座り
管理職を帰化人系のみで固め、日本人は閑職に追いやられ、パワハラで辞職に追い込まれ
その会社の技術を朝鮮半島に流出させ、日本企業が競争力を失っていく
芸能人、テレビ局員、スポーツ選手(五輪代表、野球、サッカー)、報道関係者は帰化系で独占されている
もはやテレビに映る人間はほとんど日本人ではないと考えろ 
では何をするべきか?
もはや野党はほぼ全員、もはや自民党も過半数以上は帰化朝鮮人系の家系の人間が国会議員を占有しつつある

まず「政治家に立候補する時、外国の家系の人間か否かを公表する」を提出して過半の賛成を取って立法化しよう
国際的にもごく一般的で、アメリカでも何系かはすべて明らかにされている
そうなると帰化人の家系の人間に支配されたメディアは差別だと糾弾し始め帰化人たちが暴動やら起こすだろう、
日本は荒廃の一途を辿る、内戦状態に近いものになる
だがそれは当然のこと、国内で隣国の人間による侵略行為、民族浄化行為を受けているのだから
時間はあまりない、やつらが過半数を確保してからでは遅い、韓国北朝鮮に占領されてしまう
日本人よ、まず声を上げるのだ
2025/02/27(木) 22:56:45.28ID:c6/rsZNB0
まず統一を潰さないと
2025/02/28(金) 00:14:09.12ID:FWjziINm0
>>713
次のお題が来るまで(w

我流独習マン(俺含む)には、こそっとありがたい話
ややもするとすぐ浦島になっちまうw
2025/02/28(金) 10:32:16.41ID:aDguz5rE0
>>705
念のために確認してたら union のメンバを他の型の違うメンバで読み替えて良い規則は JIS (JISX3010:2003) には書いてないっぽい。
欠陥報告で後から修正したから JIS を出した時点では原文にも書いてなかったんだな。
https://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_283.htm
2025/03/11(火) 17:38:04.47ID:GvJGmymX0
C の公式サイトが登場!
https://www.c-language.org/
2025/03/12(水) 20:15:01.01ID:echC0lcV0
AIのおかげでCが主流になるかもな
2025/03/12(水) 21:03:53.54ID:pJ5qTyUbp
>>719
それは無い
721デフォルトの名無しさん (ワッチョイ 794b-XET2)
垢版 |
2025/03/12(水) 21:59:36.42ID:WyQEi83H0
AIコーディングが進化した結果直接機械語で出力できるようになったけど人間が読めないのは困るから最低限人間が読めて速度も出るCで出すのが主流になるみたいな妄想
2025/03/12(水) 22:07:09.85ID:/p3tzJNRp
AIは何も指定しなきゃjavaやpythonやC#のコードを吐き出すよ
2025/03/18(火) 10:34:05.62ID:mIJI9ibF0
cはむずい定期
2025/03/19(水) 20:09:43.41ID:WDKEEomI0
文法的にはポインタ周りが(少し)難しいだけ
個人的にはpythonの方が難しく感じるな
2025/03/19(水) 20:44:03.52ID:SWZJHd7L0
C が未定義をエラーとして補足せずに黙って変になることがあるのは入門書などをまともに読まずにいろいろ弄って学ぶタイプの人には向いてないな。
ちゃんとした入門書をちゃんと読むならそんなに難しいわけではない。
しかし難しくないことでもしょうもないミスをするのが人というものだという現実もあって、特に規模が大きくなると C はしんどい。
難易度とかいうのとは別の話として、理解していても間違う。
726デフォルトの名無しさん (ワッチョイ 13ad-avMV)
垢版 |
2025/03/20(木) 04:57:02.69ID:07u24rkx0
まあしかしこの頃のコンパイラは警告やエラーを沢山出してくれて分り易いよ。
昔のはチェックが緩くて出なかったからな。
その状態から gcc で printf() のフォーマットと引数のチェックが出来ると知った時は衝撃を受けた。
2025/03/20(木) 17:01:49.87ID:iinwNT6F0
>>726
それな、オプションさえちゃんと付ければ昔でもできてたよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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