2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【プログラミング】機械語とかアセンブリとか低レベルレイヤーに詳しいプログラマーいる?

1 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:07:33.977 ID:swRlhMZc0Pi.net
今の現状でもC++とかで書かれた1つのプログラムでLinuxやMacやWindowsのそれぞれのOSに対応することができないであってる???

2 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:07:45.234 ID:LD4qd/1NrPi.net
ポーアイカレー おいしい 塩田

3 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:08:38.803 ID:zeChO0eXMPi.net
低レベルの人間性なら持ってるけどダメ?

4 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:08:42.602 ID:swRlhMZc0Pi.net
C++からコンパイルされる機械語やアセンブラは単一でそれぞれのOSで違う訳され方される的な

5 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:08:56.697 ID:swRlhMZc0Pi.net
>>3
ダメ

6 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:09:05.193 ID:teqQFbZKrPi.net
間違ってる

7 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:09:18.159 ID:swRlhMZc0Pi.net
>>6
じゃあ教えて?

8 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:09:32.456 ID:teqQFbZKrPi.net
C#ガイジに教えるわけがない

9 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:10:26.974 ID:swRlhMZc0Pi.net
>>8
C#とかなら一度ilに変換してそのOSの中のランタイムがそれぞれの機械語に翻訳してるってのは知ってる

10 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:10:27.947 ID:kPnlI1Oj0Pi.net
アベンジャーズ!



…………………アッセンボゥ😏

11 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:10:54.033 ID:teqQFbZKrPi.net
それでいいんじゃない?お前がそう思うなら

12 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:11:25.872 ID:swRlhMZc0Pi.net
>>10
アッセンボウ

13 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:11:51.212 ID:swRlhMZc0Pi.net
>>11
C#はわかるけどC++は今どうなってるのか教えてほしい

14 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:13:38.005 ID:EYzqqZFaaPi.net
そもそもC#とC++で作ったプログラムの動作方法が違うのになんで比較したがるのか

15 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:16:12.772 ID:swRlhMZc0Pi.net
>>14
いやしたがるじゃなくて今C++がどうやって動いてクロスプラットフォームに対応してるのかしてないのかが知りたい

16 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:16:14.571 ID:GYGPKsYG0Pi.net
そんな低レベルな質問すんなよwww

17 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:16:58.803 ID:CmvL08qW0Pi.net
C#が全てなんだからそれでいいじゃん

18 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:20:21.876 ID:WeVkbbSL0Pi.net
エミュレータの上で実行したらどこででも動くんじゃね

19 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:22:06.162 ID:swRlhMZc0Pi.net
>>16
だから低レベルだっつたろwww

20 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:22:49.387 ID:swRlhMZc0Pi.net
>>17
それでもいいけどC#で機械語に翻訳できるコンパイラ作れば最強じゃね?って思ってきた

21 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:23:39.575 ID:swRlhMZc0Pi.net
>>18
そりゃそうだわな
Blenderとかの最近クロスプラットフォームのソフトもそうやってできてんのかな?
最近増えてるけど

22 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:23:54.090 ID:CmvL08qW0Pi.net
つくれば?

23 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:24:40.304 ID:FaMYouRe0Pi.net
javaじゃあかんの?

24 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:24:48.405 ID:swRlhMZc0Pi.net
>>22
まぁまだ技術力が足りなくて作れないけどね
C++だとどうなんだろ?って思ってさ

25 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:24:56.103 ID:paUmQNu/0Pi.net
>>15
ざっくりいうとソースコードは共通でコンパイル時に生成される機械語が違う
だから標準ライブラリの範囲とかだとOSが違っても同じコードで同じように動く
その標準ライブラリが何してるかというとOSごとに異なるシステムコールやAPI呼び出しを行ってる
標準以外のライブラリも同様にOSごとの差異を吸収するように作るから、クロスプラットフォーム対応のライブラリ使う場合は概ね共通のソースが使える
吸収しきれない場合は何かしらの注釈がついてたりする

26 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:24:57.721 ID:55jOwF5EaPi.net
コンパイラがそれぞれのプラットフォーム向けにバイナリ吐いてるんじゃないの?

27 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:25:07.000 ID:swRlhMZc0Pi.net
>>23
Javaならそういうのすでにあるの?

28 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:25:36.217 ID:EYzqqZFaaPi.net
>>27
これマジで言ってる?

29 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:26:09.779 ID:CmvL08qW0Pi.net
まず基本情報くらいは取ろう?
前提知識が終わってる

30 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:26:22.857 ID:8125p2nJ0Pi.net
高レベル言語→C++とか
↓それぞれの環境ごとのコンパイラ、インタープリタ
それぞれの環境ごとの機械語(アセンブリ言語)

31 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:27:24.371 ID:swRlhMZc0Pi.net
>>25
>>26
なるほどコンパイラか…
つまりC#から機械語もしくはアセンブリ言語へのコンパイラを作ればC#でもローレベルレイヤー(カーネルだのドライバだの)を扱えるってことか

32 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:28:09.912 ID:swRlhMZc0Pi.net
>>28
JavaはC#と一緒でJORだったかのランタイム上でILからコンパイルされてたような気がする

33 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:28:30.216 ID:swRlhMZc0Pi.net
>>29
そだね

34 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:29:05.244 ID:swRlhMZc0Pi.net
>>30
なるほど

35 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:29:49.725 ID:AwKr0eZ70Pi.net
>>31
作ればっていうか、はたしてそれがC#かというと謎
カーネルだのドライバだのはアドレスを直接叩く必要があるがC#はそんなこと許さないし

36 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:30:10.193 ID:CmvL08qW0Pi.net
C#をセルフホストできるようになれば出来るね

37 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:32:06.658 ID:CmvL08qW0Pi.net
5chブラウザ投げ出すレベルだと普通に途中で投げ出すだろうけど

38 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:34:54.745 ID:swRlhMZc0Pi.net
>>35
許されないだけでライブラリとして作っちゃえばいいのでは?と素人ながら思うけどどうなのだろ?

39 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:35:11.734 ID:CmvL08qW0Pi.net
メモリ管理関連の構文や機能を全てgcに任せてるのでそこらへんをちゃんと実装しなきゃね
そうするとそれはもうC#ではないんだけどね

40 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:36:01.408 ID:AwKr0eZ70Pi.net
>>38
そのライブラリはアセンブラなりC/C++なりで書くことになるよ
C#からネイティブAPI呼び出しを許すからできなくはないけど

41 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:36:20.308 ID:swRlhMZc0Pi.net
>>37
まぁまだ先よ
今作成中の5chブラウザもプログラミング歴半年くらいだからね
多分コンパイラ作るぞ~って人は歴20年とかの猛者なんじゃね?
20代で作ってる人いる?

42 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:36:58.758 ID:55jOwF5EaPi.net
プログラミングスレってなんでこんなにマウント取りたがり湧くんだろうな
普通に優しく教えたらいいのに
こんな奴ばっかでうざいからIT辞めた

43 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:37:29.952 ID:CmvL08qW0Pi.net
>>38
無理だね

44 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:38:10.739 ID:swRlhMZc0Pi.net
>>39
それはまぁしょうがない部分ではある
UnityでもGCを無くしたりNativeArrayを使うことでBURSTコンパイルさせるという仕様が追加されたりしてるし
カーネルやドライバを作りたい人だけが意識すればいいかなとは思う

45 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:38:11.528 ID:CmvL08qW0Pi.net
>>41
お前はもっと昔からいるだろ
シンセガイジやってたし

46 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:38:35.875 ID:swRlhMZc0Pi.net
>>45
言ってもそれでも1年前とかじゃね?

47 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:38:37.438 ID:CmvL08qW0Pi.net
>>44
そもそもランタイムがでかいし無理

48 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:38:44.800 ID:CmvL08qW0Pi.net
>>46
じゃあ嘘じゃん

49 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:38:54.358 ID:CmvL08qW0Pi.net
>>42
C#ガイジだからだよ

50 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:39:18.493 ID:CmvL08qW0Pi.net
コンパイラは大学でやるしな

51 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:39:25.082 ID:swRlhMZc0Pi.net
>>42
ワロタwww
偉そうに言ってるやつには笑顔でそうですね~って言ってて裏では笑っとけばいいねん

52 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:39:45.072 ID:swRlhMZc0Pi.net
>>43
無理なの?

53 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:40:12.185 ID:CmvL08qW0Pi.net
>>52
公式がそういった仕組みをドットネットランタイムに追加しない限りは無理

54 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:40:50.236 ID:swRlhMZc0Pi.net
>>47
最悪C++でコンパイラは書いても問題ないとは思う
C#を機械語やアセンブリに変換できるなら

55 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:41:25.222 ID:swRlhMZc0Pi.net
>>50
マジ?コンパイラ作る大学とかあんの?
どこの大学?

56 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:41:42.411 ID:paUmQNu/0Pi.net
>>38
それでいい
共通部分を純粋なコードで書いて環境依存部分を別ライブラリにするのはよくある
移植の際は環境依存部分を作って極力共通部分はノータッチで済むのが望ましい
クラスプラットフォーム環境がやってるのはざっくりいうとそういうこと

57 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:41:45.483 ID:swRlhMZc0Pi.net
>>53
そうなのか…
まだ時期尚早って感じなのかなぁ

58 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:42:25.883 ID:xw639s/C0Pi.net
>>42
優しく教えられる人はこの時間は会社で働いてるだろ

59 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:42:45.210 ID:swRlhMZc0Pi.net
>>56
なるほど!

60 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:42:53.209 ID:swRlhMZc0Pi.net
>>58
これ

61 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:43:45.021 ID:swRlhMZc0Pi.net
てかこれだけ教えてくれるだけでも優しいと思わないとダメだよね
普通の人ならめんどくさいとかで教えてくれない

62 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:43:55.333 ID:CmvL08qW0Pi.net
>>55
調べろよ

63 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:44:11.459 ID:swRlhMZc0Pi.net
>>62
了解

64 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:45:25.639 ID:eJVi6jwr0Pi.net
まず言葉を正しく使うところから始めろ
なんだよ1つのプログラムって

65 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:47:55.595 ID:FKyzwIwA0Pi.net
検索に行き詰まったら プリプロセッサ でggろう
C#から機械語にするのはコンパイラ
C#からアセンブラ(ニモニック)を生成するのはプリプロセッサ

66 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:47:59.935 ID:AwKr0eZ70Pi.net
>>64
同一バイナリって意味じゃね?
こういうのって読み取れないとプログラマと一般人の会話って成り立たんと思う

67 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:48:42.625 ID:CmvL08qW0Pi.net
同一バイナリで異なるプラットフォームで動くプログラムは存在しない
絶対にランタイム挟む必要がある

68 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:49:01.511 ID:swRlhMZc0Pi.net
>>65
サンクス

69 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:49:38.756 ID:swRlhMZc0Pi.net
>>67
ソースという意味ですかね1つのプログラムというのは

70 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:50:40.696 ID:FA5xe+mgaPi.net
1つのプログラムって俺もバイナリの事と思ってスレ見てたけどソースなんだ

71 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:50:51.768 ID:AwKr0eZ70Pi.net
>>69
マジかw
ソースという意味ならなんとかなるやん
LinuxにC#のランタイム入れるだけ

72 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:56:24.713 ID:swRlhMZc0Pi.net
>>70
たぶん

73 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:57:27.351 ID:swRlhMZc0Pi.net
>>71
C++の話ですが…
C#は1つのソース(プログラム)で.NETRuntimeで機械語に翻訳されるのはわかる

74 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:58:04.787 ID:CmvL08qW0Pi.net
>>69
C++はマクロで条件分岐させてプラットフォーム毎に必要な処理を書くことで一つのソースコードから複数プラットフォームへのコンパイルが出来る
ライブラリがそのへんの差異を吸収してることも多いから基本は1ソースから複数プラットフォームへのコンパイルが出来る
その他のコンパイル言語も同様

75 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 16:59:56.815 ID:swRlhMZc0Pi.net
>>74
ふむふむ
#ifdef WINDOWSみたいな感じで共用化できない部分はそれぞれに追加する感じか
.NET MAUIもそんな感じだわ

76 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 17:32:58.264 ID:1a8PTKt5dPi.net
>>1を消す方法

(プログラ|Linux).*(初心者|欠点|イベント|アフィ|信者|JavaScript|You|チャンネル|利点|Linux)|(初心者|欠点|イベント|アフィ|信者|JavaScript|You|チャンネル|利点|Linux).*プログラ|Python|Unity|VBA|Mac[^a-zA-Z]|VisualStudio

77 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 18:28:22.772 ID:uSTjXjRo0Pi.net
わりと勉強になるスレ
>>42
マウント取るだけで教えてくれるとかクソ優しいし燃えてない時だろ
忙しいんだよ死ねって殺意が滲み出てて最悪口に出るのが現実じゃん

78 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 18:40:29.035 ID:mQf63uC90Pi.net
ライブラリの関係でC++/CLIでマネージからネイティブ使うのやったなぁ…
そう言うの一つの環境でできちゃうのはC#の利点ではあるな

79 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 18:42:14.543 ID:INQgTwQN0Pi.net
>>77
燃えてるときに現実t息抜きに書くんだろ

80 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 18:50:14.797 ID:tYRXPLo40Pi.net
OS依存かつCPU依存
特に処理速度上げるためにSIMDとか使うならCPUの機能には気を使う必要あり
一度vsとかでC++コンパイル時にアセンブリと機械語を吐き出してみるといいかも

81 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 18:50:38.626 ID:tYRXPLo40Pi.net
って>>1もういないか

82 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 19:33:04.843 ID:swRlhMZc0Pi.net
>>78
dll importか

83 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 19:33:27.058 ID:swRlhMZc0Pi.net
>>81
帰ってきたぞ!

84 :以下、?ちゃんねるからVIPがお送りします:2023/03/14(火) 19:33:54.946 ID:swRlhMZc0Pi.net
>>80
なるほどサンクス

総レス数 84
19 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★