C++ と低レベルプログラミングと dynamic_cast

@SubaruG さん、@AoiMoe さん、@takawata19 さんが C++ と低レベルプログラミングを語ります
C++
0
普通のC++使い、銀天すばる @SubaruG

高級言語と低級言語の違いは、要するにどれくらい抽象してるかの違いであって、高級言語の方が難しいというわけではない…というか普通に低レベルなプログラミングは難しいというかC++の力を借りないと無理。

2010-08-22 02:23:50
Takanori Watanabe 💉💉💉💉💉 @takawata19

C++で低レベルプログラミング? 正直恐すぎる。(と書いたら燃料か)

2010-08-22 02:26:33
普通のC++使い、銀天すばる @SubaruG

CとかC++みたいな言語って、高級言語に分類するのが少し躊躇われるよね。や、C++はコンパイラの最適化を前提で書くから、少なくとも低級ではないけど。

2010-08-22 02:27:34
AoiMoe a.k.aしお兄P @AoiMoe

C++で低レベルプログラミングする気にならんよなあ……。スタートアップコードの移植とか考えるだけで嫌。まあ「低レベル」がどこを指してるのかにも依るんだけど

2010-08-22 02:29:20
普通のC++使い、銀天すばる @SubaruG

あーでもどうだろ。ハンドコンパイル出来るからなー普通に。

2010-08-22 02:29:29
Takanori Watanabe 💉💉💉💉💉 @takawata19

C++ってクラスがメモリ上にどう配置されるかとか考え出すと夜も寝れません:-)

2010-08-22 02:30:02
普通のC++使い、銀天すばる @SubaruG

高級アセンブラってことで。つまり高級言語ですね。

2010-08-22 02:30:31
AoiMoe a.k.aしお兄P @AoiMoe

カーネルコードで例外とか使えたらそりゃ便利だけど、そこまで足場を固める手間がなあ

2010-08-22 02:30:54
Takanori Watanabe 💉💉💉💉💉 @takawata19

なんにせよ、C++は足場をかためる手間がかかりすぎる。

2010-08-22 02:31:39
AoiMoe a.k.aしお兄P @AoiMoe

Cくらいがちょうど良いよなあやっぱり。C++でもコンパイラとか限定すればある程度はできるだろうけど、精神衛生上の観点から夜も寝られなくなる

2010-08-22 02:32:03
AoiMoe a.k.aしお兄P @AoiMoe

まあ実際にC++でカーネルコード書ける環境はいくつか存在するから以下略ではある

2010-08-22 02:33:20
AoiMoe a.k.aしお兄P @AoiMoe

まあ各個人の経験に基づいた感覚的な話であって絶対的な話ではないですな、うん。

2010-08-22 02:34:03
AoiMoe a.k.aしお兄P @AoiMoe

テンプレートだけ使えれば便利だなあと思うことはある。あれランタイム要求しないだろうし

2010-08-22 02:34:55
普通のC++使い、銀天すばる @SubaruG

一部の人にとっては、 Haskell のコードがどんな機械語に翻訳されるかとかも、普通にイメージできるしにゃー。このへんは程度の差でしかない。

2010-08-22 02:35:35
Takanori Watanabe 💉💉💉💉💉 @takawata19

Cならだいたい必要なのはスタックポインタ設定して引数設定してジャンプするだけでいい感じかな。それで32ビットアーキテクチャで64ビット演算しようと考えなければ後用意する必要って特に無い。(mallocとかも全部ライブラリだし)

2010-08-22 02:35:41
Takanori Watanabe 💉💉💉💉💉 @takawata19

まぁ、何処ぞのSなんちゃらって奴だとARMCCを仮定したMangleしたルーチンアセンブラから呼び出してたな。うん。

2010-08-22 02:36:32
AoiMoe a.k.aしお兄P @AoiMoe

Cはコンパイラ間の挙動の違いはそんなに考えなくてもいいけど、C++になると途端にコンパイラ依存なところが増えるのでなあ。正直そういう下回りまで考えないといけない微妙な局面で使うにはC++は疲れる

2010-08-22 02:38:01
普通のC++使い、銀天すばる @SubaruG

extern "C" がなきゃやっていけねーですにゃ。 RT @AoiMoe: Cはコンパイラ間の挙動の違いはそんなに考えなくてもいいけど、C++になると途端にコンパイラ依存なところが増えるのでなあ。正直そういう下回りまで考えないといけない微妙な局面で使うにはC++は疲れる

2010-08-22 02:39:14
AoiMoe a.k.aしお兄P @AoiMoe

CはCのコードを書くことだけ気にしてればいいので、Cで1000行でも10000行でも書ける人にとってはCのほうが都合が良いし、下回りってのは割とそういう人で構成されてるので以下略、という部分はあるわなあ

2010-08-22 02:40:30
AoiMoe a.k.aしお兄P @AoiMoe

正直Cで何万行も書け、ってのは万人向けではないが

2010-08-22 02:42:21
普通のC++使い、銀天すばる @SubaruG

まぁC言語はC++の一部ですし。字面はC言語だけど、C++から呼ばれることを前提とした(つまりデストラクタがなきゃ面倒になるよーな)コードは、C++として扱っても問題なかろうよ。

2010-08-22 02:44:00
Takanori Watanabe 💉💉💉💉💉 @takawata19

そいえば、C++でクラスをロードして未知の公開メンバ関数に触るにはどうしたらいいんだろうね。

2010-08-22 02:46:07
AoiMoe a.k.aしお兄P @AoiMoe

@takawata19 Objective-C でも使ってください(ぉ

2010-08-22 02:50:15
AoiMoe a.k.aしお兄P @AoiMoe

C++には、完全に未知なクラスのメンバをby nameで探索するような方法は全く存在しないので、せいぜいインターフェースクラスを用意しといて dynamic_cast するとかそんな方法

2010-08-22 02:51:05
1 ・・ 5 次へ