Object-oriented design patterns in the kernel, part 1
https://lwn.net/Articles/444910/
Despite the fact that the Linux Kernel is mostly written in C,
it makes broad use of some techniques from the field of object-oriented programming.
探検
LinuxカーネルはC言語なのにオブジェクト指向
■ このスレッドは過去ログ倉庫に格納されています
2018/11/24(土) 21:39:54.85ID:b7tmfxF4
2018/11/26(月) 10:56:28.11ID:066IT89Q
つまりもっと愛とか友情を大切にしろということ
2018/12/05(水) 13:05:54.10ID:PBXnVemu
FuckをHugに変えるとかか?
4デフォルトの名無しさん
2019/02/26(火) 22:39:56.36ID:f7zYN2r2 X Window Systemにっついて質問です
Xlibのソースコードってどうやって見るのか教えてください
Xlibのソースコードってどうやって見るのか教えてください
5デフォルトの名無しさん
2019/03/01(金) 08:40:35.57ID:dC5x06AB まず、目を開けてください。
2019/03/31(日) 23:59:26.79ID:fSKc0SnI
(3_3)
7デフォルトの名無しさん
2019/04/03(水) 00:52:17.05ID:sKCBEYXP 寝るなー!
2019/04/03(水) 02:58:03.94ID:2JBFiMNA
ほっぺたをつねる
2019/10/09(水) 10:18:33.70ID:U4YBgj6o
オブジェクト指向で書かないと破綻しかねないのはわかるが...
なんでCで、書いちゃうんだろうな。
C++という選択肢をリーナスはなぜ排除したのか理解できない。
当時と今では事情が違うのかもしれないが。
今のリーナスも同じ事を言うのか気になる。
なんでCで、書いちゃうんだろうな。
C++という選択肢をリーナスはなぜ排除したのか理解できない。
当時と今では事情が違うのかもしれないが。
今のリーナスも同じ事を言うのか気になる。
10デフォルトの名無しさん
2019/10/09(水) 10:24:09.96ID:sFmCi5mO C++は糞だからな
今でも同じことを言うはず
今でも同じことを言うはず
2019/10/09(水) 21:11:07.26ID:U4YBgj6o
2019/10/10(木) 00:26:31.14ID:sPZZPLJV
知らんけどLinux黎明期のC++コンパイラが糞だからだったんじゃね
Cコンパイラは枯れていて安心して使えたとか
Cコンパイラは枯れていて安心して使えたとか
13デフォルトの名無しさん
2019/10/10(木) 09:33:31.31ID:yMym0WfO C++しか知らない(書けない)プログラマより
Cで書けるプログラマの方が優秀だから
糞C++が寄って来ないようにした
都市伝説かも知れん
Cで書けるプログラマの方が優秀だから
糞C++が寄って来ないようにした
都市伝説かも知れん
2019/10/10(木) 12:29:42.18ID:oXXzowD/
>>13
C++って、文法的にはCの上位互換だからC言語によるプログラミングもできるはずなんだがな。特に、あの当時ならね。
C++って、文法的にはCの上位互換だからC言語によるプログラミングもできるはずなんだがな。特に、あの当時ならね。
2019/10/10(木) 13:14:41.67ID:8G2AB5zJ
CとC++が合体したら最強に見える
2019/10/10(木) 17:35:07.50ID:ymWHEy7K
じゃあすでに最強を手にしてるじゃん
2019/10/10(木) 17:57:03.77ID:GVOUmpta
まあOSだからな
宗教的な部分をのぞくと
仮想関数テーブル直接弄ったり、仮想関数の実装方法カスタマイズしたり出来ないのが致命的なんだろう。
MSみたいにABIとコンパイラを両方決める権限あるなら、COMみたいな事も出来るけど
宗教的な部分をのぞくと
仮想関数テーブル直接弄ったり、仮想関数の実装方法カスタマイズしたり出来ないのが致命的なんだろう。
MSみたいにABIとコンパイラを両方決める権限あるなら、COMみたいな事も出来るけど
2019/10/11(金) 05:37:45.27ID:6Llgp5Hf
CとC++は別言語
キャスト一つとっても仕様が違う
上位互換ではない
キャスト一つとっても仕様が違う
上位互換ではない
19デフォルトの名無しさん
2019/10/11(金) 10:09:04.43ID:hkXt1Gtm C++しか知らない(書けない)プログラマほど >>14 みたいなトンチンカンなこと言うよね
2019/10/11(金) 12:46:02.38ID:jYNqYh6+
c++は勝手に裏でやったりするのがリーナスは気に入らないらしい
osともなれば
全てを自分達で制御する必要が有るし
何より自分が指示していない動作をする
というのはosやハードウェアコントロールでは致命的だと思う
今のc++だと色々出来ないような嫌がらせ機能を追加して対処しているけど
そんな事するくらいなら純朴な生cを使ったほうが有る意味まともだと思う
osともなれば
全てを自分達で制御する必要が有るし
何より自分が指示していない動作をする
というのはosやハードウェアコントロールでは致命的だと思う
今のc++だと色々出来ないような嫌がらせ機能を追加して対処しているけど
そんな事するくらいなら純朴な生cを使ったほうが有る意味まともだと思う
2019/10/11(金) 14:02:28.56ID:XWYiG0pn
22デフォルトの名無しさん
2019/10/12(土) 21:34:53.59ID:Z2q104YO オブジェクト指向とオブジェクト指向言語は別のことを指す。
2019/10/12(土) 21:57:42.44ID:w6XAfbR5
ここの馬鹿ども見てればc++にしなかったのは正解だということがよくわかる。
2019/10/12(土) 22:16:15.44ID:ert7O+/y
わかる
2514
2019/10/12(土) 22:25:50.61ID:Y/6Ne90r2614
2019/10/12(土) 22:28:03.58ID:Y/6Ne90r .cから.cppじゃなくて、.cppから.cか。
2019/10/12(土) 22:29:07.73ID:ert7O+/y
互換性がある=上位互換だと思ってるの?
2019/10/12(土) 22:33:19.91ID:Y/6Ne90r
>>27
君と同じ認識です。
君と同じ認識です。
29デフォルトの名無しさん
2019/10/12(土) 23:20:00.14ID:Z2q104YO CとC++はごっちゃでもコンパイルエラーにならないだけで、CとC++を混ぜて使うのは素人。
2019/10/12(土) 23:23:21.07ID:/OE1FG2/
c言語のライブラリも使うからどうやっても混ざるわ
31デフォルトの名無しさん
2019/10/13(日) 00:09:05.82ID:43NOwa52 >>30
それはおかしい。C++の規格としてCのライブラリを追加したものを言っているのなら、それはCではなくC++のライブラリの一部。
それはおかしい。C++の規格としてCのライブラリを追加したものを言っているのなら、それはCではなくC++のライブラリの一部。
2019/10/13(日) 00:11:30.80ID:K01uOtzO
2019/10/13(日) 15:21:25.50ID:pNOVPaOf
2019/10/13(日) 15:25:20.96ID:nNq8dJJz
標準ライブラリじゃなくても当てはまると思うけど
2019/10/13(日) 15:53:26.89ID:gUdJTWPj
どういう意図で言ってるのかわからんのだけど
例えばzlibはc++で使うべきじゃないってことでいいのか?
例えばzlibはc++で使うべきじゃないってことでいいのか?
2019/10/13(日) 16:38:13.99ID:CXjqSTTV
どういうことなの…
2019/10/13(日) 20:08:27.26ID:S1e+tUqI
zlibもC++の一部ってことでは?
2019/10/14(月) 08:33:47.19ID:shxCHNEB
C++がCとの互換性を意識して設計されているからこそCで書かれたzlibを呼び出せたりするのだが
それをC++のライブラリと見なすか、Cのライブラリと見なすかは言葉の問題でしょ
そんな話を議論して何の話に繋げる気だ?
それをC++のライブラリと見なすか、Cのライブラリと見なすかは言葉の問題でしょ
そんな話を議論して何の話に繋げる気だ?
2019/10/14(月) 10:23:08.19ID:KiHkbn+i
区別する必要がないしごちゃまぜで使えるのがメリットなのに
混ぜるなとかいう人がいたからの皮肉だろ
混ぜるなとかいう人がいたからの皮肉だろ
2019/10/14(月) 10:54:08.61ID:X910hHAw
混ぜるな危険!危険!危険!
41デフォルトの名無しさん
2019/10/14(月) 15:35:49.51ID:Cg/ykvDA >>25
>「文法的に」は互換性はあるでしょ。
えっ
>実際、Cで書いたコードのコンパイルが通るし、
これはCで書いたコードはC++文法としてはコンパイラ出来ない
コンパイラがCのコンパイルもサポートしてるってだけやろ
>リンケージ指定してやれば.cから.cppを呼び出せるわけだし。
これはオブジェクトが互換なんやろ
>「文法的に」は互換性はあるでしょ。
えっ
>実際、Cで書いたコードのコンパイルが通るし、
これはCで書いたコードはC++文法としてはコンパイラ出来ない
コンパイラがCのコンパイルもサポートしてるってだけやろ
>リンケージ指定してやれば.cから.cppを呼び出せるわけだし。
これはオブジェクトが互換なんやろ
2019/10/14(月) 17:51:36.63ID:KiHkbn+i
cで書かれたコードをc++に貼っつけた上でクラスでラップしても動くものを互換性があると言わずになんて言うんだよ
コンパイラが中で何してようが関係ないし
というかcのみのコード書こうがc++でコンパイルされて名前修飾されるでしょうに
コンパイラが中で何してようが関係ないし
というかcのみのコード書こうがc++でコンパイルされて名前修飾されるでしょうに
43デフォルトの名無しさん
2019/10/14(月) 17:55:21.16ID:ljIrzJ7B void * だっけ
2019/10/15(火) 07:14:05.64ID:/aMixt3n
評価されるかは知らんが、自分で互換カーネルをC++で作って発信したらいいんじゃね?
2019/10/15(火) 08:46:50.06ID:1HIIf4Kz
するわけねーだろw
実際やってみりゃどんだけひどいことになるかわかる。
てかやる気力のない無責任連中が騒いでるだけだろうけれど。
実際やってみりゃどんだけひどいことになるかわかる。
てかやる気力のない無責任連中が騒いでるだけだろうけれど。
46デフォルトの名無しさん
2019/10/15(火) 16:38:47.52ID:d2lxKB6N MONA os
2019/10/15(火) 19:58:01.98ID:1HIIf4Kz
>>42
なぜ extern "C" があるか理解してないな。
なぜ extern "C" があるか理解してないな。
48デフォルトの名無しさん
2019/10/15(火) 21:48:03.84ID:m8AinitX gcc と g++ も違うやん
2019/10/16(水) 01:40:05.03ID:iugX0xwX
どういうことなの…
50デフォルトの名無しさん
2019/10/16(水) 12:22:23.91ID:dmmazo8P 本当に上位互換が事実なら
片方いらんやろ
片方いらんやろ
2019/10/16(水) 12:33:41.55ID:Th6NiMcc
2019/10/16(水) 12:46:19.34ID:Th6NiMcc
ただ、カーネル開発となると知らん!
コンストラクタやデストラクタを呼ぶコードやスマートポインタを管理するコードをアセンブラで書いたりすることになりそう。linuxカーネル開発経験ないから知らんが。
コンストラクタやデストラクタを呼ぶコードやスマートポインタを管理するコードをアセンブラで書いたりすることになりそう。linuxカーネル開発経験ないから知らんが。
53デフォルトの名無しさん
2019/10/16(水) 12:53:18.57ID:dmmazo8P 知らないならうざいだけです
知らんけど
知らんけど
2019/10/16(水) 14:19:04.03ID:PlHXfG9R
俺も知らんけど知らん!
55デフォルトの名無しさん
2019/10/16(水) 15:04:46.69ID:Th6NiMcc56デフォルトの名無しさん
2019/10/16(水) 15:04:46.74ID:Th6NiMcc57デフォルトの名無しさん
2019/10/17(木) 10:42:16.71ID:ewN8FeZ7 どうでもいいけど
g++ で gcc 相当の事が上位互換で出来るなら
なんで gcc がいまだに残されてるのって話
g++ で gcc 相当の事が上位互換で出来るなら
なんで gcc がいまだに残されてるのって話
2019/10/17(木) 11:48:06.51ID:huR1Dm0j
2019/10/17(木) 11:53:53.46ID:AeGMwEpI
単純に早くて軽いんじゃないの多分
でかいプロジェクトだと構文解析の速度とか結構変わってきそうだし
cで大丈夫でc++だとコンパイルエラー吐くのって汎用ポインタの暗黙の型変換ぐらいじゃないの
他はなんかあったっけ
でかいプロジェクトだと構文解析の速度とか結構変わってきそうだし
cで大丈夫でc++だとコンパイルエラー吐くのって汎用ポインタの暗黙の型変換ぐらいじゃないの
他はなんかあったっけ
2019/10/17(木) 12:07:39.41ID:AeGMwEpI
あれそういう意味だったのか勘違いしてたわ
61デフォルトの名無しさん
2019/10/22(火) 10:29:57.89ID:F+STirlY gcc拡張とか使ってるとコンパイル出来ないね。
62デフォルトの名無しさん
2019/11/01(金) 14:36:39.71ID:fUonGWFa もうリーナスの言いなりになる必要ないんじゃね?
"Linuxの生みの親"トーバルズ氏:「私はもうプログラマーではない」
https://japan.zdnet.com/article/35144738/
>もうコーディングは全然やっていない。私がコードを書くのは、ほとんどがメールの中だ。誰かがパッチを送ってくると、私は擬似コードを書いて返す。
パッチの修正にはとても慣れているので、最近ではテストもしないままパッチを修正したり、そのパッチを送ったりすることもある。
文字通りメールの中でコードを書いて「これはこうすべきだと思う」と書くわけだが、それが私がやっていることで、プログラマーとは言えない。
"Linuxの生みの親"トーバルズ氏:「私はもうプログラマーではない」
https://japan.zdnet.com/article/35144738/
>もうコーディングは全然やっていない。私がコードを書くのは、ほとんどがメールの中だ。誰かがパッチを送ってくると、私は擬似コードを書いて返す。
パッチの修正にはとても慣れているので、最近ではテストもしないままパッチを修正したり、そのパッチを送ったりすることもある。
文字通りメールの中でコードを書いて「これはこうすべきだと思う」と書くわけだが、それが私がやっていることで、プログラマーとは言えない。
2019/11/01(金) 18:58:40.83ID:K8X+Yatv
やばいなw
2019/11/02(土) 01:55:22.16ID:8EZZk9eZ
呼吸をするようにプログラム出来る
って事なのね
プログラマーでは無くて
プログラムの神に成った
そんな感じ何だろうか?
って事なのね
プログラマーでは無くて
プログラムの神に成った
そんな感じ何だろうか?
2019/11/02(土) 02:01:25.79ID:ivbcpswg
イチローポジション…
66デフォルトの名無しさん
2019/11/02(土) 17:05:25.24ID:orbX83iK わかってないやつ多いんだよ
いきってc++で自称モダンな設計で作り上げてあとで泣きながらcのインタフェース作るはめになる
たいてい機械的なラッパーではすまないからな
void*的な「ハンドル」を経由して操作する
C由来のインターフェースは強いな
いきってc++で自称モダンな設計で作り上げてあとで泣きながらcのインタフェース作るはめになる
たいてい機械的なラッパーではすまないからな
void*的な「ハンドル」を経由して操作する
C由来のインターフェースは強いな
2019/11/02(土) 20:37:37.29ID:Ol0NvWzZ
>this is a double-edged sword. The developer has enough flexibility to do really cool things, and equally the flexibility to do really stupid things
2020/06/18(木) 19:58:40.52ID:n5xiCy8O
こちらで同意を得られなかったからニュース速報スレで騒いでるw
オブジェクト指向は愚かな考え
https://hayabusa9.5ch.net/test/read.cgi/news/1592474015/
オブジェクト指向は愚かな考え
https://hayabusa9.5ch.net/test/read.cgi/news/1592474015/
2020/10/07(水) 22:56:10.33ID:mmX8FgkW
2020/10/08(木) 11:47:50.81ID:4zSbqWTM
>>69
>I am the bone of my sword. Steel is my body,and fire is my blood. I have created over a thousand blades. Unknown to Death. Nor known to Life. Have withstood pain to create many weapons. Yet,those hands will never hold anything. So as I pray,unlimited blade works.
>I am the bone of my sword. Steel is my body,and fire is my blood. I have created over a thousand blades. Unknown to Death. Nor known to Life. Have withstood pain to create many weapons. Yet,those hands will never hold anything. So as I pray,unlimited blade works.
71デフォルトの名無しさん
2020/10/08(木) 12:46:54.93ID:Riy1MZEi 業界用語ωωω
72デフォルトの名無しさん
2020/11/23(月) 11:07:33.31ID://ZJMWym OSをインタプリター言語あるいはスクリプトで書けたらいいのにね。
もちろんデバイスの制御の部分やCPUの初期設定などは機械語にならざるを
得ないけれども。
今のCPUはかなり早いから、インタプリターでOSのカーネルを書いても
昔のPDP11ぐらいの速度ではうごくのではなかろうか?
もちろんデバイスの制御の部分やCPUの初期設定などは機械語にならざるを
得ないけれども。
今のCPUはかなり早いから、インタプリターでOSのカーネルを書いても
昔のPDP11ぐらいの速度ではうごくのではなかろうか?
2020/11/23(月) 22:24:53.65ID:gAkTmGSN
そんなOS使わん。
結局少しくらい危険なところがあっても速度重視ってのは
ビジネスからくるクリティカルな要求な訳だ。
結局少しくらい危険なところがあっても速度重視ってのは
ビジネスからくるクリティカルな要求な訳だ。
74uy ◆e6.oHu1j.o
2020/11/24(火) 12:36:57.49ID:gfNKbZsO2021/01/19(火) 02:21:11.32ID:AAGIcVgh
>>69
諸刃の剣かwww
諸刃の剣かwww
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はドイツと違い反省せず」…中国外相、独外相に対日批判 台湾問題で理解求める [少考さん★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【苺ましまろ】立民衆院議員、人気漫画の水着少女画像を「醜悪」タイ人少女の性搾取事件と関連付け…党内で反発 [少考さん★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 高市政権「かけてもつながらない。機能していない」防衛当局間のホットライン機能せず [834922174]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑★2 [931948549]
- あたしゃやだよ
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑 [931948549]
- 30過ぎた大人おじさんが大学生(昔)のままのファッションをする「おじさんキッズコーデ」、炎上して問題視される。 [153490809]
- 俺はきっと"全部"嫌いなんだ。息づく全てが俺を苛つかせるんだ。
