C++相談室 part152
■ このスレッドは過去ログ倉庫に格納されています
上から目線で頓珍漢な結論を開陳してる君の方が幸せそうだがw 話の流れも読めないバカがなんか言ってるなw 惨めにならないんだろうか? 上から目線で頓珍漢な結論を開陳 上から目線で頓珍漢な結論を開陳 上から目線で頓珍漢な結論を開陳 >>716 633とかの黒歴史はなかったことにしたいんだろw C++使ったことない環境の話でドヤるなと牽制されて なあID:cdg8K9Zmよ >>722 ん? 633のどこがおかしいの? 結局、 >> 設定値を変えるだけだろとか簡単に言われても困る。 > スタックへのアクセスってよほどトリッキーなことをしない限りSP相対だぞ > スタック領域変わったからと言ってSPの初期値以外に一体何を書き換えるんだよw の回答もないんだけど、君が答えてくれるのかな?w 当初は技術論をぶつけあってるようで興味深く読ませてもらってた 難しくて理解できないことも多かったけど いまはもうただの罵倒合戦になっちゃったね残念です >>723 説明したとおり、昔の処理系は移動した先のスタックエリアがそこに常にあるとは保証されないからその対応は必要。 今はユーザーモードならOSがスレッドコンテキストを保証してるから頭使わないだけ。 >>725 > 説明したとおり、昔の処理系は移動した先のスタックエリアがそこに常にあるとは保証されないからその対応は必要。 申し訳ないけど全然状況が想像できん、具体例で説明してくれ スレッドセーフだったAPIがスレッドセーフじゃなくなりました!! って言われて、はぁ?と言いながらソースを修正する、みたいな。こんな具体例でいいですか? ワイはそこまで昔のことは知らんし、組み込み系の話もわからんけど、 MS-DOS (16bit) 時代のプログラミングの知識だと データの位置はスタックポインタからの相対というだけではなく セグメントレジスタの内容も加算される。 スタックセグメントレジスタとデータセグメントレジスタが一致するときは 単純なのだが、そうでないときはセグメントの値とセグメント内のオフセットを組にして ポインタとして扱わなければならない。 (いわゆる far pointer のこと。 Windows SDK のヘッダファイルの中に near と far がマクロ定義されているのはたぶんそのなごり。) C のプログラムとして書く分にはメモリモデル (セグメントの扱い) を決め打ちして、 コンパイラはそれに従って整合性を取ってくれるから素直な C プログラムなら問題にならないが、 凝ったメモリ管理をしようとするとそう単純にはいかないことはあったかもしれん。 >>727 ごめん、全然わからん そもそもスレッドとかがある時代の話なの? >>728 あなたも書いてる通りfarポインタでも > コンパイラはそれに従って整合性を取ってくれるから素直な C プログラムなら問題にならない のが普通 よほどトリッキーなことをすれば駄目なケースがあるのかも知れんが俺には思いつかん >>730 スタック領域にメモリーコンパクション? 昔の処理系の割にスレッドとかメモリーコンパクションとかなかなか凝ったシステムやねw メモリーコンパクションて昔の処理系でしょ 今の処理系でやるやつあんの?w 昔といえば昔かな、>>725 はもっと昔の話かと思ってたけど で、メモリーコンパクションがどう関係するって? これだけ説明して何も分からないならそれまででしょう。 OSに感謝してC++富豪プログラミングを謳歌してください。 説明できずに遁走 と言うことでいいかなw まあそうだろうとは思ってたけど もちろんだ。それでキミの自尊心が傷つかないで済むならそれでいい。 >>729 ひとつのプログラムの中では整合性は維持されるけど、 別のタスクとやりとりするときにメモリモデルが違うと near pointer と far pointer を明示的に使い分けないといけないことがある。 わかってればとりたてて難しいことではないのだけど、 言語仕様に沿ってれば後はコンパイラにお任せというわけにはいかない。 知ってる必要はあった。 話題の発端 (よりは少し後?) でスタックポインタとの相対番地は 呼出し側で計算するんだから……という話が出ていたので、 他の要素 (セグメント) が絡むアーキテクチャのことを思い出したなぁという余談。 >>739 理解しているだけでなく、far というキーワードを char far *ptr; のように書いたりしなくてはいけなくて、面倒だった。 far ポインタ、今ここで見なければたぶん一生わすれたままだったのに ちなみにMS-DOS時代は全部のセグメントをひとつにまとめた .COM っていう実行形式あったな いまでも動くのかしらんけど >>741 Windows では今でも com 形式を実行できるよ。 環境変数 PATHEXT の Windows でのデフォルト設定を見ればわかるが、先頭に com が入ってる。 (同じ名前であれば exe より com が優先されるということ。) C:\Windows\System32 の下にはいくつか com 形式の実行ファイルはあるし。 ただ (com 形式に限らず) 昔のプログラムは直接にデバイスを叩いていたりして、 さすがにサポートしきれていない場合もあるから、昔のプログラムが何もかもそのまま 動くというほどではない。 >>739 別に一つのプログラムの中でもnearとfarを混在できる メモリーモデルはディフォルトのnear/farを決めてるだけだから異なるメモリーモデルのプログラムを混在させたなら相互に使用するデータやコードには個々にnear/farの指定をする必要があるのは当たり前 それを含めて言語仕様だし >>740 char near * far f(); とか書き方がややこしいのは認める >>743 たとえばC:\Windows\System32\format.comなんかあるけど dumpbin /headers format.comとやると中身はexeだと出てくるぞ masmに付いてたexe2binで出力した本当のtinyモデルのやつは x86までで、x64のwindowsでは実行できんぞ >>745 えっ、そうなんや!? それは知らんかった。 じゃあ拡張子が com なのはなんかの互換性とかの都合なのかな。 format.comはdosの時代からずっと拡張子.comのままだね int 21h, ah=4bhで指定するファイル名が変わると困るから ちなx64で16bitプログラムが実行できないのはm$の恣意的な制限で ホストx64、ゲストx86のvmアンダーなら.com形式のプログラムも実行できる Windows 95 の command.com ですら exe 形式 ライブラリ含むと64KB制限は結構きつい 確か、int 21hのDOS Function Callは、今のWindowsではサポートされなく なったと聞いた様な。 じじいは昔話しだすと止まらなくなる ボケてないんだったら自覚して自重しろ .comはCPMの名残だけど 全セグメントを一つにまとめたってのは ちょっと違くないか? 別に違うセグメントにアクセスしても問題無く動いてたろ? >>754 今でいうセクションみたいなことを言おうとしたんでしょ。 実行環境の話ではなくあくまでもファイルフォーマット。 >>754 たぶん *.com と *.exe の違いはMS-DOS のイメージローダの都合、というものじゃないでしょうか? *.exe はテキストの前に、セグメントアロケーション情報を持っていて、実行ファイルをロードする歳に、関係するセグメントオフセットを実セグメントに変更します *.com にはそれがなく、生のテキストがメモリ上に配置されるだけ *.com であってもプログラマが自分でオフセット・セグメントを把握したり、スタックポインタ・スタックセグメントを設定しているのだったら、それはそれで問題なく動くでしょう 簡単な実験 echo テ>test.com test.com PC9801の頃に、漢字 2字? のファイルを comで保存して、IPLん走らせるみたいのあったな たしかその 4バイトは 0番地に分岐する命令だったような How many files (0-15) ? NEC N88-BASIC Version 2.1 Copyright (C) 1981 by Microsoft 56548 bytes free Ok _DEBUG で区切っているコードがあり、 releaseモードで実行したのに _DEBUGで切っているコードを実行されてしまいます。 プロジェクトプロパティにて宣言していないのは確認しています。 なにか解決になるヒントだけでもいただけないでしょうか? >>763 大ヒント: それはC++の機能じゃない。Visual Studioのスレで聞け。 あとビルド構成 Releaseモードにしたとき自動で入るのはNDEBUGだろ その昔、ソースコードの中で#undefしてる大タコなやつがいた 間接話法による自己紹介とはなんと慎み深いお方なんだ ここ見てるとC++使いは性格悪いのが多いって感じがする 昔はこのスレももっとまともな人が多かったと思うけど、いつの間にか一部のガラの悪い奴らの下らない罵り合いばかり見せられて人が去っていったのかなと思う。 ここで聞くより調べたほうが大抵早いし なんでこんなところに来るのかわかんない 入り組んだ仕様の組み合わせで起こることならともかく、 簡単に調べられることだと回答も仕様 (またはどっかの解説) をコピペするか URL を貼るだけになるからつまらんのだよなー。 そのワンステップ必要? という気持ちにはなる。 本物の初心者がそれすらできないことがあるのも知ってるから、 あまり無碍にはしないようにしてるけど、 つまらんなーという気持ちは残る。 別に質問しに来てるわけじゃないからな 質問する人がどういう経路で来るのか気になる まじでc++ユーザー煽り合いしか出来ねーな 普通に教えられないのか? そのくせTwitterでは、新人への対応がーとか云々社内のこと愚痴る癖に人の振り見て我が振り直せって感じ コード書かないC++委員会の言語オタクどもが仕様拡張病を患ってるから 仕様を知ってる知らないレベルでマウンティング合戦になるんだよな。 >>776 >C++委員会の言語オタクどもが仕様拡張病 ああ判るわ コード描くか描かないかに関わらず目的が可笑しい 知らなかった情報が拾えるのはいいことだし 質問する者にとって回答してくれる者がいるのもいいことだ 問題はしょーもないクイズで人を小馬鹿にするやつと 無知を正当化しようとする弁舌だけ達者なボーガスだ 質問して答えられなかったら自分の勝ちというのは昔から馬鹿左翼の論法。 国会でカップラーメンの値段聞いたりほんと馬鹿である。答えを知ってるなら説明するだけでいい。 いや気が短い人には、テンプレート絡みのエラーメッセージなんか読めるはずがない 組織で開発してるのにおれおれテンプレートなんか使われたらもはや他人が読めるものではない。 キレて当然。 出たな 無知を正当化しようとする弁舌だけ達者なボーガス >>770 >>771 でも検索するより、知ってる人に聞いたほうが早いことが多い。 それに複雑な事柄を検索しても、回答を見つけるのは難しいことが多い。 問題はしょーもないクイズで人を小馬鹿にするやつと 無知を正当化しようとする弁舌だけ達者なボーガス ↑ ゴミクズ同士、共食いで滅びて欲しい ID:oZeTafce ←こういうのが一人でもいると他人が読めないコードを大量生産してデスマーチになるからちゃんと監視しなきゃならない。みんな無知過ぎ、他人の読めないコード書くおれーすげー、みたいな。 >>776 最近日本人の有名なC++ライターが 「グラフィクスとかオーディオのライブラリ標準化にはゲーム業界も参加しないとやばいよ、という目的もあった」 とかtwitterで言ってたんだが(なんかの講演に関して) この上から目線は最近?昔から? ゲーム業界はC++標準に興味など無いことに、いつになったら気付くのか・・・(特にグラフィックスはC++標準に新機能が採用されるのを、何年も待つはずが無い) >>788 全然、凄くない 当たり前のことをしているだけだ 法には周知義務があるのを忘れるな まあ江添みたいな馬鹿はあと数年も持たず路頭に迷うだろ。 職質拒否して裁判もボロ負けしたC++イキリおじさんだっけ 本当に、職務質問を拒否しただけで逮捕されるのか? 日本は民主国家か? これ、中国と同じだろw いかにも怪しいやつを人権・自由を盾に野放しにする社会とどっちがいい? 自分がその「いかにも怪しいやつ」に仕立て上げられてと構えられることの想像力が働かないんですね 別にIOCCCみたいにわざと意地悪してるんじゃなく 整合性を大事に書くときに有り難い機能が追加されたら使うってだけ 新しい機能を使うなってやつは何を基準に言ってるんだ? たとえばcfront 1.0が基準ならテンプレートどころかprotectedすらないんだが 堀江貴文と一緒でルールハックドヤかましたかっただけだろうがマジで連行されたっていう頭の悪いオチだろ。 他国の有罪率は、50%。 日本だけが、100% だから、半分は冤罪。 ほとんど証拠がないけど、有罪になってる 酒酔い運転の検問でも、息を吹きかけて、検査機のランプが点かないと、 警官がちょっと待ってと言って、くるっと後ろを向くと、ランプが点く 何のことはない。 警官が酒を飲んでいて、息を吹きかけているw 警官の犯罪率は、異常に高いと思う >>804 rubyガイジは真正の馬鹿だな。 脳みそ足りなすぎて日常生活に支障が出てるんじゃないか? 日本の起訴率は51.5% よって有罪率は0.515 * 0.998 = 約51% 技術書なんてなんぼ売れてもカスみたいな収入にしかならんよ。 技術書は高めなので1冊の執筆料1000円入ってきたとして、1000部売れても100万円かぁ。 小遣い稼ぎならともかく、事業として考えたらペイはしないわな。 印税なんて5%〜10%程度よ? しかも最初の1000部は印税なしとか大学生だったときに教授から聞いた 具体的な部分は契約によるらしいが、 表紙デザインを除いては Github に公開してしもうとるし、 それで儲ける気はないんやろ。 でもまあ C++ 界でそこそこ知名度のある本にはなったし、 実績として十分だわな。 本と言えば思い切ってプログラミング言語C++を買ってしまいました これで僕もハッカーになれますか? ユーチューバーは、100万視聴で1000万近くになるらしいですよ。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる