!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C17
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C23 最新ドラフト
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
※前スレ
C言語なら俺に聞け 160
https://mevius.5ch.net/test/read.cgi/tech/1672191630/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C言語なら俺に聞け 161
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0f63-sFbk)
2023/04/21(金) 14:05:20.18ID:rqj2HSDF0675デフォルトの名無しさん (ワッチョイ 8a79-aeRl)
2023/09/24(日) 11:19:45.97ID:Cw9+et/n0 映画化決定 鬼滅の刃 - 無限長レジスタ編
676はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-ClgD)
2023/09/24(日) 11:48:58.25ID:wtxuVbIF0 >>672
C++ 的にはクラスが一定の条件を満たすと C の構造体と互換性があるような性質を持つ。
それが POD。
C++ の POD のことも慣例で構造体と呼んでると思うので、
C の構造体 ≒ C++ の POD みたいな感じ。
POD は値渡しがどうこうとは無関係。
C++ 的にはクラスが一定の条件を満たすと C の構造体と互換性があるような性質を持つ。
それが POD。
C++ の POD のことも慣例で構造体と呼んでると思うので、
C の構造体 ≒ C++ の POD みたいな感じ。
POD は値渡しがどうこうとは無関係。
677デフォルトの名無しさん (スッップ Sdaa-cHxT)
2023/09/24(日) 18:47:28.19ID:zJPvjQK3d678デフォルトの名無しさん (ワッチョイ 0761-+HDL)
2023/09/24(日) 19:03:57.96ID:SWucSPIu0 Plain Old Data だね。
ちゃんとした英語だと、dの繰り返しを避けて Plain Ol' Data とするらしい
最新のC++はPODっていう呼び名を廃止したんじゃ無かった?
ちゃんとした英語だと、dの繰り返しを避けて Plain Ol' Data とするらしい
最新のC++はPODっていう呼び名を廃止したんじゃ無かった?
679はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-ClgD)
2023/09/24(日) 19:10:57.73ID:wtxuVbIF0 >>678
概念は廃止した (性質をスタンダードレイアウトとトリビアルに分割して説明している) けど std::is_pod がまだ有るので
「POD がなくなった」と言えるかどうかはちょっと微妙なところ。
概念は廃止した (性質をスタンダードレイアウトとトリビアルに分割して説明している) けど std::is_pod がまだ有るので
「POD がなくなった」と言えるかどうかはちょっと微妙なところ。
680デフォルトの名無しさん (ワッチョイ 3b93-gtrM)
2023/09/24(日) 19:39:45.99ID:iqjAJ+9f0 >>674
無限では無いけど VLIW って聞いた事無いのかw❤
無限では無いけど VLIW って聞いた事無いのかw❤
681デフォルトの名無しさん (ワッチョイ 1ecf-WMZf)
2023/09/24(日) 19:54:27.01ID:9leOLZhk0 >>680
レジスタ長を関係あるか?
レジスタ長を関係あるか?
682デフォルトの名無しさん (ワッチョイ 0a30-gIzx)
2023/09/24(日) 22:05:30.32ID:/fHwRuZw0 >>680
Very Long Instruction Word(超長い命令長)で、レジスタ関係無し
Very Long Instruction Word(超長い命令長)で、レジスタ関係無し
683デフォルトの名無しさん (ワッチョイ 1e63-CSnM)
2023/09/24(日) 22:12:32.99ID:D6DOZoEp0 レジスターを実メモリーサイズに拡張し、実メモリーを廃止
プログラムはレジスターに直接ロード、
データは必要に応じたサイズを割り当てる
一種のチューリングマシン
プログラムはレジスターに直接ロード、
データは必要に応じたサイズを割り当てる
一種のチューリングマシン
684デフォルトの名無しさん (ワッチョイ de6a-6sCR)
2023/09/24(日) 22:31:37.22ID:fu7DWNWn0 昔、ルネサスH8だったと思うが、関数内で大きなconst配列を定義したところ、RAM不足のビルドエラーに。
constならROM領域に割り付けるんじゃないのと思いルネに聞いたところ「言語仕様上static変数はconstの有無によらずRAMに割り付けることになってる…」とかいう回答。
Cの規格では割付領域まで規定してるのですかね。
void func(void){
static const char LARGE_TABLE[1024]={...};
...
}
constならROM領域に割り付けるんじゃないのと思いルネに聞いたところ「言語仕様上static変数はconstの有無によらずRAMに割り付けることになってる…」とかいう回答。
Cの規格では割付領域まで規定してるのですかね。
void func(void){
static const char LARGE_TABLE[1024]={...};
...
}
685デフォルトの名無しさん (ワッチョイ 07db-oBwi)
2023/09/25(月) 00:05:56.55ID:flE1dY0R0 Cコンパイラじゃ無くて、リンカに領域指定するんだけどなぁ
686はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-MH8p)
2023/09/25(月) 00:12:22.79ID:ubRrbZbh0 処理系定義も広義には言語仕様と言えなくもないんじゃね。
まあ普通は言わんが……
まあ普通は言わんが……
687デフォルトの名無しさん (ワッチョイ 07db-oBwi)
2023/09/25(月) 00:13:31.19ID:flE1dY0R0 section切ってアドレス指定だろ?
688デフォルトの名無しさん (ワッチョイ 3b93-gtrM)
2023/09/25(月) 00:23:33.45ID:Sev0Fg0J0689デフォルトの名無しさん (ワッチョイ 3b93-gtrM)
2023/09/25(月) 00:26:21.67ID:Sev0Fg0J0690デフォルトの名無しさん (ワッチョイ 8a79-aeRl)
2023/09/25(月) 00:49:29.60ID:h8TBNStf0 H8のフラッシュは書き込み回数が少ないからじゃないかな
その代わり数MBのDRAMモジュール繋いで実行できたから当時のマイコンにしては組み込みlinuxが乗ったりして富豪プログラミングができた
その代わり数MBのDRAMモジュール繋いで実行できたから当時のマイコンにしては組み込みlinuxが乗ったりして富豪プログラミングができた
691デフォルトの名無しさん (ワッチョイ dee4-+EvS)
2023/09/25(月) 07:20:40.16ID:4OYJzvHn0 >>684
そんな規定は無い。実装の都合としてもわざわざRAMに置いてうれしいこともなさそう。
「言語仕様上自動変数はconstの有無によらずRAMに割り付ける」ならありそうな話なので
あなたの記憶違いの可能性のほうが高そう。
そんな規定は無い。実装の都合としてもわざわざRAMに置いてうれしいこともなさそう。
「言語仕様上自動変数はconstの有無によらずRAMに割り付ける」ならありそうな話なので
あなたの記憶違いの可能性のほうが高そう。
692デフォルトの名無しさん (ラクッペペ MMc6-se1G)
2023/09/25(月) 08:15:02.48ID:bQMRfZQJM 組込みマイコンでconst変数をROMに割り当てるのはスタートアップルーチンの仕事
main関数呼び出し前に実行する処理なので一旦main関数を呼び出してしまった後はROM領域に変数を割り当てる手段はない
main関数呼び出し前に実行する処理なので一旦main関数を呼び出してしまった後はROM領域に変数を割り当てる手段はない
693684 (ワッチョイ 1a91-6sCR)
2023/09/25(月) 09:01:11.94ID:8uqw4GxL0694デフォルトの名無しさん (ワッチョイ 07db-oBwi)
2023/09/25(月) 09:20:03.53ID:flE1dY0R0 なんか、トンチンカンな話ばかりで笑えるなぁ
ROMに割り付けるはRAMに割り付けるかは
リンカーにどう指示するかによるだけだろ
起動後にROMからRAMにコピーするか
そのままROMに置いとくかはデータの属性によって
リンカーがグループ化してくれたものを
起動時にスタートアップルーチンが転送するだけ
ROMに割り付けるはRAMに割り付けるかは
リンカーにどう指示するかによるだけだろ
起動後にROMからRAMにコピーするか
そのままROMに置いとくかはデータの属性によって
リンカーがグループ化してくれたものを
起動時にスタートアップルーチンが転送するだけ
695デフォルトの名無しさん (ワッチョイ 07db-oBwi)
2023/09/25(月) 09:24:07.97ID:flE1dY0R0 基本的に初期値を持つ変数は元の値はROMにあるから
幾らでも呼び出せるが、普通の手段では呼び出せないだけ
強制的にアドレス指定すれば幾らでも呼べる
幾らでも呼び出せるが、普通の手段では呼び出せないだけ
強制的にアドレス指定すれば幾らでも呼べる
696デフォルトの名無しさん (ラクッペペ MMc6-se1G)
2023/09/25(月) 09:25:15.48ID:oaSGqRXsM メモリ空間の変数の割り当てはスタートアップルーチンのコーディングで指定する
当然C言語ではなくマイコンメーカー指定の独自言語
大体はただパラメータを設定していくだけだけど
当然C言語ではなくマイコンメーカー指定の独自言語
大体はただパラメータを設定していくだけだけど
697デフォルトの名無しさん (ワッチョイ 07db-oBwi)
2023/09/25(月) 09:41:12.99ID:flE1dY0R0 つか、ROM上に変数なんか置かないから、置くのは定数
698デフォルトの名無しさん (ワッチョイ 8e86-NsvJ)
2023/09/25(月) 09:58:06.95ID:jZAmQlvo0 >>674
まあ、プログラムの高速化的には2048bitSIMDか4096bitSIMDレジスタがあると高速化の観点ではかなり都合が良い。AVX2は256bitだから単純計算すると性能が8倍とか16倍とかになるからね。
産業用だとarmのCPUに2048bit長のsimdレジスタがあった気がする。
まあ、プログラムの高速化的には2048bitSIMDか4096bitSIMDレジスタがあると高速化の観点ではかなり都合が良い。AVX2は256bitだから単純計算すると性能が8倍とか16倍とかになるからね。
産業用だとarmのCPUに2048bit長のsimdレジスタがあった気がする。
699デフォルトの名無しさん (ワッチョイ 0aa1-oBwi)
2023/09/25(月) 10:11:14.07ID:8PlaAgAt0700デフォルトの名無しさん (ワッチョイ 0aa1-oBwi)
2023/09/25(月) 10:14:30.53ID:8PlaAgAt0 ああ、staticか…なら仕方ない
701デフォルトの名無しさん (アウアウウー Sacf-PB4I)
2023/09/25(月) 12:55:53.24ID:RmxLVxNPa >>693 が描いたシステムは使いたくないな
702デフォルトの名無しさん (ワッチョイ dee4-+EvS)
2023/09/25(月) 18:22:37.93ID:4OYJzvHn0 >>693
自動変数がRAMに割り付けられるのは、再帰のたびに別アドレスとしなければならない規定があるから。
(逆に static なら同一アドレスとしなければならない。)
>692,696 (たぶん同一人物)は ROM/RAM 割り当てがスタートアップルーチンの仕事というが、
仮にそれが正しいとするとスタートアップルーチンはどこからロードするのかという、
おかしな話が出てくるので誤りと考えられる。
実際ルネサスツールでもリンカで指定するものとなっている。
https://www.renesas.com/jp/ja/document/mat/h8s-h8300-series-cc-compiler-package-ver700-users-manual
> 最適化リンケージエディタでは、入力オブジェクトプログラム内の同一セクションを結合し、
> start オプションによって指定されたアドレスに割り付けます。
自動変数がRAMに割り付けられるのは、再帰のたびに別アドレスとしなければならない規定があるから。
(逆に static なら同一アドレスとしなければならない。)
>692,696 (たぶん同一人物)は ROM/RAM 割り当てがスタートアップルーチンの仕事というが、
仮にそれが正しいとするとスタートアップルーチンはどこからロードするのかという、
おかしな話が出てくるので誤りと考えられる。
実際ルネサスツールでもリンカで指定するものとなっている。
https://www.renesas.com/jp/ja/document/mat/h8s-h8300-series-cc-compiler-package-ver700-users-manual
> 最適化リンケージエディタでは、入力オブジェクトプログラム内の同一セクションを結合し、
> start オプションによって指定されたアドレスに割り付けます。
703デフォルトの名無しさん (ラクッペペ MMc6-se1G)
2023/09/25(月) 19:02:56.98ID:ULcnNiWhM スタートアップルーチンは内蔵フラッシュメモリ(かマスクROM)に記録されておりベクターテーブル(スタートアップの一部)にリセット割込みのエントリーアドレスを格納しておく
マイコンの電源ONでリセット割込みが発生するとスタートアップルーチン先頭からプログラムカウンタに沿って実行されメモリ変数やスタック領域、SFRの初期設定を行い最後にCのメイン関数が呼び出される
マイコンの電源ONでリセット割込みが発生するとスタートアップルーチン先頭からプログラムカウンタに沿って実行されメモリ変数やスタック領域、SFRの初期設定を行い最後にCのメイン関数が呼び出される
704デフォルトの名無しさん (スッップ Sdaa-cHxT)
2023/09/25(月) 21:31:01.48ID:SHu1A0tUd >>697
const って何の略でしょう
const って何の略でしょう
705はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-MH8p)
2023/09/25(月) 22:04:58.79ID:ubRrbZbh0 >>704
C の変数は const を付けても (C の用語で言うところの) 定数にはならない。
C++ では異なるし、言語仕様の定義でなく単に事前に与える値くらいのニュアンスで定数という用語を使っている解説とかもあって混乱しやすい用語ではある。
C の変数は const を付けても (C の用語で言うところの) 定数にはならない。
C++ では異なるし、言語仕様の定義でなく単に事前に与える値くらいのニュアンスで定数という用語を使っている解説とかもあって混乱しやすい用語ではある。
706デフォルトの名無しさん (ワッチョイ 8aad-/va4)
2023/09/26(火) 00:22:01.41ID:+uZUPLZA0 const の変数は値の変更が不可能なので、それを利用してコンパイラが最適化することも出来るというだけで、必ず最適化しなければならないとかROMに割り付けなければならないみたいな決まりはない筈。
707デフォルトの名無しさん (ワッチョイ 6b01-PB4I)
2023/09/26(火) 00:49:13.67ID:h6rxe/Hl0 RAM2KBの環境ではROMに割り付けてもらわないと非常に困る
708デフォルトの名無しさん (ワッチョイ 07e5-+HDL)
2023/09/26(火) 01:39:36.71ID:kR568CEo0709デフォルトの名無しさん (ラクッペペ MMc6-se1G)
2023/09/26(火) 06:43:01.34ID:9+lSh1ncM 組込みで定数を扱うならdefine定義でソースに埋め込むのが普通
constはregisterと同じ扱いなので>>706の言うとおり
constはregisterと同じ扱いなので>>706の言うとおり
710デフォルトの名無しさん (ワッチョイ 0703-oBwi)
2023/09/26(火) 09:03:17.82ID:HGB+okJ70 いまどきのROM化環境のC言語にゃsectionで領域グループを指定する命令は無いのけ?
711デフォルトの名無しさん (ラクッペペ MMc6-se1G)
2023/09/26(火) 10:31:51.31ID:HDnmN3YRM >>699のマイコンの場合だと
スタートアップ
https://tool-support.renesas.com/autoupdate/support/onlinehelp/ja-JP/csp/V4.01.00/CS+.chm/Compiler-CCRX.chm/Output/ccrx08c0000y.html
コーディング例
https://tool-support.renesas.com/autoupdate/support/onlinehelp/ja-JP/csp/V4.01.00/CS+.chm/Compiler-CCRX.chm/Output/ccrx08c0400y.html#82903
スタートアップ
https://tool-support.renesas.com/autoupdate/support/onlinehelp/ja-JP/csp/V4.01.00/CS+.chm/Compiler-CCRX.chm/Output/ccrx08c0000y.html
コーディング例
https://tool-support.renesas.com/autoupdate/support/onlinehelp/ja-JP/csp/V4.01.00/CS+.chm/Compiler-CCRX.chm/Output/ccrx08c0400y.html#82903
712デフォルトの名無しさん (ワッチョイ 1ecf-44ew)
2023/09/27(水) 00:11:11.81ID:mIITHIHe0 セクションの初期化を割り当てというから混乱するんだろう
割り当てはリンク時にもう全部終わってる
割り当てはリンク時にもう全部終わってる
713デフォルトの名無しさん (ラクッペペ MMc6-se1G)
2023/09/27(水) 01:37:20.19ID:tguPsVh8M 静的な変数はリンク時はextern宣言で外部定義しておきスタートアップルーチンでセクション割当てすることでメモリ配置を確定させるのが一般的
リンクリストで自動変数以外のすべての使用変数を漏れなく割当てできているか確認する必要がある
リンクリストで自動変数以外のすべての使用変数を漏れなく割当てできているか確認する必要がある
714デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
2023/09/27(水) 09:48:51.32ID:I/ozjFX50 人間様はリンカーにセクション配置アドレスを教えるのが仕事だった時代もありました
715デフォルトの名無しさん (ワッチョイ 1e63-CSnM)
2023/09/27(水) 10:10:54.01ID:lrg7uRD+0 ハードウェア上のメモリー配置を教えるのは、いまでも人間なんじゃないの?
716デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
2023/09/27(水) 10:12:59.72ID:I/ozjFX50717デフォルトの名無しさん (ラクッペペ MMc6-se1G)
2023/09/27(水) 11:19:15.53ID:0hujVwVvM 静的変数と自動変数(スタック領域)の容量の割り当ての最終的な決定は人間の仕事
あまり変数に領域を取りすぎるとスタックの分が無くなる
あまり変数に領域を取りすぎるとスタックの分が無くなる
718デフォルトの名無しさん (ワッチョイ 3b15-cHxT)
2023/09/27(水) 11:22:42.10ID:rbbJx+dJ0 >>714
組み込みでそんな優雅なこと言ってたらバグも直せん
組み込みでそんな優雅なこと言ってたらバグも直せん
719デフォルトの名無しさん (ワッチョイ a310-WMZf)
2023/09/27(水) 11:23:26.71ID:Rw0J2Yjq0 昔のトラブルの癖で1Mバイト以上の領域、配列が必要ならmallocで確保するようにしてる・・・。
720デフォルトの名無しさん (ラクッペペ MMc6-7af3)
2023/09/27(水) 11:53:58.81ID:8vHXVA1WM mallocは64KBまでだろ……
721デフォルトの名無しさん (ワッチョイ 6a95-+EvS)
2023/09/27(水) 12:26:49.33ID:9Ywamwi50 ・・・16bit?オフセットアドレス範囲?
722デフォルトの名無しさん (アウアウウー Sacf-PB4I)
2023/09/27(水) 13:10:05.87ID:OOPn+kCla 8086の時代だろ
EMSのページング
EMSのページング
723デフォルトの名無しさん (ワッチョイ 1e63-CSnM)
2023/09/27(水) 15:08:08.13ID:lrg7uRD+0 いやそれ以前のCPUの仕様
724デフォルトの名無しさん (アウアウウー Sacf-j351)
2023/09/27(水) 16:10:06.49ID:OOPn+kCla それ以前だと本体メモリでも64kBフル積んでるの少なくないか
725デフォルトの名無しさん (ワッチョイ 1e63-CSnM)
2023/09/27(水) 16:12:57.75ID:lrg7uRD+0 8086積んでた当時のPCは128程度は積んでたと思うが
64でフルになるのはZ80のような8ビットPCでの話
64でフルになるのはZ80のような8ビットPCでの話
726デフォルトの名無しさん (アウアウウー Sacf-j351)
2023/09/27(水) 16:25:12.39ID:OOPn+kCla それ以前のそれに8086を含んでるなら矛盾はしない
727デフォルトの名無しさん (ワッチョイ 1e63-CSnM)
2023/09/27(水) 16:26:45.84ID:lrg7uRD+0 8086でフルに積むメモリの意味が分からん
728はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-ClgD)
2023/09/27(水) 16:44:44.21ID:Q9yfznPE0 この場合の「フル」はメモリ空間いっぱいのことなんじゃないの。
バンク切り換えまで含めたらいくらでも拡張の余地はあるけど
malloc でバンクを跨ぐわけにはいかんし。
バンク切り換えまで含めたらいくらでも拡張の余地はあるけど
malloc でバンクを跨ぐわけにはいかんし。
729デフォルトの名無しさん (ワッチョイ 1e63-CSnM)
2023/09/27(水) 17:00:48.31ID:lrg7uRD+0 8086のアドレスバスは20ビットだから、1MB実装できる
730デフォルトの名無しさん (ワッチョイ 07e5-+HDL)
2023/09/27(水) 18:45:56.76ID:3YDDpoD+0 勉強になります
731デフォルトの名無しさん (ワッチョイ 1a94-oRtz)
2023/09/27(水) 19:57:19.01ID:3fbQ67ov0 勉強と言ってももう40年近く昔の知識だぞ
今どき役に立つことなんかあるか?
今どき役に立つことなんかあるか?
732デフォルトの名無しさん (ワッチョイ 07e5-+HDL)
2023/09/27(水) 21:07:16.75ID:3YDDpoD+0 >>731
すいません、ないです。ただ知的好奇心が非常に満たされます。
すいません、ないです。ただ知的好奇心が非常に満たされます。
733はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-MH8p)
2023/09/27(水) 22:18:54.45ID:Q9yfznPE0 レトロコンピュータの資料は探せばいくらでもあるが
面白いところだけ選んで読むというわけにはいかんからな。
読む前にどれが面白いのか判断できるわけもないし、
相互に関連があるので一部の資料だけ見ても意味がわからん。
話題に関連する形で昔の話が出てくるのは
それなりに興味深いということもあるんだろう。
面白いところだけ選んで読むというわけにはいかんからな。
読む前にどれが面白いのか判断できるわけもないし、
相互に関連があるので一部の資料だけ見ても意味がわからん。
話題に関連する形で昔の話が出てくるのは
それなりに興味深いということもあるんだろう。
734デフォルトの名無しさん (ワッチョイ 0a64-gIzx)
2023/09/27(水) 23:14:28.73ID:zQBl5fyt0 ITの歴史を知ることは為になる
温故知新
温故知新
735デフォルトの名無しさん (ワッチョイ 6a14-xAvD)
2023/09/28(木) 00:01:49.83ID:bZti02EO0 スレ違いだったら申し訳ない
c言語でコンパイルした実行ファイルってosのAPIを使用してなければ別々のosで動かせますか?
cpuアーキは同じ前提です。
c言語でコンパイルした実行ファイルってosのAPIを使用してなければ別々のosで動かせますか?
cpuアーキは同じ前提です。
736デフォルトの名無しさん (ワッチョイ 0716-oBwi)
2023/09/28(木) 00:29:26.06ID:gnUHVRPF0 >>735
そもそも実行環境自体がos依存だろ
そもそも実行環境自体がos依存だろ
737デフォルトの名無しさん (アウアウウー Sacf-j351)
2023/09/28(木) 00:42:44.54ID:wsjwbbNAa CPU同じならセットアップの問題とIO関係のクリア出来てたらそこそこは動くんじゃないか
738デフォルトの名無しさん (アウアウウー Sacf-j351)
2023/09/28(木) 00:47:13.64ID:wsjwbbNAa 割とマジで試したいなら
Bochs とか QEMU とかで
OS 無しで動かしてみたら良い
Bochs とか QEMU とかで
OS 無しで動かしてみたら良い
739デフォルトの名無しさん (ワッチョイ 1e63-s5vX)
2023/09/28(木) 00:55:43.32ID:9pgsrChg0 スタートアップ辺りにOS依存が有りそう
740はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-MH8p)
2023/09/28(木) 01:27:51.60ID:6irLEr1Q0 >>735
原則としては無理。
実行ファイルをメモリに展開して準備するローダがOSの一部だからOS の上で実行するならOSの機能は呼ばれることになる。
実行ファイルの形式が linuxとかだとelf が標準だけどwindowsではpeで、全く互換性はない。
ただ、複数のOSで動く実行ファイルを作るトリックは存在する。
https://justine.lol/cosmopolitan/index.html
原則としては無理。
実行ファイルをメモリに展開して準備するローダがOSの一部だからOS の上で実行するならOSの機能は呼ばれることになる。
実行ファイルの形式が linuxとかだとelf が標準だけどwindowsではpeで、全く互換性はない。
ただ、複数のOSで動く実行ファイルを作るトリックは存在する。
https://justine.lol/cosmopolitan/index.html
741デフォルトの名無しさん (アウアウウー Sacf-j351)
2023/09/28(木) 06:25:35.94ID:wsjwbbNAa742デフォルトの名無しさん (ワッチョイ 07e5-+HDL)
2023/09/28(木) 07:43:47.93ID:7Zdppbze0 >>735
質問者さんは下記の概要を知ると、参考になるかもです
「組み込み開発でベンダーロックを避けるためにマルチハードにしたい開発チームが、対象ハードごとのgccをビルドして用意する手順」
ややこしいし大変なので、ザッとで十分です
参考までに私が買った本(全部読んだとは言ってない)
「LINUX組み込みシステム」
クレイグ・ホーラボウ
ピアソンエデュケーション
質問者さんは下記の概要を知ると、参考になるかもです
「組み込み開発でベンダーロックを避けるためにマルチハードにしたい開発チームが、対象ハードごとのgccをビルドして用意する手順」
ややこしいし大変なので、ザッとで十分です
参考までに私が買った本(全部読んだとは言ってない)
「LINUX組み込みシステム」
クレイグ・ホーラボウ
ピアソンエデュケーション
743デフォルトの名無しさん (ワッチョイ a310-WMZf)
2023/09/28(木) 08:41:31.76ID:VP1D2tYa0 PC-98用のDOSアプリをTOWNSやAT互換機のDOSで動かしてはいたなぁ。
BIOSコールや各ハード特有機能を使わないアプリに限定されるけど。
BIOSコールや各ハード特有機能を使わないアプリに限定されるけど。
744デフォルトの名無しさん (ワッチョイ 3b15-cHxT)
2023/09/28(木) 09:51:32.79ID:wMng62Lu0745デフォルトの名無しさん (ワッチョイ 1e63-CSnM)
2023/09/28(木) 10:01:07.42ID:9pgsrChg0 MS-DOSのシステムコールって機種によらず共通でしょ
746デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
2023/09/28(木) 10:02:25.23ID:uRtj8fwF0 TOWNSはTownsOSだろ
747デフォルトの名無しさん (アウアウウー Sacf-j351)
2023/09/28(木) 10:04:03.81ID:7+/lnWbqa NHKでタマにやってる「我が社の黒歴史」で
FM-TOWNSを取り上げて欲しいな
FM-TOWNSを取り上げて欲しいな
748デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
2023/09/28(木) 10:15:55.20ID:uRtj8fwF0 TownsOSはMacOSみたいなGUIを提供してたんだよな
今やWindows到来って時代にだ
今やWindows到来って時代にだ
749デフォルトの名無しさん (ワッチョイ 1e63-CSnM)
2023/09/28(木) 10:16:51.88ID:9pgsrChg0 TownsOSはMS-DOSを拡張したものだし、
チャレンジ精神を評価する事はあっても
黒歴史とするのはあんまりだ
チャレンジ精神を評価する事はあっても
黒歴史とするのはあんまりだ
750デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
2023/09/28(木) 10:20:51.20ID:uRtj8fwF0 >>749
番組見たら考え方変わるよw
番組見たら考え方変わるよw
751デフォルトの名無しさん (ワッチョイ 1e63-CSnM)
2023/09/28(木) 10:24:22.26ID:9pgsrChg0 「我が社の黒歴史」ってやるなら、
是非NHK自身をネタにしてください
ライブドア事件の時、
ニュースに飛びついたNHK社員が
一斉にインサイダー取引で株売買してました
家族にも教えてたそうです
弁護士による内部調査を実施しましたが
社員の多くが調査拒否してましたよ
どんだけ暇なんだろうって思いました
是非NHK自身をネタにしてください
ライブドア事件の時、
ニュースに飛びついたNHK社員が
一斉にインサイダー取引で株売買してました
家族にも教えてたそうです
弁護士による内部調査を実施しましたが
社員の多くが調査拒否してましたよ
どんだけ暇なんだろうって思いました
752デフォルトの名無しさん (ワッチョイ 5301-oBwi)
2023/09/28(木) 10:32:23.32ID:Ev8os2Ag0 あの番組は、黒歴史があるから今の発展がある
みたいなノリの番組だから、後がない企業は扱わないよw
みたいなノリの番組だから、後がない企業は扱わないよw
753デフォルトの名無しさん (ワッチョイ 7f8e-se1G)
2023/09/28(木) 10:41:58.54ID:XO3PoFmz0 TownsOSのこと言うならWin3.1も大して変わらないと思う
どちらもMS-DOSの上で動くGUIシェルの中のひとつ
どちらもMS-DOSの上で動くGUIシェルの中のひとつ
754デフォルトの名無しさん (ワッチョイ 1e63-CSnM)
2023/09/28(木) 10:42:15.16ID:9pgsrChg0 当時のTownsは386採用し、MS-DOSを拡張して32ビットアクセスを実装してました
DOSが64Kの壁を越えられない時代にギガ単位のメモリをリニアに使える環境を実現
これを使ったゲームが人気でしたね
今から見れば当たり前のことで、何それって時代になってしまいましたが
DOS上のゲームでもこの方式を独自に採用したのがありました
DESCENTが有名だったかな
https://ja.wikipedia.org/wiki/DOSエクステンダ
DOSが64Kの壁を越えられない時代にギガ単位のメモリをリニアに使える環境を実現
これを使ったゲームが人気でしたね
今から見れば当たり前のことで、何それって時代になってしまいましたが
DOS上のゲームでもこの方式を独自に採用したのがありました
DESCENTが有名だったかな
https://ja.wikipedia.org/wiki/DOSエクステンダ
755はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-ClgD)
2023/09/28(木) 10:51:11.28ID:6irLEr1Q0 富士通の公式サイトに富士通の歴史の一部として Towns の記述はあるよ。
結果的に廃れたけど黒歴史ということはない。 当時はそれなりにユーザもいた。
結果的に廃れたけど黒歴史ということはない。 当時はそれなりにユーザもいた。
756デフォルトの名無しさん (アウアウウー Sacf-j351)
2023/09/28(木) 10:56:41.79ID:7+/lnWbqa >>751
NHKはまだ産まれ変わってないから「わが社の黒歴史」に出る資格が無い
NHKはまだ産まれ変わってないから「わが社の黒歴史」に出る資格が無い
757デフォルトの名無しさん (ワンミングク MMfa-/HEw)
2023/09/28(木) 10:59:08.38ID:A0Yya1hOM スレチですね
758デフォルトの名無しさん (アウアウウー Sacf-j351)
2023/09/28(木) 11:02:35.02ID:7+/lnWbqa >>755
この前はYAMAHAのFM音源が「わが社の黒歴史」に出てたよ
この前はYAMAHAのFM音源が「わが社の黒歴史」に出てたよ
759デフォルトの名無しさん (ワッチョイ 1e63-CSnM)
2023/09/28(木) 11:04:12.36ID:9pgsrChg0 16ビットの制約で64キロバイトメモリしか確保できない時代から
一気に4GBメモリがリニアにアクセスできるようになった時は感動しましたよ
64ビットでは、あんまり感動はなかったな、なんでだろう
一気に4GBメモリがリニアにアクセスできるようになった時は感動しましたよ
64ビットでは、あんまり感動はなかったな、なんでだろう
760はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-ClgD)
2023/09/28(木) 12:06:18.28ID:6irLEr1Q0 勉強してなかったからテストの点数が心配だなー チラッ チラッ
みたいな番組なわけだな。
みたいな番組なわけだな。
761デフォルトの名無しさん (ワッチョイ 0afd-e2p4)
2023/09/28(木) 12:09:23.54ID:MA2VSxCx0 >>759
64KBを超える事より4GBを超えることの方が圧倒的に少ないからだな
64KBを超える事より4GBを超えることの方が圧倒的に少ないからだな
762デフォルトの名無しさん (ワッチョイ 3b15-cHxT)
2023/09/28(木) 12:44:49.42ID:wMng62Lu0 ちょっと本気でプログラム組みだせばコードサイズ64KBなんてすぐ超える
一方1MBなんて集団でごちゃごちゃやってないかぎり超えない
一方1MBなんて集団でごちゃごちゃやってないかぎり超えない
763デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
2023/09/28(木) 12:53:02.94ID:uRtj8fwF0 アセンブラで組めばそんな大量のデータサイズにならんよ
764デフォルトの名無しさん (ワッチョイ 3b15-cHxT)
2023/09/28(木) 13:56:12.11ID:wMng62Lu0 データじゃなくてコードサイズの話なんだけど
ちょっと凝った仕様を入れようとすると64Kbくらいは簡単に超える
泣く泣く削るか無理して分割ロードにするか
8ビット時代はそんな感じだったな
ちょっと凝った仕様を入れようとすると64Kbくらいは簡単に超える
泣く泣く削るか無理して分割ロードにするか
8ビット時代はそんな感じだったな
765デフォルトの名無しさん (ワッチョイ 1eab-xvpL)
2023/09/28(木) 14:22:46.10ID:+fR7sAVf0 コード領域の自己書き換えでやりくりやりくり
766デフォルトの名無しさん (ワッチョイ a310-WMZf)
2023/09/28(木) 14:40:53.17ID:VP1D2tYa0 昔のPRGとかメニュー開くとCDアクセス始めるゲームとかあったなぁ。
メモリー足りず、フィールド、戦闘、メニュー毎にプログラム読み直してるのかと思った。
メモリー足りず、フィールド、戦闘、メニュー毎にプログラム読み直してるのかと思った。
767はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-ClgD)
2023/09/28(木) 15:31:33.20ID:6irLEr1Q0 Turbo C++ の MS-DOS 版にダイナミックロードを補助するライブラリが付いてなかったっけ?
うろおぼえだけど。
うろおぼえだけど。
768デフォルトの名無しさん (スフッ Sdaa-TrDt)
2023/09/28(木) 18:41:56.40ID:KRBURPw6d あったよ
うろ覚えだけど
うろ覚えだけど
769デフォルトの名無しさん (ワッチョイ 8a79-aeRl)
2023/09/28(木) 19:15:05.82ID:0dpaiugf0 >Turbo C++
TurboがC++だった頃なんてあったかな
TurboがC++だった頃なんてあったかな
770デフォルトの名無しさん (ワッチョイ 1e63-CSnM)
2023/09/28(木) 19:19:34.33ID:9pgsrChg0 あった
>1990年5月、ボーランドは Turbo C から Turbo C++ へと移行し、アマチュア向け・ローエンド製品を
>Turbo C++、プロ向け・ハイエンド製品を Borland C++ として2系統に展開した。
https://ja.wikipedia.org/wiki/Turbo_C
>1990年5月、ボーランドは Turbo C から Turbo C++ へと移行し、アマチュア向け・ローエンド製品を
>Turbo C++、プロ向け・ハイエンド製品を Borland C++ として2系統に展開した。
https://ja.wikipedia.org/wiki/Turbo_C
771デフォルトの名無しさん (ワッチョイ 6a36-WMZf)
2023/09/28(木) 20:46:13.07ID:O4GqiEoW0 DOSでも増設メモリに32bitレジスタでアクセス出来たのなら・・・
772デフォルトの名無しさん (ワッチョイ 0a64-gIzx)
2023/09/28(木) 22:44:00.88ID:qNYo9AZZ0 それがDOSエクステンダだろ
GO32には世話になった
GO32には世話になった
773デフォルトの名無しさん (ワッチョイ 23ad-2pcI)
2023/10/02(月) 02:12:15.10ID:hWT/DRlk0 X68000 もよろしく
774デフォルトの名無しさん (アウアウウー Sa89-5C2y)
2023/10/05(木) 17:17:30.86ID:WXXGTjkDa 黒歴史度はFM-TOWNSとX68000とどっちがどっち?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【ローソン】ロゴの「L」で誤解生んだコーヒーカップ、デザイン変更へ 在庫使い切る3か月後にリニューアル [ぐれ★]
- 今日はチートデイなのでパスタサラダ食べました
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 5時だから窓から5回ちんこ出した
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- リュウジ、ファミマコラボが不評だったから反論で緊急の動画回しててワロタァ
