22/07/31 17:43:38.22 E3I5T4z5H.net
>>981
C99 の C++ との互換性がまったく取れていない変てこ機能はさっさと削除してほしいものです
いまや私は C のソースを書くのに C++ コンパイラが通るか試してみる体たらく、あれらはいったいなんなんだ?
998:はちみつ餃子
22/07/31 19:20:45.67 9sXTRHUo0.net
今回「削除」になったのはいわゆるK&Rスタイルの関数定義くらいだな。
いずれ削除するということは以前から書かれてたし、
習慣的にも行儀が悪いという考え方が支配的だから
これで問題が起こるなら長い移行期間中に対応できてなかったほうが悪いと言ってよかろ。
999:デフォルトの名無しさん
22/07/31 19:35:38.56 n00x/A2v0.net
削除って事は、古いソースのコンパイルはもはや出来ないと言うことなんでしょうか
いや、なに、クラシックカーに乗ってみたい位の好奇心ですけど
1000:アリ人間
22/07/31 19:46:09.16 sdKo2iJ+d.net
歳をとるということ 〃
シワが増えるということ 〃
なのに
ぼくたち
私たちは 〃
なぜ、最新機種で進化の止まった古臭いコンパイラを使うのでしょうか
でしょうか
1001:はちみつ餃子
22/07/31 20:23:09.10 9sXTRHUo0.net
>>985
削除された機能を使っていればそういうことになるが、
そもそも C で書かれたプログラムなんてどこかしらで環境依存な部分があるもんだし、
よほど配慮されたものでない限り古いコードは素直には動かないのが普通だろう。
まあ C23 が出来たからと言って C89 (に対応したコンパイラ) が直ちに消滅するわけでもないし、
なんだかんだであと二十年くらいたっても C89 派がそれなりにはいそうな気がする。
1002:デフォルトの名無しさん
22/07/31 20:35:31.51 1QnevV7r0.net
K&R CこそCの面白さの塊なんだけどな
GCCが「カバにダンスを踊らせるのはあまり面白くない」なんて言ってた人もいるように
歳月とともに雁字搦めになっていく流れは酷くつまらない
1003:デフォルトの名無しさん
22/07/31 20:47:12.68 TVIRLEiRH.net
>>988
でもね、C のコンパイラは C で記述してほしかったですね
確かにカバの調教は難しいのかもしれませんが
というか、gcc をコンパイルするためだけの c で書かれた c++ コンパイラって需要ありますかね?
1004:デフォルトの名無しさん
22/07/31 20:51:31.04 PC792jYOa.net
>>988
無理すんなよ
1005:蟻人間
22/07/31 20:59:27.98 sdKo2iJ+d.net
そろ次スレ
1006:デフォルトの名無しさん
22/07/31 21:03:23
1007:.63 ID:n00x/A2v0.net
1008:デフォルトの名無しさん
22/07/31 21:17:26.94 UwyiR8NW0.net
>>992
むしろnearポインタの方が面倒だと思うが...
1009:デフォルトの名無しさん (オッペケ Sr05-5tLW)
22/08/01 08:38:31 wVsEVhkpr.net
あり人間とかキチガイ、こっちでも頓珍漢なこと書いてるのか
1010:ハノン
22/08/01 19:47:44.58 kaXTkJ9F0.net
>>992
ラージモデルの far ポインタでしょう?別に far とか書かなくても普通にポインタを書けば far ポインタになったはず
であれば、あとは 64kb の壁を意識してむやみにポインタのインクリメントをせずに上手に部分にわければなんとかなったでしょう
far ポインタでの経験はいろんな場所で活かせる貴重な体験だと思いますよ
私は試食版 LSI-C のスモールモデルで陽に far を指定して far ポインタをバリバリつかっていましたよ
スモールモデルだからコード領域はせまいけれども(near コールしか使えない)、far と書けばデータは 640KB までフルに使えましたし
1011:デフォルトの名無しさん (ワッチョイ 16ae-G1eK)
22/08/01 20:05:11 4CMby4Hu0.net
インテルのクソ設計でみんな迷惑してたってだけの話
K&R Cの楽しさとは全く何の関係もない
68kと86系は異次元の世界だった
1012:デフォルトの名無しさん
22/08/01 20:55:56.73 4h+jHRsn0.net
>>995
テキトー書く前に8086 メモリーモデル とか near far huge とかでググってから出直してこい
1013:ハノン
22/08/02 07:34:13.90 QS3wPWC90.net
>>997
私の認識であってますよ
ラージモデルのデフォルトポインタ(データ・コードとも)は far ですし、スモールモデルはどちらも near
しかしスモールモデルでも far ポインタは far と陽に宣言すれば使えるんですよ…
1014:デフォルトの名無しさん
22/08/02 11:58:06.82 ziGJzmHZd.net
Windows16ビットのCでは16ビットハンドルを架空の構造体へのnearポインタとして実装してたな(#define STRICTした場合)
例えばデバイスコンテキストハンドルをビットマップハンドルに代入しようとするとtype mismatchエラーになってすぐわかる
STRICTでないと単なる本来の16ビット整数として扱われ混同しても通ってしまう
win32ではnearがないので普通の32ビットポインタになってしまいメモリがちょっともったいない
1015:デフォルトの名無しさん
22/08/04 18:41:17.13 +TMVVsOn0.net
>>92push(保存)してpop(書き戻し)してるから結局pushしたときのデータになる
popとpushの間のややこしいとこはシカトな
1016:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 222日 6時間 29分 31秒
1017:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています