[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 10/29 23:41 / Filesize : 272 KB / Number-of Response : 1007
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け 161



1 名前:デフォルトの名無しさん (ワッチョイ 0f63-sFbk) mailto:sage [2023/04/21(金) 14:05:20.18 ID:rqj2HSDF0.net]
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
codepad.org/

C17
www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf

C11
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
www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
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

701 名前:デフォルトの名無しさん (ワッチョイ 8e86-NsvJ) [2023/09/25(月) 09:58:06.95 ID:jZAmQlvo0.net]
>>674
まあ、プログラムの高速化的には2048bitSIMDか4096bitSIMDレジスタがあると高速化の観点ではかなり都合が良い。AVX2は256bitだから単純計算すると性能が8倍とか16倍とかになるからね。
産業用だとarmのCPUに2048bit長のsimdレジスタがあった気がする。

702 名前:デフォルトの名無しさん (ワッチョイ 0aa1-oBwi) [2023/09/25(月) 10:11:14.07 ID:8PlaAgAt0.net]
値を変更しない変数は〜
https://tool-support.renesas.com/autoupdate/support/onlinehelp/ja-JP/csp/V4.01.00/CS+.chm/Compiler-CCRX.chm/Output/ccrxaac0104y.html
誰が嘘を書いたか

703 名前:デフォルトの名無しさん (ワッチョイ 0aa1-oBwi) [2023/09/25(月) 10:14:30.53 ID:8PlaAgAt0.net]
ああ、staticか…なら仕方ない

704 名前:デフォルトの名無しさん (アウアウウー Sacf-PB4I) mailto:sage [2023/09/25(月) 12:55:53.24 ID:RmxLVxNPa.net]
>>693 が描いたシステムは使いたくないな

705 名前:デフォルトの名無しさん (ワッチョイ dee4-+EvS) mailto:sage [2023/09/25(月) 18:22:37.93 ID:4OYJzvHn0.net]
>>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 オプションによって指定されたアドレスに割り付けます。

706 名前:デフォルトの名無しさん (ラクッペペ MMc6-se1G) mailto:sage [2023/09/25(月) 19:02:56.98 ID:ULcnNiWhM.net]
スタートアップルーチンは内蔵フラッシュメモリ(かマスクROM)に記録されておりベクターテーブル(スタートアップの一部)にリセット割込みのエントリーアドレスを格納しておく
マイコンの電源ONでリセット割込みが発生するとスタートアップルーチン先頭からプログラムカウンタに沿って実行されメモリ変数やスタック領域、SFRの初期設定を行い最後にCのメイン関数が呼び出される

707 名前:デフォルトの名無しさん (スッップ Sdaa-cHxT) mailto:sage [2023/09/25(月) 21:31:01.48 ID:SHu1A0tUd.net]
>>697
const って何の略でしょう

708 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-MH8p) mailto:sage [2023/09/25(月) 22:04:58.79 ID:ubRrbZbh0.net]
>>704
C の変数は const を付けても (C の用語で言うところの) 定数にはならない。
C++ では異なるし、言語仕様の定義でなく単に事前に与える値くらいのニュアンスで定数という用語を使っている解説とかもあって混乱しやすい用語ではある。

709 名前:デフォルトの名無しさん (ワッチョイ 8aad-/va4) [2023/09/26(火) 00:22:01.41 ID:+uZUPLZA0.net]
const の変数は値の変更が不可能なので、それを利用してコンパイラが最適化することも出来るというだけで、必ず最適化しなければならないとかROMに割り付けなければならないみたいな決まりはない筈。



710 名前:デフォルトの名無しさん (ワッチョイ 6b01-PB4I) [2023/09/26(火) 00:49:13.67 ID:h6rxe/Hl0.net]
RAM2KBの環境ではROMに割り付けてもらわないと非常に困る

711 名前:デフォルトの名無しさん (ワッチョイ 07e5-+HDL) mailto:sage [2023/09/26(火) 01:39:36.71 ID:kR568CEo0.net]
>>707
ならそうしなさいよ、リンカスクリプトで
という話では?

712 名前:デフォルトの名無しさん (ラクッペペ MMc6-se1G) mailto:sage [2023/09/26(火) 06:43:01.34 ID:9+lSh1ncM.net]
組込みで定数を扱うならdefine定義でソースに埋め込むのが普通
constはregisterと同じ扱いなので>>706

713 名前:フ言うとおり []
[ここ壊れてます]

714 名前:デフォルトの名無しさん (ワッチョイ 0703-oBwi) [2023/09/26(火) 09:03:17.82 ID:HGB+okJ70.net]
いまどきのROM化環境のC言語にゃsectionで領域グループを指定する命令は無いのけ?

715 名前:デフォルトの名無しさん (ラクッペペ MMc6-se1G) mailto:sage [2023/09/26(火) 10:31:51.31 ID:HDnmN3YRM.net]
>>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

716 名前:デフォルトの名無しさん (ワッチョイ 1ecf-44ew) mailto:sage [2023/09/27(水) 00:11:11.81 ID:mIITHIHe0.net]
セクションの初期化を割り当てというから混乱するんだろう
割り当てはリンク時にもう全部終わってる

717 名前:デフォルトの名無しさん (ラクッペペ MMc6-se1G) mailto:sage [2023/09/27(水) 01:37:20.19 ID:tguPsVh8M.net]
静的な変数はリンク時はextern宣言で外部定義しておきスタートアップルーチンでセクション割当てすることでメモリ配置を確定させるのが一般的
リンクリストで自動変数以外のすべての使用変数を漏れなく割当てできているか確認する必要がある

718 名前:デフォルトの名無しさん (ワッチョイ 0a1f-oBwi) [2023/09/27(水) 09:48:51.32 ID:I/ozjFX50.net]
人間様はリンカーにセクション配置アドレスを教えるのが仕事だった時代もありました

719 名前:デフォルトの名無しさん (ワッチョイ 1e63-CSnM) mailto:sage [2023/09/27(水) 10:10:54.01 ID:lrg7uRD+0.net]
ハードウェア上のメモリー配置を教えるのは、いまでも人間なんじゃないの?



720 名前:デフォルトの名無しさん (ワッチョイ 0a1f-oBwi) [2023/09/27(水) 10:12:59.72 ID:I/ozjFX50.net]
>>715
ワンチップマイコンなら型番から自動で割り当ててくれるよ
まあ、外付けメモリ分は手動だけどな

721 名前:デフォルトの名無しさん (ラクッペペ MMc6-se1G) mailto:sage [2023/09/27(水) 11:19:15.53 ID:0hujVwVvM.net]
静的変数と自動変数(スタック領域)の容量の割り当ての最終的な決定は人間の仕事
あまり変数に領域を取りすぎるとスタックの分が無くなる

722 名前:デフォルトの名無しさん (ワッチョイ 3b15-cHxT) mailto:sage [2023/09/27(水) 11:22:42.10 ID:rbbJx+dJ0.net]
>>714
組み込みでそんな優雅なこと言ってたらバグも直せん

723 名前:デフォルトの名無しさん (ワッチョイ a310-WMZf) mailto:sage [2023/09/27(水) 11:23:26.71 ID:Rw0J2Yjq0.net]
昔のトラブルの癖で1Mバイト以上の領域、配列が必要ならmallocで確保するようにしてる・・・。

724 名前:デフォルトの名無しさん (ラクッペペ MMc6-7af3) mailto:sage [2023/09/27(水) 11:53:58.81 ID:8vHXVA1WM.net]
mallocは64KBまでだろ……

725 名前:デフォルトの名無しさん (ワッチョイ 6a95-+EvS) [2023/09/27(水) 12:26:49.33 ID:9Ywamwi50.net]
・・・16bit?オフセットアドレス範囲?

726 名前:デフォルトの名無しさん (アウアウウー Sacf-PB4I) [2023/09/27(水) 13:10:05.87 ID:OOPn+kCla.net]
8086の時代だろ
EMSのページング

727 名前:デフォルトの名無しさん (ワッチョイ 1e63-CSnM) mailto:sage [2023/09/27(水) 15:08:08.13 ID:lrg7uRD+0.net]
いやそれ以前のCPUの仕様

728 名前:デフォルトの名無しさん (アウアウウー Sacf-j351) [2023/09/27(水) 16:10:06.49 ID:OOPn+kCla.net]
それ以前だと本体メモリでも64kBフル積んでるの少なくないか

729 名前:デフォルトの名無しさん (ワッチョイ 1e63-CSnM) mailto:sage [2023/09/27(水) 16:12:57.75 ID:lrg7uRD+0.net]
8086積んでた当時のPCは128程度は積んでたと思うが
64でフルになるのはZ80のような8ビットPCでの話



730 名前:デフォルトの名無しさん (アウアウウー Sacf-j351) [2023/09/27(水) 16:25:12.39 ID:OOPn+kCla.net]
それ以前のそれに8086を含んでるなら矛盾はしない

731 名前:デフォルトの名無しさん (ワッチョイ 1e63-CSnM) mailto:sage [2023/09/27(水) 16:26:45.84 ID:lrg7uRD+0.net]
8086でフルに積むメモリの意味が分からん

732 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-ClgD) mailto:sage [2023/09/27(水) 16:44:44.21 ID:Q9yfznPE0.net]
この場合の「フル」はメモリ空間いっぱいのことなんじゃないの。
バンク切り換えまで含めたらいくらでも拡張の余地はあるけど
malloc でバンクを跨ぐわけにはいかんし。

733 名前:デフォルトの名無しさん (ワッチョイ 1e63-CSnM) mailto:sage [2023/09/27(水) 17:00:48.31 ID:lrg7uRD+0.net]
8086のアドレスバスは20ビットだから、1MB実装できる

734 名前:デフォルトの名無しさん (ワッチョイ 07e5-+HDL) mailto:sage [2023/09/27(水) 18:45:56.76 ID:3YDDpoD+0.net]
勉強になります

735 名前:デフォルトの名無しさん (ワッチョイ 1a94-oRtz) [2023/09/27(水) 19:57:19.01 ID:3fbQ67ov0.net]
勉強と言ってももう40年近く昔の知識だぞ
今どき役に立つことなんかあるか?

736 名前:デフォルトの名無しさん (ワッチョイ 07e5-+HDL) mailto:sage [2023/09/27(水) 21:07:16.75 ID:3YDDpoD+0.net]
>>731
すいません、ないです。ただ知的好奇心が非常に満たされます。

737 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-MH8p) mailto:sage [2023/09/27(水) 22:18:54.45 ID:Q9yfznPE0.net]
レトロコンピュータの資料は探せばいくらでもあるが
面白いところだけ選んで読むというわけにはいかんからな。
読む前にどれが面白いのか判断できるわけもないし、
相互に関連があるので一部の資料だけ見ても意味がわからん。
話題に関連する形で昔の話が出てくるのは
それなりに興味深いということもあるんだろう。

738 名前:デフォルトの名無しさん (ワッチョイ 0a64-gIzx) mailto:sage [2023/09/27(水) 23:14:28.73 ID:zQBl5fyt0.net]
ITの歴史を知ることは為になる
温故知新

739 名前:デフォルトの名無しさん (ワッチョイ 6a14-xAvD) [2023/09/28(木) 00:01:49.83 ID:bZti02EO0.net]
スレ違いだったら申し訳ない
c言語でコンパイルした実行ファイルってosのAPIを使用してなければ別々のosで動かせますか?
cpuアーキは同じ前提です。



740 名前:デフォルトの名無しさん (ワッチョイ 0716-oBwi) [2023/09/28(木) 00:29:26.06 ID:gnUHVRPF0.net]
>>735
そもそも実行環境自体がos依存だろ

741 名前:デフォルトの名無しさん (アウアウウー Sacf-j351) mailto:sage [2023/09/28(木) 00:42:44.54 ID:wsjwbbNAa.net]
CPU同じならセットアップの問題とIO関係のクリア出来てたらそこそこは動くんじゃないか

742 名前:デフォルトの名無しさん (アウアウウー Sacf-j351) [2023/09/28(木) 00:47:13.64 ID:wsjwbbNAa.net]
割とマジで試したいなら
Bochs とか QEMU とかで
OS 無しで動かしてみたら良い

743 名前:デフォルトの名無しさん (ワッチョイ 1e63-s5vX) mailto:sage [2023/09/28(木) 00:55:43.32 ID:9pgsrChg0.net]
スタートアップ辺りにOS依存が有りそう

744 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-MH8p) mailto:sage [2023/09/28(木) 01:27:51.60 ID:6irLEr1Q0.net]
>>735
原則としては無理。
実行ファイルをメモリに展開して準備するローダがOSの一部だからOS の上で実行するならOSの機能は呼ばれることになる。
実行ファイルの形式が linuxとかだとelf が標準だけどwindowsではpeで、全く互換性はない。

ただ、複数のOSで動く実行ファイルを作るトリックは存在する。
https://justine.lol/cosmopolitan/index.html

745 名前:デフォルトの名無しさん (アウアウウー Sacf-j351) mailto:sage [2023/09/28(木) 06:25:35.94 ID:wsjwbbNAa.net]
>>735
大前提が違ってたな
コンパイルしただけでは実行ファイルは造られない
リンカとローダーを通して初めて実行可能なファイルになる

746 名前:デフォルトの名無しさん (ワッチョイ 07e5-+HDL) mailto:sage [2023/09/28(木) 07:43:47.93 ID:7Zdppbze0.net]
>>735
質問者さんは下記の概要を知ると、参考になるかもです

「組み込み開発でベンダーロックを避けるためにマルチハードにしたい開発チームが、対象ハードごとのgccをビルドして用意する手順」

ややこしいし大変なので、ザッとで十分です

参考までに私が買った本(全部読んだとは言ってない)
「LINUX組み込みシステム」
クレイグ・ホーラボウ
ピアソンエデュケーション

747 名前:デフォルトの名無しさん (ワッチョイ a310-WMZf) mailto:sage [2023/09/28(木) 08:41:31.76 ID:VP1D2tYa0.net]
PC-98用のDOSアプリをTOWNSやAT互換機のDOSで動かしてはいたなぁ。
BIOSコールや各ハード特有機能を使わないアプリに限定されるけど。

748 名前:デフォルトの名無しさん (ワッチョイ 3b15-cHxT) mailto:sage [2023/09/28(木) 09:51:32.79 ID:wMng62Lu0.net]
>>743
OSが同じなら動くのが当然
MS-DOSがアレだから普通は動かないけどw

749 名前:デフォルトの名無しさん (ワッチョイ 1e63-CSnM) mailto:sage [2023/09/28(木) 10:01:07.42 ID:9pgsrChg0.net]
MS-DOSのシステムコールって機種によらず共通でしょ



750 名前:デフォルトの名無しさん (ワッチョイ 0a1f-oBwi) [2023/09/28(木) 10:02:25.23 ID:uRtj8fwF0.net]
TOWNSはTownsOSだろ

751 名前:デフォルトの名無しさん (アウアウウー Sacf-j351) [2023/09/28(木) 10:04:03.81 ID:7+/lnWbqa.net]
NHKでタマにやってる「我が社の黒歴史」で
FM-TOWNSを取り上げて欲しいな

752 名前:デフォルトの名無しさん (ワッチョイ 0a1f-oBwi) [2023/09/28(木) 10:15:55.20 ID:uRtj8fwF0.net]
TownsOSはMacOSみたいなGUIを提供してたんだよな
今やWindows到来って時代にだ

753 名前:デフォルトの名無しさん (ワッチョイ 1e63-CSnM) mailto:sage [2023/09/28(木) 10:16:51.88 ID:9pgsrChg0.net]
TownsOSはMS-DOSを拡張したものだし、
チャレンジ精神を評価する事はあっても
黒歴史とするのはあんまりだ

754 名前:デフォルトの名無しさん (ワッチョイ 0a1f-oBwi) [2023/09/28(木) 10:20:51.20 ID:uRtj8fwF0.net]
>>749
番組見たら考え方変わるよw

755 名前:デフォルトの名無しさん (ワッチョイ 1e63-CSnM) mailto:sage [2023/09/28(木) 10:24:22.26 ID:9pgsrChg0.net]
「我が社の黒歴史」ってやるなら、
是非NHK自身をネタにしてください
ライブドア事件の時、
ニュースに飛びついたNHK社員が
一斉にインサイダー取引で株売買してました
家族にも教えてたそうです
弁護士による内部調査を実施しましたが
社員の多くが調査拒否してましたよ
どんだけ暇なんだろうって思いました

756 名前:デフォルトの名無しさん (ワッチョイ 5301-oBwi) [2023/09/28(木) 10:32:23.32 ID:Ev8os2Ag0.net]
あの番組は、黒歴史があるから今の発展がある
みたいなノリの番組だから、後がない企業は扱わないよw

757 名前:デフォルトの名無しさん (ワッチョイ 7f8e-se1G) mailto:sage [2023/09/28(木) 10:41:58.54 ID:XO3PoFmz0.net]
TownsOSのこと言うならWin3.1も大して変わらないと思う
どちらもMS-DOSの上で動くGUIシェルの中のひとつ

758 名前:デフォルトの名無しさん (ワッチョイ 1e63-CSnM) mailto:sage [2023/09/28(木) 10:42:15.16 ID:9pgsrChg0.net]
当時のTownsは386採用し、MS-DOSを拡張して32ビットアクセスを実装してました
DOSが64Kの壁を越えられない時代にギガ単位のメモリをリニアに使える環境を実現
これを使ったゲームが人気でしたね
今から見れば当たり前のことで、何それって時代になってしまいましたが
DOS上のゲームでもこの方式を独自に採用したのがありました
DESCENTが有名だったかな

https://ja.wikipedia.org/wiki/DOSエクステンダ

759 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-ClgD) mailto:sage [2023/09/28(木) 10:51:11.28 ID:6irLEr1Q0.net]
富士通の公式サイトに富士通の歴史の一部として Towns の記述はあるよ。
結果的に廃れたけど黒歴史ということはない。 当時はそれなりにユーザもいた。



760 名前:デフォルトの名無しさん (アウアウウー Sacf-j351) [2023/09/28(木) 10:56:41.79 ID:7+/lnWbqa.net]
>>751
NHKはまだ産まれ変わってないから「わが社の黒歴史」に出る資格が無い

761 名前:デフォルトの名無しさん (ワンミングク MMfa-/HEw) [2023/09/28(木) 10:59:08.38 ID:A0Yya1hOM.net]
スレチですね

762 名前:デフォルトの名無しさん (アウアウウー Sacf-j351) [2023/09/28(木) 11:02:35.02 ID:7+/lnWbqa.net]
>>755
この前はYAMAHAのFM音源が「わが社の黒歴史」に出てたよ

763 名前:デフォルトの名無しさん (ワッチョイ 1e63-CSnM) mailto:sage [2023/09/28(木) 11:04:12.36 ID:9pgsrChg0.net]
16ビットの制約で64キロバイトメモリしか確保できない時代から
一気に4GBメモリがリニアにアクセスできるようになった時は感動しましたよ
64ビットでは、あんまり感動はなかったな、なんでだろう

764 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-ClgD) mailto:sage [2023/09/28(木) 12:06:18.28 ID:6irLEr1Q0.net]
勉強してなかったからテストの点数が心配だなー チラッ チラッ

みたいな番組なわけだな。

765 名前:デフォルトの名無しさん (ワッチョイ 0afd-e2p4) mailto:sage [2023/09/28(木) 12:09:23.54 ID:MA2VSxCx0.net]
>>759
64KBを超える事より4GBを超えることの方が圧倒的に少ないからだな

766 名前:デフォルトの名無しさん (ワッチョイ 3b15-cHxT) mailto:sage [2023/09/28(木) 12:44:49.42 ID:wMng62Lu0.net]
ちょっと本気でプログラム組みだせばコードサイズ64KBなんてすぐ超える
一方1MBなんて集団でごちゃごちゃやってないかぎり超えない

767 名前:デフォルトの名無しさん (ワッチョイ 0a1f-oBwi) [2023/09/28(木) 12:53:02.94 ID:uRtj8fwF0.net]
アセンブラで組めばそんな大量のデータサイズにならんよ

768 名前:デフォルトの名無しさん (ワッチョイ 3b15-cHxT) mailto:sage [2023/09/28(木) 13:56:12.11 ID:wMng62Lu0.net]
データじゃなくてコードサイズの話なんだけど
ちょっと凝った仕様を入れようとすると64Kbくらいは簡単に超える
泣く泣く削るか無理して分割ロードにするか
8ビット時代はそんな感じだったな

769 名前:デフォルトの名無しさん (ワッチョイ 1eab-xvpL) mailto:sage [2023/09/28(木) 14:22:46.10 ID:+fR7sAVf0.net]
コード領域の自己書き換えでやりくりやりくり



770 名前:デフォルトの名無しさん (ワッチョイ a310-WMZf) mailto:sage [2023/09/28(木) 14:40:53.17 ID:VP1D2tYa0.net]
昔のPRGとかメニュー開くとCDアクセス始めるゲームとかあったなぁ。
メモリー足りず、フィールド、戦闘、メニュー毎にプログラム読み直してるのかと思った。

771 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 273e-ClgD) mailto:sage [2023/09/28(木) 15:31:33.20 ID:6irLEr1Q0.net]
Turbo C++ の MS-DOS 版にダイナミックロードを補助するライブラリが付いてなかったっけ?
うろおぼえだけど。

772 名前:デフォルトの名無しさん (スフッ Sdaa-TrDt) [2023/09/28(木) 18:41:56.40 ID:KRBURPw6d.net]
あったよ
うろ覚えだけど

773 名前:デフォルトの名無しさん (ワッチョイ 8a79-aeRl) mailto:sage [2023/09/28(木) 19:15:05.82 ID:0dpaiugf0.net]
>Turbo C++
TurboがC++だった頃なんてあったかな

774 名前:デフォルトの名無しさん (ワッチョイ 1e63-CSnM) mailto:sage [2023/09/28(木) 19:19:34.33 ID:9pgsrChg0.net]
あった
>1990年5月、ボーランドは Turbo C から Turbo C++ へと移行し、アマチュア向け・ローエンド製品を
>Turbo C++、プロ向け・ハイエンド製品を Borland C++ として2系統に展開した。

https://ja.wikipedia.org/wiki/Turbo_C

775 名前:デフォルトの名無しさん (ワッチョイ 6a36-WMZf) mailto:sage [2023/09/28(木) 20:46:13.07 ID:O4GqiEoW0.net]
DOSでも増設メモリに32bitレジスタでアクセス出来たのなら・・・

776 名前:デフォルトの名無しさん (ワッチョイ 0a64-gIzx) mailto:sage [2023/09/28(木) 22:44:00.88 ID:qNYo9AZZ0.net]
それがDOSエクステンダだろ
GO32には世話になった

777 名前:デフォルトの名無しさん (ワッチョイ 23ad-2pcI) [2023/10/02(月) 02:12:15.10 ID:hWT/DRlk0.net]
X68000 もよろしく

778 名前:デフォルトの名無しさん (アウアウウー Sa89-5C2y) [2023/10/05(木) 17:17:30.86 ID:WXXGTjkDa.net]
黒歴史度はFM-TOWNSとX68000とどっちがどっち?

779 名前:デフォルトの名無しさん (ワッチョイ 2379-Fe8P) mailto:sage [2023/10/05(木) 19:38:38.95 ID:k4EJU+WL0.net]
何が黒歴史だ
どっちも国産パソコンに革命起こしたんだよ



780 名前:デフォルトの名無しさん (ワッチョイ cb63-tvb5) mailto:sage [2023/10/05(木) 19:43:14.40 ID:4Dr5MGJz0.net]
TOWNSやX68000の話というのは、
PCやOSの話題にはなってもC言語の話題ではない

781 名前:デフォルトの名無しさん mailto:sage [2023/10/06(金) 19:26:21.98 ID:0FrwfOPH0.net]
>>775
パソコンでありながらゲームしか宣伝してなくて当時発達著しかったゲーム機に負けただけで革命もクソもねえw

782 名前:デフォルトの名無しさん mailto:sage [2023/10/06(金) 19:35:07.48 ID:UFkJ0Gsc0.net]
ゲーム機とPCで切磋琢磨してたんだろ
ゲーム機にだって栄枯盛衰はあぅたよ
そういえばプレステにLinux入れてアプリ作って動かしてた人いたなあ
プレステは高性能すぎて、特定国への輸出が規制を受けてた

783 名前:デフォルトの名無しさん mailto:sage [2023/10/06(金) 19:43:43.15 ID:UFkJ0Gsc0.net]
PlayStation3に採用されたCPUはCell、ソニーとIBM、東芝の共同開発だった。
この辺もWikiを読むと面白い

784 名前:デフォルトの名無しさん (ワッチョイ daad-iLfk) [2023/10/07(土) 05:34:11.31 ID:mvcCmF0H0.net]
あー。沢山繋げてスパコンみたいな。知らんけど。

785 名前:デフォルトの名無しさん mailto:sage [2023/10/07(土) 12:37:19.06 ID:2aizzJpQ0.net]
>>778
PCがグラフィックボードに力を入れだすのはウィンドウズ普及以降になる
ゲーム機にはニンテンドー64のRDRAMとかセガサターンのシンクロナスDRAMとかアーケードやシリコングラフィックCGマシンから取り入れられた新技術が投入されX68000やタウンズのかなう相手ではなかった

786 名前:デフォルトの名無しさん mailto:sage [2023/10/07(土) 12:51:58.85 ID:TufJ0SRx0.net]
X68やTOWNSはMD/SFCとの争い・・・
・・・PS1 ジャンピングフラッシュの元になったゲームはX68で作られたんだっけ?あとワイヤーフレームのスターウォーズも。

787 名前:デフォルトの名無しさん mailto:sage [2023/10/07(土) 13:51:13.10 ID:c4CFtcBt0.net]
(それって昔のPC板やレトロゲー板の範疇だからそろそろやめてくんないかなここはC言語スレ・・・)

788 名前:デフォルトの名無しさん mailto:sage [2023/10/07(土) 14:41:36.91 ID:/93XcW4W0.net]
年寄りは人の話を聞かないからな

789 名前:デフォルトの名無しさん [2023/10/07(土) 15:09:15.52 ID:mvcCmF0H0.net]
68000は素晴らしい。8086のようなセグメントのあるCPUはクソだ。

と当時は思ったものです。



790 名前:デフォルトの名無しさん mailto:sage [2023/10/07(土) 15:34:43.34 ID:BCZCKqNS0.net]
むしろ、そう言う話に持って行きたかった

791 名前:デフォルトの名無しさん [2023/10/07(土) 15:55:47.74 ID:9cx0ijSo0.net]
X68000は素でgccが動いてうらやましかった。
一方86はgo32で無理矢理動かしてた。
Cに戻してみた。

792 名前:デフォルトの名無しさん mailto:sage [2023/10/07(土) 15:58:51.83 ID:BCZCKqNS0.net]
レジスター数は羨ましかったな
あんだけあればレジスターだけでプログラム動かせそう、とか

793 名前:デフォルトの名無しさん [2023/10/07(土) 16:46:51.81 ID:mvcCmF0H0.net]
アセンブラやるとね、バイトの並びが上位桁が先に来るので人間に分かり易くて良い、みたいな話もあった。
68000 だけじゃなく 6809 とか 6800 とかの 8 bit CPU の頃からいわゆる68系はそうだったな。
Sun の Sparc もそうか。

794 名前:デフォルトの名無しさん mailto:sage [2023/10/07(土) 16:55:51.01 ID:tqmAUUbt0.net]
なんでリトルエンディアンになるの?

795 名前:デフォルトの名無しさん [2023/10/07(土) 17:19:33.66 ID:mvcCmF0H0.net]
80系は昔からリトルエンディアンだったな。アドレスの小さい方が桁の小さい方にした方がコンピュータ的には自然だと考えたのかも知れない。

796 名前:デフォルトの名無しさん mailto:sage [2023/10/07(土) 17:30:29.12 ID:2aizzJpQ0.net]
リトルエンディアンは同じアドレスから読み取ると
16ビットデータを8ビットレジスタで読んでもちゃんと下位8ビットが読める
ビッグエンディアンは上位8ビットが読み込まれてしまう
さらに68000は16ビット以上は奇数アドレスから読み込めないという制限があるのでハマることもある

797 名前:デフォルトの名無しさん mailto:sage [2023/10/07(土) 17:36:03.54 ID:qAlp08tM0.net]
リトルエンディアンの場合は、図を描くときに右から左、下から上に番地が増えるようにすると合理的なのよね

ダニーコーエンの、エンディアンの語源になった文書にもそんな図があったと思う。アスキーアートだけど

https://ja.m.wikipedia.org/wiki/ダニー・コーエン_(計算機科学者)

798 名前:デフォルトの名無しさん mailto:sage [2023/10/07(土) 17:36:48.91 ID:OGJgvxVr0.net]
8bitCPUの頃のCPUの加算器は16bit+16bitしかできなかった、32bitの加算は分割してやるしかない
加算を分割してやる時は下の桁からやる
上の桁からやると、下の桁で繰り上がりが発生したら上の桁に戻って繰り上がり処理することになるから
下の桁が前にあるのがリトルエンディアン、こっちの方が自然だと思う
ビッグエンディアンはデータを後ろから前にアクセスしていくことになる、それだけだって言えばそうだけど

799 名前:はちみつ餃子 mailto:sage [2023/10/07(土) 17:43:26.56 ID:pov02R//0.net]
キャストしやすさもあるな。
メモリ上にある int 型のデータを char にキャストするみたいなとき
リトルエンディアンなら単にその場所から 1 バイトを読みだせばいいだけだが、
ビッグエンディアンだとアドレスをずらして読みだすか
読みだしてからマスクするかになる。

まあそのへんは効率的に処理できる命令があったりするんだろうけど
そんなこと最初から考えずに済むならそのほうがいい。



800 名前:デフォルトの名無しさん [2023/10/07(土) 18:12:07.87 ID:mvcCmF0H0.net]
まあでもネットワークバイトオーダーはビッグエンディアンになっちゃってるんだよね。
これはこれで理由があるのかも知れないが、とにかく80系CPUだとひっくり返さねばならなくなった。
結局C言語だとそういったCPUの違いを吸収するために htonl(), ntohl() のようなマクロまたは関数を使うことになると。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<272KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef