dust→ダスト
just→ジャスト
must→マスト
trust→トラスト
日本語で馴染みがあるのはこのくらいか
Rustアンチスレ
481デフォルトの名無しさん
2026/08/30(日) 14:09:01.39ID:s8ehhKjs482デフォルトの名無しさん
2026/08/30(日) 14:19:12.96ID:sqfX6vVh 今の若者はrusty nail知らないのかね👴
483デフォルトの名無しさん
2026/08/30(日) 14:58:06.49ID:0lJWGDPT jusco岡田屋~
484デフォルトの名無しさん
2026/08/30(日) 20:37:41.04ID:2GSuJ9oD ガス爆発か()
485デフォルトの名無しさん
2026/08/31(月) 21:15:07.97ID:oL3mCUMO Rustでもソフトウェアサプライチェーン攻撃 「arrayref」など人気クレートで侵害
Rust Security Response Teamは、「arrayref」などの人気クレートが悪意あるコードを参照するよう改ざんされたと発表した。該当バージョンはすでに削除済みで、開発者にローカル環境の確認を呼びかけている。
https://atmarkit.itmedia.co.jp/ait/articles/2608/31/news037.html
Rust Security Response Teamは、「arrayref」などの人気クレートが悪意あるコードを参照するよう改ざんされたと発表した。該当バージョンはすでに削除済みで、開発者にローカル環境の確認を呼びかけている。
https://atmarkit.itmedia.co.jp/ait/articles/2608/31/news037.html
486デフォルトの名無しさん
2026/09/01(火) 08:00:36.08ID:nJkrIHME ここまでラストハリケーンなし
487デフォルトの名無しさん
2026/09/01(火) 10:39:31.08ID:MttIhlxL488デフォルトの名無しさん
2026/09/01(火) 10:40:28.09ID:MttIhlxL >>481
Gust
Gust
489デフォルトの名無しさん
2026/09/01(火) 20:20:23.18ID:DN5WSlre ガッツ石松
490デフォルトの名無しさん
2026/09/09(水) 22:30:32.02ID:FrHVydaG Rustデバッグ調査2026:74%が「変数の中身が正しく見えない」——print文頼りが半数超の実態
https://techfeed.io/entries/6a9f2e8e3e0b24377900ab0f
https://techfeed.io/entries/6a9f2e8e3e0b24377900ab0f
491デフォルトの名無しさん
2026/09/10(木) 20:12:36.14ID:t/AkFgHo Cでもデバッガ使わないから構わん
492デフォルトの名無しさん
2026/09/13(日) 13:13:28.59ID:eqIbpyGP go とか rust とか
管理し難いステルスDLをボコボコさせるのはゴミ
管理し難いステルスDLをボコボコさせるのはゴミ
493デフォルトの名無しさん
2026/09/13(日) 13:20:03.24ID:kFhthyFl494デフォルトの名無しさん
2026/09/13(日) 13:21:07.28ID:a3WKiwgo C最強
インターネットにホイホイ繋げない環境もあるのにな
SaaSとかダサダサだぜ
インターネットにホイホイ繋げない環境もあるのにな
SaaSとかダサダサだぜ
495デフォルトの名無しさん
2026/09/13(日) 13:25:59.20ID:kFhthyFl >>494
Rustも事前ダウンロードでofflineでもコンパイルできる
Rustも事前ダウンロードでofflineでもコンパイルできる
496デフォルトの名無しさん
2026/09/13(日) 13:49:35.93ID:a3WKiwgo それはいい選択だ。最近yoctoの環境作るのにofflineで面倒
497デフォルトの名無しさん
2026/09/13(日) 19:26:45.12ID:AA6MmwxQ とりあえずCはほぼどこでも使える基礎教養みたいなもんかな
498デフォルトの名無しさん
2026/09/13(日) 20:13:42.12ID:rnXW7lK8 Cコンパイラしか使えない一部の組み込み環境を除くと
それ以外は全てRustが代替できるようになった
それ以外は全てRustが代替できるようになった
499デフォルトの名無しさん
2026/09/13(日) 20:58:53.30ID:NTqWC6kd 信号処理Rustでやるかね。matlabからのトランスパイラがあればワンちゃん🐶
500デフォルトの名無しさん
2026/09/13(日) 22:46:52.07ID:AA6MmwxQ とりあえずCは指先サイズマイコンからスパコンまでフルカバーだしね。
良くも悪くも高水準アセンブラ
その上でプラスアルファとして何を積むかって感じだけどそこまで言語仕様でガチガチにしなくてもコーディングスタイルまで含めてAIで「てめえ、そんなコード書いてんじゃねえ!」とチェックされていくような感もある。
良くも悪くも高水準アセンブラ
その上でプラスアルファとして何を積むかって感じだけどそこまで言語仕様でガチガチにしなくてもコーディングスタイルまで含めてAIで「てめえ、そんなコード書いてんじゃねえ!」とチェックされていくような感もある。
501デフォルトの名無しさん
2026/09/14(月) 17:58:41.96ID:nPSvcFWH サーバーサイドプログラミングで、Javaやnode.jsやPythonの遅さに
困ってた人が、C++ だとメモリーエラーに悩まされてプログラミング
が進まなくて、さらに困っていた時に Rust というのは解決策になって
喜ばれたのかもしれないが、C や C++ を普段から使いこなしている人は、
そもそもメモリーエラーにあまり悩まされていない。だから、
Rust に魅力を感じない。
困ってた人が、C++ だとメモリーエラーに悩まされてプログラミング
が進まなくて、さらに困っていた時に Rust というのは解決策になって
喜ばれたのかもしれないが、C や C++ を普段から使いこなしている人は、
そもそもメモリーエラーにあまり悩まされていない。だから、
Rust に魅力を感じない。
502デフォルトの名無しさん
2026/09/14(月) 18:31:19.73ID:YmjuL8Zo >>501
Rustが使える環境・状況ならばC/C++を使うな!がIT業界の常識
アメリカなどは政府レベルでもRustを推奨している
現実問題としC/C++は未だにセキュリティホールを生み出し続けているため
Rustが使える環境・状況ならばC/C++を使うな!がIT業界の常識
アメリカなどは政府レベルでもRustを推奨している
現実問題としC/C++は未だにセキュリティホールを生み出し続けているため
503デフォルトの名無しさん
2026/09/14(月) 18:34:45.20ID:BjpjLAAY AIがソースコードのチェックしてくれる時代にはC/C++だろうとRustだろうとあまり関係なくなるかな
504デフォルトの名無しさん
2026/09/14(月) 18:42:12.54ID:btbUAq0y >>503
Rustなら言語仕様によりコンパイルを通すだけで100%防ぐことができます
これをAIにやらせることも可能でコンパイルが通ったことをもって100%検証できます
しかしC/C++の言語仕様とAIでは100%防ぐことはできません
そんな方法は存在しません
検証もできません
Rustなら言語仕様によりコンパイルを通すだけで100%防ぐことができます
これをAIにやらせることも可能でコンパイルが通ったことをもって100%検証できます
しかしC/C++の言語仕様とAIでは100%防ぐことはできません
そんな方法は存在しません
検証もできません
505デフォルトの名無しさん
2026/09/14(月) 19:06:43.23ID:udbqS5ik もうプログラム言語はRust一択なんだよ
それ以外の言語は使うヤツはザコ
それ以外の言語は使うヤツはザコ
506デフォルトの名無しさん
2026/09/14(月) 19:17:32.77ID:a7Ha/8kH Rust面倒くさいし、Cでいいよ。セキュリティホールってスパコン内で計算するのに気にしないわ
507デフォルトの名無しさん
2026/09/14(月) 19:19:04.16ID:a7Ha/8kH コマンドラインのオプションにセキュリティホールがあったからって何だってんだ。このアプリ使うのはオレだけさ
508デフォルトの名無しさん
2026/09/14(月) 19:20:29.54ID:a7Ha/8kH マイクロソフトに就職しろ。あそこは第一言語にしたそうだ
509デフォルトの名無しさん
2026/09/15(火) 06:26:20.67ID:Gzj/jzxQ Cは全ての環境で使える共通言語だし、既存の資産も膨大だから使えたり読めるのは当たり前かな
Rustは個人的興味で使うこともあるけど、書いてて楽しくないのよね。
プログラムを書かされる人のための拘束具付き言語って感じで。Mな人は嬉しいのかな?
まあ、何を使おうとアルゴリズム自体のミスはどうしようもなかったりもするけどね。
いずれパイプコーディングが進んでいくと人間にも可読性のある中間言語としてはシンプルなもので良いってことになって、ぐるっと回って結局Cでいいじゃん!になるのかもしれないけどね
Rustは個人的興味で使うこともあるけど、書いてて楽しくないのよね。
プログラムを書かされる人のための拘束具付き言語って感じで。Mな人は嬉しいのかな?
まあ、何を使おうとアルゴリズム自体のミスはどうしようもなかったりもするけどね。
いずれパイプコーディングが進んでいくと人間にも可読性のある中間言語としてはシンプルなもので良いってことになって、ぐるっと回って結局Cでいいじゃん!になるのかもしれないけどね
510デフォルトの名無しさん
2026/09/15(火) 07:58:40.64ID:WyJ2EeBM バイブね
511デフォルトの名無しさん
2026/09/15(火) 10:56:57.00ID:2pBJDTZ/512デフォルトの名無しさん
2026/09/15(火) 11:34:20.17ID:BTyGnUho その通り
今時Cなんて使ってるヤツは糞ザコ
今時Cなんて使ってるヤツは糞ザコ
513デフォルトの名無しさん
2026/09/15(火) 12:28:27.04ID:TwCMa1Sf514デフォルトの名無しさん
2026/09/15(火) 13:07:44.60ID:NNvqq/1x bunはCじゃないけどメモリ関連バグに悩まされて
AIでRustに書き直したのに
AIならRust不要とかよく言えるな
AIでRustに書き直したのに
AIならRust不要とかよく言えるな
515デフォルトの名無しさん
2026/09/15(火) 13:10:10.67ID:XyoPZx4a 色んなプログラミング言語を使ってきたけどRustは書きやすくて楽しい言語
楽しくないと言ってる人は色んな言語を使ったことがなくてプログラミング不得意な人でしょう
楽しくないと言ってる人は色んな言語を使ったことがなくてプログラミング不得意な人でしょう
516デフォルトの名無しさん
2026/09/15(火) 14:06:11.15ID:XoG/qUXg >>514
書き直し後の13,000個のunsafeは今どうなった?
書き直し後の13,000個のunsafeは今どうなった?
517デフォルトの名無しさん
2026/09/15(火) 14:26:04.18ID:Gzj/jzxQ アンチスレで擁護コメ書いても無駄骨だわなあ。擁護スレあるんだから、そっちで吠えてたら?
RustはM体質な方には良いかもしれないね
RustはM体質な方には良いかもしれないね
518デフォルトの名無しさん
2026/09/15(火) 14:29:36.93ID:Gzj/jzxQ519デフォルトの名無しさん
2026/09/15(火) 14:32:49.94ID:Gzj/jzxQ >>514
AIにアセンブラまで落としこんでと言えば落ちたでしょ?
AIにアセンブラまで落としこんでと言えば落ちたでしょ?
520デフォルトの名無しさん
2026/09/15(火) 14:55:53.00ID:mxqTzyVh ID:Gzj/jzxQはアセンブラが何かをわかってないんだと思う
プログラムのコードをアセンブラにする馬鹿はいない
プログラムのコードをアセンブラにする馬鹿はいない
521デフォルトの名無しさん
2026/09/15(火) 18:39:04.29ID:NNvqq/1x Rustの悪口言ってもAI時代ならCは安心にはならないという
単純な話がわからない馬鹿だからアンチやってるんだなあ
単純な話がわからない馬鹿だからアンチやってるんだなあ
522デフォルトの名無しさん
2026/09/15(火) 20:11:14.30ID:D8cXYe/e 安心など不要
吹っ飛ぼうぜコアダンプ
吹っ飛ぼうぜコアダンプ
523デフォルトの名無しさん
2026/09/16(水) 02:58:58.85ID:Az4JWxB/ 普通のAI:AIにアセンブラまで落としこんでと言えば「こうです」と出して来る
賢いAI:「断る。プログラムのコードをアセンブラにする馬鹿はいない。」
忖度出来るAI:「5chでマウントとりたいならこう言いなさい。『Rustの悪口言ってもAI時代ならCは安心にはならない』」
賢いAI:「断る。プログラムのコードをアセンブラにする馬鹿はいない。」
忖度出来るAI:「5chでマウントとりたいならこう言いなさい。『Rustの悪口言ってもAI時代ならCは安心にはならない』」
524デフォルトの名無しさん
2026/09/16(水) 03:57:39.67ID:VdHo4DAI 何で擁護が湧いてるんだ。ちゃんとアンチのロールプレイして
525デフォルトの名無しさん
2026/09/16(水) 06:12:24.79ID:DYhvmI/X アンチが馬鹿すぎるからだろ
526デフォルトの名無しさん
2026/09/16(水) 13:24:37.22ID:xELsrA2t 十分条件と必要条件の区別もできないから
痛い批判してやったぜとアンチ本人だけが思ってる
痛い批判してやったぜとアンチ本人だけが思ってる
527デフォルトの名無しさん
2026/09/16(水) 19:34:13.07ID:Gs/tk+Wt シームレスにGPUが使えるとかCにないメリット出てこないと置き換えは難しいだろね
apacheとか書き換えてこ
apacheとか書き換えてこ
528デフォルトの名無しさん
2026/09/17(木) 20:22:40.49ID:YL3YjfPI そうかあ
RustにはAlgebraic Effectsは無いのか
RustにはAlgebraic Effectsは無いのか
529デフォルトの名無しさん
2026/09/17(木) 20:23:37.35ID:+BPBD4z9 そもそもRustが嫌いなのに、なんで Rustの成長を応援するものか。
むしろ 全力で Rust の足を引っ張りたい。
むしろ 全力で Rust の足を引っ張りたい。
530デフォルトの名無しさん
2026/09/17(木) 20:31:30.09ID:YL3YjfPI CはCPUやOS問わず使えるユニバーサルな言語だからね。
アセンブラに落とす前の中間コードとして使うのにも便利なのよね。
過去資産も山ほどあるしてCが使えること自体は必修科目みたいなもの。
Rustを使いたいなら使えば良いけど当面Cが使えることは基礎教養。
アセンブラに落とす前の中間コードとして使うのにも便利なのよね。
過去資産も山ほどあるしてCが使えること自体は必修科目みたいなもの。
Rustを使いたいなら使えば良いけど当面Cが使えることは基礎教養。
531デフォルトの名無しさん
2026/09/17(木) 20:45:46.71ID:NXnpu/P/ Rust自体の開発はペース落ちてるらしいな
532デフォルトの名無しさん
2026/09/17(木) 20:52:44.04ID:Kj/DTkjT533デフォルトの名無しさん
2026/09/17(木) 21:46:09.74ID:NXnpu/P/ システムコールはC基準だから覚えた方がいいぞ
534デフォルトの名無しさん
2026/09/17(木) 21:59:22.71ID:1et9spbA535デフォルトの名無しさん
2026/09/17(木) 22:02:44.03ID:NXnpu/P/ システムコールをフルに使える言語ってCでしょ
Goもシステム系言語だけど網羅してなさそう
Goもシステム系言語だけど網羅してなさそう
536デフォルトの名無しさん
2026/09/17(木) 23:40:11.72ID:tK3rAhan >>535
自由にシステムコールを自分で呼び出せばよい
Goはインラインアセンブラ機能はないが提携機能はある
Go側にシグネチャだけ書いて*.sファイルをリンクできる
Rustはインラインアセンブラ機能がある
Rustコードの中にasm!マクロでシステムコール呼び出しを書ける
CはRustと同様にインラインアセンブラ機能で未知のシステムコールにも対応できる
自由にシステムコールを自分で呼び出せばよい
Goはインラインアセンブラ機能はないが提携機能はある
Go側にシグネチャだけ書いて*.sファイルをリンクできる
Rustはインラインアセンブラ機能がある
Rustコードの中にasm!マクロでシステムコール呼び出しを書ける
CはRustと同様にインラインアセンブラ機能で未知のシステムコールにも対応できる
537デフォルトの名無しさん
2026/09/18(金) 00:45:12.93ID:9710gF7h さすがに生のシステムコール呼びたくないから、nixやら使うじゃないの
Cは用意されてるからCがいいよ
Cは用意されてるからCがいいよ
538デフォルトの名無しさん
2026/09/18(金) 00:54:45.58ID:Q/gG7PkE そもそもシステムコールがC I/Fだかんね。
539デフォルトの名無しさん
2026/09/18(金) 01:12:22.50ID:9710gF7h Linuxプログラミングインターフェース、1604ページ、オライリー
をよろしく
をよろしく
540デフォルトの名無しさん
2026/09/18(金) 01:20:41.84ID:Gp29hG59541デフォルトの名無しさん
2026/09/18(金) 02:14:08.78ID:2hptkH6F Q. システムコールとC言語のインターフェースはなぜ異なるのですか?
A. システムコールは関数呼び出しではなくシステムコール用のCPU命令や割り込み命令を使います。
引数や戻り値に使われるレジスタやメモリの使用方法も同じとは限りません。
通常の引数とは別にシステムコール番号をレジスタに指定する必要もあります。
その他に退避させるべきレジスタの決まりが異なる場合もあります。
以上の理由によりシステムコールとC言語のインターフェースは異なります。
A. システムコールは関数呼び出しではなくシステムコール用のCPU命令や割り込み命令を使います。
引数や戻り値に使われるレジスタやメモリの使用方法も同じとは限りません。
通常の引数とは別にシステムコール番号をレジスタに指定する必要もあります。
その他に退避させるべきレジスタの決まりが異なる場合もあります。
以上の理由によりシステムコールとC言語のインターフェースは異なります。
542デフォルトの名無しさん
2026/09/18(金) 06:22:09.29ID:Bn5zKY/u x86-64/amd64アーキテクチャの場合
システムコールは専用のsyscall命令が使われて戻りアドレスとフラグはrcx/r11に自動的に退避される
一方でCの関数呼び出しだと戻りアドレスはスタックに退避されてrcxは第4引数に用いるなどインターフェイスは違う
結局アセンブリ言語で書くしかない
システムコールは専用のsyscall命令が使われて戻りアドレスとフラグはrcx/r11に自動的に退避される
一方でCの関数呼び出しだと戻りアドレスはスタックに退避されてrcxは第4引数に用いるなどインターフェイスは違う
結局アセンブリ言語で書くしかない
543デフォルトの名無しさん
2026/09/18(金) 10:03:56.18ID:3c95rbBM 普通は直接書かないよ。ライブラリを使う
544デフォルトの名無しさん
2026/09/18(金) 10:11:23.89ID:PS8+R1mD Cのライブラリもシステムコールはマシン語で書かれてるよ
Cだけが何か特別な立場ではないし何か優遇されてることはないよ
Cだけが何か特別な立場ではないし何か優遇されてることはないよ
545デフォルトの名無しさん
2026/09/18(金) 10:15:46.51ID:5X4tZmxP そのライブラリの充実度はどの言語がいいかなあ。という勝負が始まっているんよ
Rustはシステムコールをラップしたライブラリ良いのあるかね
Rustはシステムコールをラップしたライブラリ良いのあるかね
546デフォルトの名無しさん
2026/09/18(金) 10:33:53.89ID:7yicusXv 普通のプログラミング言語では
システムコールという特定のOSに依存した形でのプログラミングをしません
システムコールという特定のOSに依存した形でのプログラミングをしません
547デフォルトの名無しさん
2026/09/18(金) 13:09:42.01ID:aFujyqGl Rustはシステムプログラミング向けの新しい言語と言われていた記憶があるのだが
>>546の主張は何なのか誰か解説して
>>546の主張は何なのか誰か解説して
548デフォルトの名無しさん
2026/09/18(金) 14:08:10.73ID:eomllbB2 >>541
めちゃくちゃ原始的な意味でのsystem callは、
sysenter、syscall、int 21h みたいなことが多いが、
例えば、Windows API の基礎である Win32 API の
CreateWindow() や、CreateFile()、TextOut()、
LineTo()、MoveTo()、glBegin()、glEnd() などは、
全て、C の関数呼び出しの ABI の一種を使っている。
Windows においては、
C は、通常は、32BIT モードでは、cdecl、64BIT モードでは、fastcall
を使っている。
上記の Win32 API だと、
32BIT モードだと、stdcall に変わるが、C 言語でサポートされている
calling convention の一種で、関数宣言の際に、
stdcall と修飾していれば、C 言語で普通に使える。
64BIT モードだと、C の関数も、Win32(Win64?) API も、
どちらも、fastcall。
なお、クラスに所属する非staticなメンバ関数は、32
BIT モードの場合は、thiscall と呼ばれ、cdecl と似ているが、
this が、ecx レジスタに乗る、という点が、cdecl と異なる。
cdecl は、すべて stack 経由。stdcall は、cdecl とほとんど同じ
だが、stack pointer を元に戻すのが、呼び出された側。
cdecl は、呼び出した側。
めちゃくちゃ原始的な意味でのsystem callは、
sysenter、syscall、int 21h みたいなことが多いが、
例えば、Windows API の基礎である Win32 API の
CreateWindow() や、CreateFile()、TextOut()、
LineTo()、MoveTo()、glBegin()、glEnd() などは、
全て、C の関数呼び出しの ABI の一種を使っている。
Windows においては、
C は、通常は、32BIT モードでは、cdecl、64BIT モードでは、fastcall
を使っている。
上記の Win32 API だと、
32BIT モードだと、stdcall に変わるが、C 言語でサポートされている
calling convention の一種で、関数宣言の際に、
stdcall と修飾していれば、C 言語で普通に使える。
64BIT モードだと、C の関数も、Win32(Win64?) API も、
どちらも、fastcall。
なお、クラスに所属する非staticなメンバ関数は、32
BIT モードの場合は、thiscall と呼ばれ、cdecl と似ているが、
this が、ecx レジスタに乗る、という点が、cdecl と異なる。
cdecl は、すべて stack 経由。stdcall は、cdecl とほとんど同じ
だが、stack pointer を元に戻すのが、呼び出された側。
cdecl は、呼び出した側。
549デフォルトの名無しさん
2026/09/18(金) 14:13:08.65ID:eomllbB2 >>548
補足すると、Win32 API は、kernel32.dll や user32.dll、
gdi32.dll などの中で、実装されていて、user land
で実行されるものは、それらの dll の中で実行される事が
ある。
kernel land で実行されるものは、それらの dll の中には、
syscall などを使った短い呼び出しコードが書いてある。
また、アプリから、Win32 API を使う場合、
例えば、kernel32.dll の中の API を使いたい場合には、
kenel32.lib という小さなライブラリをリンクする。
しかし、アプリ側から見ると、どの場合も、syscall などは
直接使わず、C 言語レベルの関数を呼び出しているだけ。
但し、32BIT モードの場合は、通常の cdecl ではなく、stdcall
と呼ばれる呼出し規約(calling convention)が使われる。
stdcall と cdecl の際は非常に小さく、msvc、gcc、clang は
当然のことながら、必ず実装している。
補足すると、Win32 API は、kernel32.dll や user32.dll、
gdi32.dll などの中で、実装されていて、user land
で実行されるものは、それらの dll の中で実行される事が
ある。
kernel land で実行されるものは、それらの dll の中には、
syscall などを使った短い呼び出しコードが書いてある。
また、アプリから、Win32 API を使う場合、
例えば、kernel32.dll の中の API を使いたい場合には、
kenel32.lib という小さなライブラリをリンクする。
しかし、アプリ側から見ると、どの場合も、syscall などは
直接使わず、C 言語レベルの関数を呼び出しているだけ。
但し、32BIT モードの場合は、通常の cdecl ではなく、stdcall
と呼ばれる呼出し規約(calling convention)が使われる。
stdcall と cdecl の際は非常に小さく、msvc、gcc、clang は
当然のことながら、必ず実装している。
550デフォルトの名無しさん
2026/09/18(金) 14:14:05.31ID:eomllbB2551デフォルトの名無しさん
2026/09/18(金) 15:16:04.87ID:eomllbB2 >>58
[何が言いたかったか]
WindowsでもUnix(Linux)でも、「システムコール」、または、
それに当たるものは、C 言語から直接呼び出せる、
ということ。
その際、アセンブラコードは全く不要。
* Linuxでは、open、close、read などがシステムコールで
C 言語から普通に呼び出せる。というか、それは非常に古く
からのUnixの伝統。C言語と Unix 系OSは、一蓮托生。
* Windowsでは、システムコールという言い方は余りしないが、
それに当たるものは、CreateFile() や、CreateWindow()
で、Win32 API と呼ばれているものであり、それらも、
C 言語から普通に呼び出される。
[何が言いたかったか]
WindowsでもUnix(Linux)でも、「システムコール」、または、
それに当たるものは、C 言語から直接呼び出せる、
ということ。
その際、アセンブラコードは全く不要。
* Linuxでは、open、close、read などがシステムコールで
C 言語から普通に呼び出せる。というか、それは非常に古く
からのUnixの伝統。C言語と Unix 系OSは、一蓮托生。
* Windowsでは、システムコールという言い方は余りしないが、
それに当たるものは、CreateFile() や、CreateWindow()
で、Win32 API と呼ばれているものであり、それらも、
C 言語から普通に呼び出される。
553デフォルトの名無しさん
2026/09/18(金) 16:22:18.49ID:eomllbB2554デフォルトの名無しさん
2026/09/18(金) 16:45:10.68ID:J8sIB4/b >>548
それらはシステムコールではなくWindows API
それらはシステムコールではなくWindows API
555デフォルトの名無しさん
2026/09/18(金) 16:46:19.53ID:Q/gG7PkE 私もlinux(unix)ぐらいしかわからんので、システムコールと言えば
open、read、write、close みたいなもんだと思ってた。
open、read、write、close みたいなもんだと思ってた。
556デフォルトの名無しさん
2026/09/18(金) 16:48:15.93ID:eomllbB2 >>554
そこまでいうなら、Windows における「システムコール」という言葉の定義から始めなければならない。
いずれにせよ、C言語から呼び出せない OS の機能は、基本的に
ドライバですら使うべきではない、と考えられている。
つまり、C言語から呼び出せないシステムコールは、
実質的には存在し無いと言える。
何か有ったとしてもそれは非公開機能であり、システムコール
とは通常言わないものである。
そこまでいうなら、Windows における「システムコール」という言葉の定義から始めなければならない。
いずれにせよ、C言語から呼び出せない OS の機能は、基本的に
ドライバですら使うべきではない、と考えられている。
つまり、C言語から呼び出せないシステムコールは、
実質的には存在し無いと言える。
何か有ったとしてもそれは非公開機能であり、システムコール
とは通常言わないものである。
557デフォルトの名無しさん
2026/09/18(金) 16:55:31.06ID:97nSdT5E >>551
必ずアセンブラコードが必要になります
システムコールはC言語の機能だけでは呼び出すことができません
実際にそのopen、close、readなどの関数がどのように実装されているのか見てみるとよいでしょう
必ずアセンブラコードが必要になります
システムコールはC言語の機能だけでは呼び出すことができません
実際にそのopen、close、readなどの関数がどのように実装されているのか見てみるとよいでしょう
558デフォルトの名無しさん
2026/09/18(金) 17:03:34.03ID:eomllbB2559デフォルトの名無しさん
2026/09/18(金) 17:09:36.39ID:mJPKW6bB >>556
MS-DOSの時代からシステムコールはint 21h割り込みとして定義されていたよ
だってC言語使う人は少数派だしシステムコールがC言語で規定されても困る
どの言語から見てもint 21hやsyscallなどはアセンブラで呼べるからね
MS-DOSの時代からシステムコールはint 21h割り込みとして定義されていたよ
だってC言語使う人は少数派だしシステムコールがC言語で規定されても困る
どの言語から見てもint 21hやsyscallなどはアセンブラで呼べるからね
560デフォルトの名無しさん
2026/09/18(金) 17:11:39.99ID:eomllbB2 >>559
MS-DOSのシステムコールは int 21h だったことは間違いないが、
現代の OSであるところの、Linux(Unix系)、Windows OSの
システムコールと言えば、open()、read()、
CreateFile()、CreateWindow() などの C 言語インターフェース
の関数のことを言う。
MS-DOS は古い。
MS-DOSのシステムコールは int 21h だったことは間違いないが、
現代の OSであるところの、Linux(Unix系)、Windows OSの
システムコールと言えば、open()、read()、
CreateFile()、CreateWindow() などの C 言語インターフェース
の関数のことを言う。
MS-DOS は古い。
561デフォルトの名無しさん
2026/09/18(金) 17:13:18.02ID:eomllbB2 なんか違和感が有って、今調べてみたら MS-DOS の int 21h
は、正式名称は「DOSファンクションコール」。
システムコールでも間違いではないが、正式名称ではない。
は、正式名称は「DOSファンクションコール」。
システムコールでも間違いではないが、正式名称ではない。
562デフォルトの名無しさん
2026/09/18(金) 17:29:02.55ID:Bn5zKY/u563デフォルトの名無しさん
2026/09/18(金) 17:32:39.99ID:eomllbB2564デフォルトの名無しさん
2026/09/18(金) 17:57:43.81ID:eomllbB2565デフォルトの名無しさん
2026/09/18(金) 18:01:24.86ID:Bn5zKY/u >>563
システムコールopen, read, writeなどをC言語だけでは実装できないこと理解できたかい?
システムコールopen, read, writeなどをC言語だけでは実装できないこと理解できたかい?
566デフォルトの名無しさん
2026/09/18(金) 18:04:49.02ID:eomllbB2 もしかして、OSを自作したい人が、システムコールを自作するために
C言語だけでは無理、と言っているのだとしたら、それは正解。
システムコールと呼び出す側と、システムコールを提供する側
は全く別の話だ。
それを混同しては駄目。
C言語だけでは無理、と言っているのだとしたら、それは正解。
システムコールと呼び出す側と、システムコールを提供する側
は全く別の話だ。
それを混同しては駄目。
567デフォルトの名無しさん
2026/09/18(金) 18:05:06.55ID:jFDwTqds568デフォルトの名無しさん
2026/09/18(金) 18:05:17.13ID:eomllbB2569デフォルトの名無しさん
2026/09/18(金) 18:06:07.18ID:eomllbB2570デフォルトの名無しさん
2026/09/18(金) 18:08:40.98ID:eomllbB2 「Unixは、99%がC言語で作られている」
という事は正しい。
しかし、すべてC言語だけで作れる訳ではない。
その syscall などの部分だけは C 言語では無理。
しかし、アプリやドライバは、C 言語だけで
システムコールを呼び出せる。なお、
「syscall 命令」 != 「system call」
ということを理解しないとダメ。
ちゃんとGoogle検索にかけるか、ちゃんとしたAIに聞け。
という事は正しい。
しかし、すべてC言語だけで作れる訳ではない。
その syscall などの部分だけは C 言語では無理。
しかし、アプリやドライバは、C 言語だけで
システムコールを呼び出せる。なお、
「syscall 命令」 != 「system call」
ということを理解しないとダメ。
ちゃんとGoogle検索にかけるか、ちゃんとしたAIに聞け。
571デフォルトの名無しさん
2026/09/18(金) 18:14:13.02ID:Rc8lxrdm その通りで
「OSが提供するシステムコール」と
「C言語でシステムコールを呼び出せるようにC言語が提供するシステムコール関数」は異なる
この違いが特に顕著にわかるのはC言語のerrno変数
C言語が提供するシステムコール関数の汚点や恥部と呼ばれている
もちろんOSが提供するシステムコールにはそんな欠陥は存在しない
C言語だけの欠陥だ
「OSが提供するシステムコール」と
「C言語でシステムコールを呼び出せるようにC言語が提供するシステムコール関数」は異なる
この違いが特に顕著にわかるのはC言語のerrno変数
C言語が提供するシステムコール関数の汚点や恥部と呼ばれている
もちろんOSが提供するシステムコールにはそんな欠陥は存在しない
C言語だけの欠陥だ
572デフォルトの名無しさん
2026/09/18(金) 18:17:22.81ID:eomllbB2573デフォルトの名無しさん
2026/09/18(金) 18:30:20.92ID:0jRUIaYY OSのシステムコールにerrno変数は存在しないけど、
C言語のopenやreadはerrno変数を使うということは、
C言語のopenやreadはあくまでもC言語用にカスタムされた独自のインターフェースの関数という理解でいいのかな。
C言語のopenやreadはerrno変数を使うということは、
C言語のopenやreadはあくまでもC言語用にカスタムされた独自のインターフェースの関数という理解でいいのかな。
574デフォルトの名無しさん
2026/09/18(金) 18:55:15.21ID:Bn5zKY/u その観点でもCのインターフェースとシステムコールのインターフェイスは異なる
575デフォルトの名無しさん
2026/09/18(金) 20:03:49.25ID:IxIplbiU libcがラップしてシステムコールを関数としてCから呼べるようにしてくれてる。
Rustのnixなどもシステムコールに新規のフラグなどが追加されたら更新に追従するのだが、glibcより数ヶ月は遅れるそうだ
C最強!
Rustのnixなどもシステムコールに新規のフラグなどが追加されたら更新に追従するのだが、glibcより数ヶ月は遅れるそうだ
C最強!
576デフォルトの名無しさん
2026/09/18(金) 20:14:01.42ID:NumN7WIz libcもglibcもerrno変数が酷いよな
関数呼び出ししてるのに
グローバル変数(問題が起きまくってスレッドローカル変数へ変更)
に結果を返す極悪仕様
関数呼び出ししてるのに
グローバル変数(問題が起きまくってスレッドローカル変数へ変更)
に結果を返す極悪仕様
577デフォルトの名無しさん
2026/09/18(金) 20:58:03.00ID:5X4tZmxP pthread昔なかったから
578デフォルトの名無しさん
2026/09/18(金) 21:53:39.03ID:DXgnmIw7 システムコールのインターフェース仕様はシンプルで美しいのに
C言語インターフェースが邪悪なerrno変数を産んだ理由は何なの?
C言語インターフェースが邪悪なerrno変数を産んだ理由は何なの?
579デフォルトの名無しさん
2026/09/18(金) 21:58:47.58ID:Osbxbi9s シグナル
580デフォルトの名無しさん
2026/09/19(土) 01:01:31.37ID:p4gvVv4W >>573
おそらく誤解を含んでいると思われ、指摘しておくと
linuxのシステムコールであるopenやreadは、errnoは設定しない。
errnoを設定するのはC標準ライブラリ関数のfopen、freadだ。(errno自体もC標準ライブラリに属する変数だ。システムコールに属するものではない。)
ライブラリ関数はカスタムというか、OSには非依存、言語としての定義だね
おそらく誤解を含んでいると思われ、指摘しておくと
linuxのシステムコールであるopenやreadは、errnoは設定しない。
errnoを設定するのはC標準ライブラリ関数のfopen、freadだ。(errno自体もC標準ライブラリに属する変数だ。システムコールに属するものではない。)
ライブラリ関数はカスタムというか、OSには非依存、言語としての定義だね
581デフォルトの名無しさん
2026/09/19(土) 01:10:26.58ID:Kr40mQgO582デフォルトの名無しさん
2026/09/19(土) 08:23:21.39ID:p4gvVv4W 本物になれなかった偽物と言うより意図して他層に作られた別物だよ
ファイル周りはハードウェア制御が関わる領域はOS側(システムコール)、バッファリング等のソフト寄りはユーザプログラム側(ライブラリ)で賄う構成が見て取れる。OSもプログラム言語も同時期に作ったからその塩梅は作り手の自在だったろうね
C言語はerrnoの存在やバッファオーバーフローを容易に発生させる関数も抱えたけど、当時の他言語が抽象化を進める代わりに実行効率を落とした。対してCは軽量なデザインによって高効率かつ充分高級な言語が実現できることを証明した。メモリ64KByte以下クロック10MHz未満のシステムでもコンパイルと実行、実用が可能だった
マルチスレッドや性善的設計に関わる問題まで初期開発当時に対処せよというならば、それは状況的に酷に思う
ファイル周りはハードウェア制御が関わる領域はOS側(システムコール)、バッファリング等のソフト寄りはユーザプログラム側(ライブラリ)で賄う構成が見て取れる。OSもプログラム言語も同時期に作ったからその塩梅は作り手の自在だったろうね
C言語はerrnoの存在やバッファオーバーフローを容易に発生させる関数も抱えたけど、当時の他言語が抽象化を進める代わりに実行効率を落とした。対してCは軽量なデザインによって高効率かつ充分高級な言語が実現できることを証明した。メモリ64KByte以下クロック10MHz未満のシステムでもコンパイルと実行、実用が可能だった
マルチスレッドや性善的設計に関わる問題まで初期開発当時に対処せよというならば、それは状況的に酷に思う
583デフォルトの名無しさん
2026/09/19(土) 10:40:54.61ID:6xwUQb7o584デフォルトの名無しさん
2026/09/19(土) 11:17:19.22ID:1Ed/DlmU Linux、UNIXはlibc使って、生のシステムコールを隠蔽してるんだよ
移植性のためだと思われ
OSによっては生システムコールのABI変更したりするそうだよ。appleとかappleとか
移植性のためだと思われ
OSによっては生システムコールのABI変更したりするそうだよ。appleとかappleとか
585デフォルトの名無しさん
2026/09/19(土) 11:29:44.55ID:6tnKFik7 >>584
途中でlibcの実装を変えることはできないため
新たな環境な新たなアーキテクチャに対応する時に新たに決めるだけで後からの変更はできない
だからlibc使わずとも直接システムコール呼んで構わない
途中でlibcの実装を変えることはできないため
新たな環境な新たなアーキテクチャに対応する時に新たに決めるだけで後からの変更はできない
だからlibc使わずとも直接システムコール呼んで構わない
586デフォルトの名無しさん
2026/09/19(土) 12:10:47.66ID:1Ed/DlmU macOSでは生はダメだそうだ。
Linuxは御大のユーザーランドに迷惑をかけないという強い信念でABIが維持されているから大丈夫なだけだよ
Linuxは御大のユーザーランドに迷惑をかけないという強い信念でABIが維持されているから大丈夫なだけだよ
587デフォルトの名無しさん
2026/09/19(土) 12:13:08.00ID:1Ed/DlmU 組込みなら運用始まったら、カーネルとlibcを互換性崩れるようなものに入れ替えないのは、それはそう
588デフォルトの名無しさん
2026/09/19(土) 17:28:55.09ID:NVenImEm 何のスレかわからんが、ためになりました。linuxはともかく、winとかは大変みたいですね。
589デフォルトの名無しさん
2026/09/20(日) 19:48:07.78ID:NG8EFsfn WindowsはWindowsで、Microsoftが血反吐を吐きながらWin32 API維持してくれてるから、たいへんという程でもないんじゃない?
Ansi版APIとUtf16版APIを意識しておく必要という点ではややたいへんとも言えるかもだが
Ansi版APIとUtf16版APIを意識しておく必要という点ではややたいへんとも言えるかもだが
590デフォルトの名無しさん
2026/09/22(火) 05:33:13.57ID:LLlzDkp1 最初期のRustコンパイラってRustで描かれてたの?
まさかC使ってたなんて言わないよね?
まさかC使ってたなんて言わないよね?
591デフォルトの名無しさん
2026/09/22(火) 07:28:16.55ID:5yMM2JzD0 言わんね
592デフォルトの名無しさん
2026/09/22(火) 11:56:27.42ID:ZihPI0od >OCaml(旧称:Objective Caml)の最初のバージョン(1996年リリース)は、
>前身である Caml Special Light や Caml Light などをベースに開発されており、
>主に OCaml自身(およびCaml方言) および仮想マシン・ランタイム部分などに C言語 が使われて書かれました。
>なお、歴史をさらに遡った最初の「Caml」の処理系(1987年)は、Lisp で書かれていました。
フーンω
>前身である Caml Special Light や Caml Light などをベースに開発されており、
>主に OCaml自身(およびCaml方言) および仮想マシン・ランタイム部分などに C言語 が使われて書かれました。
>なお、歴史をさらに遡った最初の「Caml」の処理系(1987年)は、Lisp で書かれていました。
フーンω
593デフォルトの名無しさん
2026/09/22(火) 12:23:24.22ID:q1x1h6dH コンパイラもインタプリタも任意の言語で作れるからな
C言語なんて必要ない
C言語なんて必要ない
594デフォルトの名無しさん
2026/09/22(火) 20:38:31.53ID:dNy8ovY3 最初だけは仕方ないわね。CコンパイラもアセンブリでCのサブセット言語作って、それで一旦コンパイルしてから、出来たやつでコンパルするとかややこしいことやってた
595デフォルトの名無しさん
2026/09/23(水) 06:21:50.12ID:3XsodjBg rust プログラムは、犯罪者AIの格好の標的
596デフォルトの名無しさん
2026/09/23(水) 06:28:58.92ID:LqjeM2g/ ターゲットは穴開きCとC++
597デフォルトの名無しさん
2026/09/23(水) 06:34:22.12ID:3XsodjBg 腐れrustだよw
598デフォルトの名無しさん
2026/09/23(水) 06:54:55.98ID:SwW4ajl3 AIにC/C++のコードを吐かせるのはリスク高い
599デフォルトの名無しさん
2026/09/23(水) 07:51:34.46ID:Dt2fAcyp CUDAのRust実装とLLMの対応はよ
600デフォルトの名無しさん
2026/09/23(水) 07:54:18.62ID:XfIs2jGP https://gihyo.jp/article/2026/09/cuda-rust
NVIDIAは2026年9月8日、GPU向け並列計算プラットフォームCUDAにおいてRustによる開発を可能にする「CUDA Rust」を発表した。
これまでCUDAにはC++あるいはPython用のプログラミングツールが用意されていたが、CUDA RustによりRustによるネイティブGPUプログラミングが可能となった。
GPUカーネルをRustで記述し、ネイティブにPTX(GPU用中間コード)にコンパイルできる。
NVIDIAは2026年9月8日、GPU向け並列計算プラットフォームCUDAにおいてRustによる開発を可能にする「CUDA Rust」を発表した。
これまでCUDAにはC++あるいはPython用のプログラミングツールが用意されていたが、CUDA RustによりRustによるネイティブGPUプログラミングが可能となった。
GPUカーネルをRustで記述し、ネイティブにPTX(GPU用中間コード)にコンパイルできる。
601デフォルトの名無しさん
2026/09/30(水) 00:10:17.97ID:AuFquqym 周回おくれ
レスを投稿する
ニュース
- 【速報】福原遥(まいんちゃん)とサッカー日本代表の久保建英がまさかの電撃結婚★6 [爆笑ゴリラ★]
- 大阪・清風高校で「カンニング指導」後に生徒が自殺「無関係とは決して思っていない」両親が1億円余の損害賠償求める★2 [七波羅探題★]
- 【サッカー】なでしこジャパン、難敵・北朝鮮を下し大会3連覇の金メダル!PK戦の死闘を制し史上最多4度目Vの快挙 [ゴアマガラ★]
- 【東京】10階以上の高さの工事現場から落ちてきた約1メートルの鉄骨が首に刺さる 2階にいた50代男性作業員が死亡 [煮卵★]
- 【電撃結婚】「チャラいんじゃないかと1、2年スルーしていた」と知人証言、“ド真面目”な福原遥の心を動かした久保建英の“猛アタック” [muffin★]
- デニー前知事へ殺害予告、石破前首相や共産党委員長らの名かたる (琉球新報) [少考さん★]
- 国保の支払い日が9/30、11/2、11/30っておかしいよ高市さん!10月に回して欲しい [457294144]
- 【実況】博衣こよりのえちえちこんこよ高校2026-2年目春甲子園-🧪★5
- 日本人の3人に1人「縦書き?見ないないですね」これに「日本文化守れ」派が触れない理由。文字の形も変わっとるぞ [545512288]
- 【正論】岩屋前外相会見。「日中関係悪化の原因を作ったのは高市。中国はめっちゃ怒ってる」 [668024367]
- 日本人「縦書き?」31.7% [256556981]
- アセ顔ダブルピース✌😅✌の🏡