前スレ
C++相談室 part160
https://mevius.5ch.net/test/read.cgi/tech/1649979572/
探検
C++相談室 part161
レス数が1000を超えています。これ以上書き込みはできません。
2022/05/21(土) 21:23:29.59ID:kYXfaM+5
981デフォルトの名無しさん
2022/10/26(水) 09:39:06.48ID:8n8wOLOb >>968
やはりrequiresを1行足すしかないか...
template<allow_ref<std::integral> T>
void func(T&&);
とでも書きたかったけど、コンセプトを受け取るテンプレートが書けないっぽいから諦めた
やはりrequiresを1行足すしかないか...
template<allow_ref<std::integral> T>
void func(T&&);
とでも書きたかったけど、コンセプトを受け取るテンプレートが書けないっぽいから諦めた
982デフォルトの名無しさん
2022/10/27(木) 02:01:40.47ID:XIiqnbUh clangのソースで、CPUのマシン語を生成している場所を調べていて、
X86AsmPrinter クラスや X86MCInstLower クラスがそれに強く関与していることが分かって
きました。
X86AsmPrinter クラスや X86MCInstLower クラスは、お互いに参照されてますが、
この2つのクラスは、いずれも「作られている場所」が見つかりません。
「作られている」とは、new X86AsmPrinter や、X86AsmPrinter a;、
new X86MCInstLower や X86MCInstLower b; のようにしている場所です。
どなたか分かりませんか?
X86AsmPrinter クラスや X86MCInstLower クラスがそれに強く関与していることが分かって
きました。
X86AsmPrinter クラスや X86MCInstLower クラスは、お互いに参照されてますが、
この2つのクラスは、いずれも「作られている場所」が見つかりません。
「作られている」とは、new X86AsmPrinter や、X86AsmPrinter a;、
new X86MCInstLower や X86MCInstLower b; のようにしている場所です。
どなたか分かりませんか?
983デフォルトの名無しさん
2022/10/27(木) 02:32:01.95ID:XIiqnbUh >>982
すみません、多分、以下の部分ですね。
これで、new X86AsmPrinterしたアドレスを、getTheX86_32Target()やgetTheX86_64Target()
が返した Target クラスのシングルトンのインスタンス xxx に対して
xxx.AsmPrinterCtorFn = アドレス;
のように記録しているようです。
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeX86AsmPrinter() {
RegisterAsmPrinter<X86AsmPrinter> X(getTheX86_32Target());
RegisterAsmPrinter<X86AsmPrinter> Y(getTheX86_64Target());
}
template <class AsmPrinterImpl> struct RegisterAsmPrinter {
RegisterAsmPrinter(Target &T) {
TargetRegistry::RegisterAsmPrinter(T, &Allocator);
}
private:
static AsmPrinter *Allocator(TargetMachine &TM,
std::unique_ptr<MCStreamer> &&Streamer) {
return new AsmPrinterImpl(TM, std::move(Streamer));
}
};
/// TargetRegistry - Generic interface to target specific features.
struct TargetRegistry {
・・・
static void RegisterAsmPrinter(Target &T, Target::AsmPrinterCtorTy Fn) {
T.AsmPrinterCtorFn = Fn;
}
・・・
};
すみません、多分、以下の部分ですね。
これで、new X86AsmPrinterしたアドレスを、getTheX86_32Target()やgetTheX86_64Target()
が返した Target クラスのシングルトンのインスタンス xxx に対して
xxx.AsmPrinterCtorFn = アドレス;
のように記録しているようです。
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeX86AsmPrinter() {
RegisterAsmPrinter<X86AsmPrinter> X(getTheX86_32Target());
RegisterAsmPrinter<X86AsmPrinter> Y(getTheX86_64Target());
}
template <class AsmPrinterImpl> struct RegisterAsmPrinter {
RegisterAsmPrinter(Target &T) {
TargetRegistry::RegisterAsmPrinter(T, &Allocator);
}
private:
static AsmPrinter *Allocator(TargetMachine &TM,
std::unique_ptr<MCStreamer> &&Streamer) {
return new AsmPrinterImpl(TM, std::move(Streamer));
}
};
/// TargetRegistry - Generic interface to target specific features.
struct TargetRegistry {
・・・
static void RegisterAsmPrinter(Target &T, Target::AsmPrinterCtorTy Fn) {
T.AsmPrinterCtorFn = Fn;
}
・・・
};
984デフォルトの名無しさん
2022/10/27(木) 02:43:40.35ID:InDGsMhW なんかコンセプト以前にテンプレートにもあまり慣れてなさそう
985デフォルトの名無しさん
2022/10/27(木) 02:44:18.56ID:XIiqnbUh 間違えました。
xxx.AsmPrinterCtorFn に登録しているのは、new X86AsmPrinterの
アドレスではなく、
RegisterAsmPrinter<X86AsmPrinter>::Allocator(・・・)
のアドレスのようですね。
そして、このAllocator (==関数)を呼び出すと、new X86AsmPrinter
を行なえるようです。
xxx.AsmPrinterCtorFn に登録しているのは、new X86AsmPrinterの
アドレスではなく、
RegisterAsmPrinter<X86AsmPrinter>::Allocator(・・・)
のアドレスのようですね。
そして、このAllocator (==関数)を呼び出すと、new X86AsmPrinter
を行なえるようです。
986デフォルトの名無しさん
2022/10/27(木) 08:37:49.38ID:yP/aIJbf 関係ないけどあんまりnewせんほうがええよ
それしかないと思ってるならちょっと古い感じ
それしかないと思ってるならちょっと古い感じ
987デフォルトの名無しさん
2022/10/27(木) 22:03:08.74ID:+UGgATct あんまりデータメンバに直アクセスしないほうがええよ
あんまりグローバル変数使わんほうがええよ
あんまりSendMessageを直に使わんほうがええよ
あんまりナマポ使わんほうがええよ
あんまりアセンブラ使わんほうがええよ
あんまりC++使わんほうがええよ
ラップしろってことだろうけど
一切離れたやつはもうC++使いじゃない
あんまりグローバル変数使わんほうがええよ
あんまりSendMessageを直に使わんほうがええよ
あんまりナマポ使わんほうがええよ
あんまりアセンブラ使わんほうがええよ
あんまりC++使わんほうがええよ
ラップしろってことだろうけど
一切離れたやつはもうC++使いじゃない
988デフォルトの名無しさん
2022/10/28(金) 00:40:37.68ID:sQHy7sst989デフォルトの名無しさん
2022/10/28(金) 08:56:31.64ID:+oOKe7Yr 可変長テンプレートはじみて使ったけど便利だなこれ
990デフォルトの名無しさん
2022/10/28(金) 09:06:12.57ID:kPJo8naK threadがあんなに使いやすくなっているのは
ひとえにtemplate-parameter-packのおかげ
ひとえにtemplate-parameter-packのおかげ
991デフォルトの名無しさん
2022/10/29(土) 23:34:49.08ID:Ank2ZEY0 >>950の話は終わりかな?
レスついたけど反論がないようだけど
レスついたけど反論がないようだけど
992デフォルトの名無しさん
2022/10/30(日) 03:51:06.75ID:i1fpLCEI 5ch始めたばかりなのかな?
993デフォルトの名無しさん
2022/10/30(日) 11:42:15.05ID:/mJPvv5N 気になるじゃん
994デフォルトの名無しさん
2022/10/30(日) 15:52:08.41ID:zpZIwFpu 仕事ハネた後のヨレヨレ状態で見てるから
長文()を読もうとすると寝落ちしかねない
長文()を読もうとすると寝落ちしかねない
995デフォルトの名無しさん
2022/10/31(月) 13:27:29.89ID:Q1JWQuIa VC++ や GCC で <cstddef> をインクルードすると、
std の明⽰的修飾、using 宣言、using 指令がなくても
size_t が使えるのですが、これは C++ 標準の仕様ですか?
std の明⽰的修飾、using 宣言、using 指令がなくても
size_t が使えるのですが、これは C++ 標準の仕様ですか?
996はちみつ餃子 ◆8X2XSCHEME
2022/10/31(月) 13:53:23.25ID:HpV/6ZOj >>995
いいえ。 未規定です。
std 名前空間内で定義されることは当然に保証された動作ですが、
グローバルには定義されてもされなくてもかまいません。
逆に言えばグローバルに定義されていることはありうると想定する必要があります。
(なので自分が定義する名前がそれに衝突しないようにするべきです。)
いいえ。 未規定です。
std 名前空間内で定義されることは当然に保証された動作ですが、
グローバルには定義されてもされなくてもかまいません。
逆に言えばグローバルに定義されていることはありうると想定する必要があります。
(なので自分が定義する名前がそれに衝突しないようにするべきです。)
997デフォルトの名無しさん
2022/10/31(月) 13:55:26.92ID:cQbFxG4K size_tを知らんでもsizeofは使える?
998はちみつ餃子 ◆8X2XSCHEME
2022/10/31(月) 14:17:38.34ID:HpV/6ZOj999デフォルトの名無しさん
2022/10/31(月) 14:31:14.54ID:J5sgTSch C++相談室 part162
https://mevius.5ch.net/test/read.cgi/tech/1667194175/
https://mevius.5ch.net/test/read.cgi/tech/1667194175/
1000デフォルトの名無しさん
2022/10/31(月) 14:31:53.89ID:J5sgTSch 立てました
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 162日 17時間 8分 25秒
新しいスレッドを立ててください。
life time: 162日 17時間 8分 25秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 地球から無限km先の場所ってどうなっているの?
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 日本、高市のお陰で破滅に近づくwwwwwwww
- AIアーティストだけど作品公開する
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
