1: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:07:33.977 ID:swRlhMZc0Pi
今の現状でもC++とかで書かれた1つのプログラムでLinuxやMacやWindowsのそれぞれのOSに対応することができないであってる???
3: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:08:38.803 ID:zeChO0eXMPi
低レベルの人間性なら持ってるけどダメ?
5: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:08:56.697 ID:swRlhMZc0Pi
>>3
ダメ
ダメ
4: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:08:42.602 ID:swRlhMZc0Pi
C++からコンパイルされる機械語やアセンブラは単一でそれぞれのOSで違う訳され方される的な
8: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:09:32.456 ID:teqQFbZKrPi
C#ガイジに教えるわけがない
9: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:10:26.974 ID:swRlhMZc0Pi
>>8
C#とかなら一度ilに変換してそのOSの中のランタイムがそれぞれの機械語に翻訳してるってのは知ってる
C#とかなら一度ilに変換してそのOSの中のランタイムがそれぞれの機械語に翻訳してるってのは知ってる
14: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:13:38.005 ID:EYzqqZFaaPi
そもそもC#とC++で作ったプログラムの動作方法が違うのになんで比較したがるのか
15: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:16:12.772 ID:swRlhMZc0Pi
>>14
いやしたがるじゃなくて今C++がどうやって動いてクロスプラットフォームに対応してるのかしてないのかが知りたい
いやしたがるじゃなくて今C++がどうやって動いてクロスプラットフォームに対応してるのかしてないのかが知りたい
25: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:24:56.103 ID:paUmQNu/0Pi
>>15
ざっくりいうとソースコードは共通でコンパイル時に生成される機械語が違う
だから標準ライブラリの範囲とかだとOSが違っても同じコードで同じように動く
その標準ライブラリが何してるかというとOSごとに異なるシステムコールやAPI呼び出しを行ってる
標準以外のライブラリも同様にOSごとの差異を吸収するように作るから、クロスプラットフォーム対応のライブラリ使う場合は概ね共通のソースが使える
吸収しきれない場合は何かしらの注釈がついてたりする
ざっくりいうとソースコードは共通でコンパイル時に生成される機械語が違う
だから標準ライブラリの範囲とかだとOSが違っても同じコードで同じように動く
その標準ライブラリが何してるかというとOSごとに異なるシステムコールやAPI呼び出しを行ってる
標準以外のライブラリも同様にOSごとの差異を吸収するように作るから、クロスプラットフォーム対応のライブラリ使う場合は概ね共通のソースが使える
吸収しきれない場合は何かしらの注釈がついてたりする
31: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:27:24.371 ID:swRlhMZc0Pi
>>25
なるほどコンパイラか…
つまりC#から機械語もしくはアセンブリ言語へのコンパイラを作ればC#でもローレベルレイヤー(カーネルだのドライバだの)を扱えるってことか
なるほどコンパイラか…
つまりC#から機械語もしくはアセンブリ言語へのコンパイラを作ればC#でもローレベルレイヤー(カーネルだのドライバだの)を扱えるってことか
35: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:29:49.725 ID:AwKr0eZ70Pi
>>31
作ればっていうか、はたしてそれがC#かというと謎
カーネルだのドライバだのはアドレスを直接叩く必要があるがC#はそんなこと許さないし
作ればっていうか、はたしてそれがC#かというと謎
カーネルだのドライバだのはアドレスを直接叩く必要があるがC#はそんなこと許さないし
38: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:34:54.745 ID:swRlhMZc0Pi
>>35
許されないだけでライブラリとして作っちゃえばいいのでは?と素人ながら思うけどどうなのだろ?
許されないだけでライブラリとして作っちゃえばいいのでは?と素人ながら思うけどどうなのだろ?
40: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:36:01.408 ID:AwKr0eZ70Pi
>>38
そのライブラリはアセンブラなりC/C++なりで書くことになるよ
C#からネイティブAPI呼び出しを許すからできなくはないけど
そのライブラリはアセンブラなりC/C++なりで書くことになるよ
C#からネイティブAPI呼び出しを許すからできなくはないけど
43: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:37:29.952 ID:CmvL08qW0Pi
>>38
無理だね
無理だね
52: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:39:45.072 ID:swRlhMZc0Pi
>>43
無理なの?
無理なの?
53: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:40:12.185 ID:CmvL08qW0Pi
>>52
公式がそういった仕組みをドットネットランタイムに追加しない限りは無理
公式がそういった仕組みをドットネットランタイムに追加しない限りは無理
57: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:41:45.483 ID:swRlhMZc0Pi
>>53
そうなのか…
まだ時期尚早って感じなのかなぁ
そうなのか…
まだ時期尚早って感じなのかなぁ
56: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:41:42.411 ID:paUmQNu/0Pi
>>38
それでいい
共通部分を純粋なコードで書いて環境依存部分を別ライブラリにするのはよくある
移植の際は環境依存部分を作って極力共通部分はノータッチで済むのが望ましい
クラスプラットフォーム環境がやってるのはざっくりいうとそういうこと
それでいい
共通部分を純粋なコードで書いて環境依存部分を別ライブラリにするのはよくある
移植の際は環境依存部分を作って極力共通部分はノータッチで済むのが望ましい
クラスプラットフォーム環境がやってるのはざっくりいうとそういうこと
59: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:42:45.210 ID:swRlhMZc0Pi
>>56
なるほど!
なるほど!
30: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:26:22.857 ID:8125p2nJ0Pi
高レベル言語→C++とか
↓それぞれの環境ごとのコンパイラ、インタープリタ
それぞれの環境ごとの機械語(アセンブリ言語)
↓それぞれの環境ごとのコンパイラ、インタープリタ
それぞれの環境ごとの機械語(アセンブリ言語)
34: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:29:05.244 ID:swRlhMZc0Pi
>>30
なるほど
なるほど
39: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:35:11.734 ID:CmvL08qW0Pi
メモリ管理関連の構文や機能を全てgcに任せてるのでそこらへんをちゃんと実装しなきゃね
そうするとそれはもうC#ではないんだけどね
そうするとそれはもうC#ではないんだけどね
44: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:38:10.739 ID:swRlhMZc0Pi
>>39
それはまぁしょうがない部分ではある
UnityでもGCを無くしたりNativeArrayを使うことでBURSTコンパイルさせるという仕様が追加されたりしてるし
カーネルやドライバを作りたい人だけが意識すればいいかなとは思う
それはまぁしょうがない部分ではある
UnityでもGCを無くしたりNativeArrayを使うことでBURSTコンパイルさせるという仕様が追加されたりしてるし
カーネルやドライバを作りたい人だけが意識すればいいかなとは思う
42: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:36:58.758 ID:55jOwF5EaPi
プログラミングスレってなんでこんなにマウント取りたがり湧くんだろうな
普通に優しく教えたらいいのに
こんな奴ばっかでうざいからIT辞めた
普通に優しく教えたらいいのに
こんな奴ばっかでうざいからIT辞めた
51: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:39:25.082 ID:swRlhMZc0Pi
>>42
ワロタwww
偉そうに言ってるやつには笑顔でそうですね~って言ってて裏では笑っとけばいいねん
ワロタwww
偉そうに言ってるやつには笑顔でそうですね~って言ってて裏では笑っとけばいいねん
58: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:42:25.883 ID:xw639s/C0Pi
>>42
優しく教えられる人はこの時間は会社で働いてるだろ
優しく教えられる人はこの時間は会社で働いてるだろ
60: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:42:53.209 ID:swRlhMZc0Pi
>>58
これ
これ
61: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 16:43:45.021 ID:swRlhMZc0Pi
てかこれだけ教えてくれるだけでも優しいと思わないとダメだよね
普通の人ならめんどくさいとかで教えてくれない
普通の人ならめんどくさいとかで教えてくれない
80: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 18:50:14.797 ID:tYRXPLo40Pi
OS依存かつCPU依存
特に処理速度上げるためにSIMDとか使うならCPUの機能には気を使う必要あり
一度vsとかでC++コンパイル時にアセンブリと機械語を吐き出してみるといいかも
特に処理速度上げるためにSIMDとか使うならCPUの機能には気を使う必要あり
一度vsとかでC++コンパイル時にアセンブリと機械語を吐き出してみるといいかも
84: 以下、5ちゃんねるからVIPがお送りします 2023/03/14(火) 19:33:54.946 ID:swRlhMZc0Pi
>>80
なるほどサンクス
なるほどサンクス
管理人からひと言
わからんけど無理
つ、inline assemblerで良くねw?