おそらく、.NET開発でデファクトスタンダードに最も近いであろう
C++/CLIについて語ろうぜ!
このスレはC++および.NET Frameworkについて一定以上の知識を持っている人が対象となります。
.NETのクラスライブラリの使い方といった質問は Visual Studioスレにお願いします。
前スレッドはこちら
くだすれC++/CLI(初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1142144110/l1
dat落ち姉妹スレ
C++/CLI part3
http://pc12.2ch.net/test/read.cgi/tech/1206447234/l1
http://pc11.2ch.net/test/read.cgi/tech/1142147319/l1
http://pc8.2ch.net/test/read.cgi/tech/1126450441/l1
managed C++ やろうぜ!! 002
http://pc8.2ch.net/test/read.cgi/tech/1139043535/l1
くだすれC++/CLI(初心者用)part2
レス数が1000を超えています。これ以上書き込みはできません。
2010/03/15(月) 09:41:19
918912
2015/05/29(金) 21:54:54.52ID:ky+HtZPS 912です。>>917さんの意見も含め、別の観点からもみてみたところ
・・・非常にお恥ずかしいオチになったのですが、解決しました。
問題はコードではなく、BindParameter時のCHAR検索する箇所(SQL_CHAR)が
DB側でいつの間にかvarcharになっていたのが原因でした。合わせてやると簡単に使えるように…
みなさん、お騒がせして申し訳ありません。
・・・非常にお恥ずかしいオチになったのですが、解決しました。
問題はコードではなく、BindParameter時のCHAR検索する箇所(SQL_CHAR)が
DB側でいつの間にかvarcharになっていたのが原因でした。合わせてやると簡単に使えるように…
みなさん、お騒がせして申し訳ありません。
919912
2015/05/29(金) 22:03:04.73ID:ky+HtZPS >>918
×CHAR検索する箇所(SQL_CHAR)がDB側でいつの間にかvarcharになっていた
○CHAR検索(SQL_CHAR)としていたのに、対象のDB側の項目の型がvarcharになっていた
×CHAR検索する箇所(SQL_CHAR)がDB側でいつの間にかvarcharになっていた
○CHAR検索(SQL_CHAR)としていたのに、対象のDB側の項目の型がvarcharになっていた
920デフォルトの名無しさん
2015/09/15(火) 21:43:10.94ID:sv5Bl9TI 質問です。
上手いことsscanfを.NETで実装する方法ってありますか?
ポインタが上手く渡せず困っています。
なお、正式に習ったわけではなく、見よう見まねでやっているため、
単純なところで勘違いがあるかもしれませんが、その時も指摘して頂けたら助かります。
上手いことsscanfを.NETで実装する方法ってありますか?
ポインタが上手く渡せず困っています。
なお、正式に習ったわけではなく、見よう見まねでやっているため、
単純なところで勘違いがあるかもしれませんが、その時も指摘して頂けたら助かります。
921デフォルトの名無しさん
2015/09/15(火) 21:43:39.42ID:sv5Bl9TI 【これまでの経緯】
プログラムが間延びしてきたため、
これまで個別にちまちま書いていたファイル読み出し部分をsscanfで纏めて整理しようとしています。
ググッたところ、.NETにはsscanfそのものはなく、どうやら皆さん苦労しているようでした。
http://stackoverflow.com/questions/4223917/c-sharp-equivalent-of-c-sscanf
http://stackoverflow.com/questions/492262/is-there-an-equivalent-to-sscanf-in-net
http://www.blackbeltcoder.com/Articles/strings/a-sscanf-replacement-for-net
ただ自分の場合はcsvの読み出しで順番と対象だけ指定できればいいので、
以下のように組んでみました。(ただしまだ動かしていないので動かないかもしれません)
private: int sscanf_csv(String^ str, String^ format, array<void**>^ pointers){
array<String^>^ strs = str->Split(',');
array<String^>^ fmts = format->Split(',');
int i=0;
while (i<strs->Length && i<fmts->Length) {
if (fmts[i]=="int") {
if (!Int32::TryParse(strs[i],(int%)pointers[i])) break;
} else if (fmts[i]=="double") {
if (!Double::TryParse(strs[i],(double%)pointers[i])) break;
} else if (fmts[i]=="float") {
if (!Single::TryParse(strs[i],(float%)pointers[i])) break;
} else if (fmts[i]=="string") {
*(interior_ptr<String^>)pointers[i] = strs[i];
}
i++;
}
return i;
}
Stringのところは怪しいですが、intとdoubleとfloatはネイティブなら問題ないと思っています。
プログラムが間延びしてきたため、
これまで個別にちまちま書いていたファイル読み出し部分をsscanfで纏めて整理しようとしています。
ググッたところ、.NETにはsscanfそのものはなく、どうやら皆さん苦労しているようでした。
http://stackoverflow.com/questions/4223917/c-sharp-equivalent-of-c-sscanf
http://stackoverflow.com/questions/492262/is-there-an-equivalent-to-sscanf-in-net
http://www.blackbeltcoder.com/Articles/strings/a-sscanf-replacement-for-net
ただ自分の場合はcsvの読み出しで順番と対象だけ指定できればいいので、
以下のように組んでみました。(ただしまだ動かしていないので動かないかもしれません)
private: int sscanf_csv(String^ str, String^ format, array<void**>^ pointers){
array<String^>^ strs = str->Split(',');
array<String^>^ fmts = format->Split(',');
int i=0;
while (i<strs->Length && i<fmts->Length) {
if (fmts[i]=="int") {
if (!Int32::TryParse(strs[i],(int%)pointers[i])) break;
} else if (fmts[i]=="double") {
if (!Double::TryParse(strs[i],(double%)pointers[i])) break;
} else if (fmts[i]=="float") {
if (!Single::TryParse(strs[i],(float%)pointers[i])) break;
} else if (fmts[i]=="string") {
*(interior_ptr<String^>)pointers[i] = strs[i];
}
i++;
}
return i;
}
Stringのところは怪しいですが、intとdoubleとfloatはネイティブなら問題ないと思っています。
922デフォルトの名無しさん
2015/09/15(火) 21:44:06.10ID:sv5Bl9TI 【問題点】
・マネージドのクラスではメンバにネイティブ配列が使えないため、
書き込み対象にどうしてもマネージド配列の要素を指定することが必要となりますが、
interior_ptrをvoid**にキャストできません。
仕様上、interior_ptr → pin_ptr → int → void** にはキャストできる(っぽい)のですが、
・interior_ptrは配列に出来ない(array<interior_ptr<int>> も interior_ptr<int> hoge[] もエラー)
・pin_ptrも同様に配列に出来ない。さらにローカル変数として宣言しないと駄目っぽい。
ため、これらを回避するためにはベタにコードする必要があり、余計に見にくくなります。
・そもそも void** にしているのは可変長引数がいまいちだったからなのですが、
上記のように interior_ptr が配列に取れないから多分可変長も無理です。
・自分の場合は1行につきせいぜい10個程度の代入なので最悪べた書きでラップしてもいいのですが、
interior_ptr<Type>は型指定があり、型の順番は変更したいのでこれも厳しいです。
【出来ればいいなと思っている記述】
array<int> ary_int = gcnew array<int>(10);
array<double> ary_double = gcnew array<double>(10);
sscanf_csv(line0, "int,double", gcnew array<void**>(2){&ary_int[0], &ary_double[0]});
sscanf_csv(line1, "double,int", gcnew array<void**>(2){&ary_double[1], &ary_int[1]});
という感じです。良い案があればお願い致します。
・マネージドのクラスではメンバにネイティブ配列が使えないため、
書き込み対象にどうしてもマネージド配列の要素を指定することが必要となりますが、
interior_ptrをvoid**にキャストできません。
仕様上、interior_ptr → pin_ptr → int → void** にはキャストできる(っぽい)のですが、
・interior_ptrは配列に出来ない(array<interior_ptr<int>> も interior_ptr<int> hoge[] もエラー)
・pin_ptrも同様に配列に出来ない。さらにローカル変数として宣言しないと駄目っぽい。
ため、これらを回避するためにはベタにコードする必要があり、余計に見にくくなります。
・そもそも void** にしているのは可変長引数がいまいちだったからなのですが、
上記のように interior_ptr が配列に取れないから多分可変長も無理です。
・自分の場合は1行につきせいぜい10個程度の代入なので最悪べた書きでラップしてもいいのですが、
interior_ptr<Type>は型指定があり、型の順番は変更したいのでこれも厳しいです。
【出来ればいいなと思っている記述】
array<int> ary_int = gcnew array<int>(10);
array<double> ary_double = gcnew array<double>(10);
sscanf_csv(line0, "int,double", gcnew array<void**>(2){&ary_int[0], &ary_double[0]});
sscanf_csv(line1, "double,int", gcnew array<void**>(2){&ary_double[1], &ary_int[1]});
という感じです。良い案があればお願い致します。
923デフォルトの名無しさん
2015/09/16(水) 11:35:11.25ID:L4xvtXb4 >922
ttps://gist.github.com/anonymous/db1149cb0a1afbd1f6d8
書いてて思ったけど、変に凝るよりも↓みたいな奴の方が読む人にやさしい…
auto x = gcnew CSV(line1);
ary_int[0] = x->read_int(0);
ary_double[0] = x->read_double(1);
ttps://gist.github.com/anonymous/db1149cb0a1afbd1f6d8
書いてて思ったけど、変に凝るよりも↓みたいな奴の方が読む人にやさしい…
auto x = gcnew CSV(line1);
ary_int[0] = x->read_int(0);
ary_double[0] = x->read_double(1);
924デフォルトの名無しさん
2015/09/16(水) 21:00:32.05ID:sRYuFuHf >>923
おお、ありがとうございます。
template<typename ... Ts>でTsはバラバラでもいけるんですね。知りませんでした。
あと、再帰で一つずつ剥がすのも思いついていませんでした。ググルと定番のようですがorz
> 書いてて思ったけど、変に凝るよりも↓みたいな奴の方が読む人にやさしい…
ちなみにその記述は今の状態です。
ただ、これだと抽象度が低いため記述量が増え、ちょっと保守性に問題を生じ始めています。
結局のところ、同じフォーマットの行を大量に処理して配列に突っ込むだけなので、
最終的には「ファイル名」「フォーマット」「対象配列」でよく、最上位からは(型情報ありなら)
parse_csv(filename, &ary0, &ary1, ...);
の1行にしたいのです。その下のファイル→行のところでコメント等をはがし、
delegateでparse_lineを呼ぶ算段でしたが、ポインタが渡せずに困っていました。
大変助かりました。ありがとうございました。
と思ったのですが、parameter pack はC++11の機能で、VS2013以降からのようです、、、
VS2015でそちらのコードが動作するのを確認しました。
自分が使っているのはVC++2008なので、この機会に移行を考えますorz
当面はせいぜい10個なのでunpackしたものを自分で書きますが、、、
おお、ありがとうございます。
template<typename ... Ts>でTsはバラバラでもいけるんですね。知りませんでした。
あと、再帰で一つずつ剥がすのも思いついていませんでした。ググルと定番のようですがorz
> 書いてて思ったけど、変に凝るよりも↓みたいな奴の方が読む人にやさしい…
ちなみにその記述は今の状態です。
ただ、これだと抽象度が低いため記述量が増え、ちょっと保守性に問題を生じ始めています。
結局のところ、同じフォーマットの行を大量に処理して配列に突っ込むだけなので、
最終的には「ファイル名」「フォーマット」「対象配列」でよく、最上位からは(型情報ありなら)
parse_csv(filename, &ary0, &ary1, ...);
の1行にしたいのです。その下のファイル→行のところでコメント等をはがし、
delegateでparse_lineを呼ぶ算段でしたが、ポインタが渡せずに困っていました。
大変助かりました。ありがとうございました。
と思ったのですが、parameter pack はC++11の機能で、VS2013以降からのようです、、、
VS2015でそちらのコードが動作するのを確認しました。
自分が使っているのはVC++2008なので、この機会に移行を考えますorz
当面はせいぜい10個なのでunpackしたものを自分で書きますが、、、
925デフォルトの名無しさん
2015/09/16(水) 21:06:19.21ID:sRYuFuHf すいません、やや話が前後しているので念のため一部訂正します。
元々 delegate から parse_line を呼ぶつもりでしたが、
最終的には可能なら parse_csv に纏めようとしています。
ただ parameter pack が使えないとやっぱキツいですね、、、
元々 delegate から parse_line を呼ぶつもりでしたが、
最終的には可能なら parse_csv に纏めようとしています。
ただ parameter pack が使えないとやっぱキツいですね、、、
926デフォルトの名無しさん
2015/09/16(水) 22:14:50.26ID:L4xvtXb4 行によってフォーマットが違わない(ファイルによっては違うのかな)のなら、
行をパースした結果の型を定義しちゃったほうが保守性は上がると思うけど、縦方向の配列が必要なんだろうなぁ。
行をパースした結果の型を定義しちゃったほうが保守性は上がると思うけど、縦方向の配列が必要なんだろうなぁ。
927デフォルトの名無しさん
2015/09/16(水) 22:41:51.71ID:sRYuFuHf >>926
はい、ファイルによってフォーマットは違い、行では変わりません。
演算ソースを読み込むのに使うので、速度は遅くても構いません。
ただ一部、各行の先頭数値によって行のフォーマットを変えている部分があるため、
元々はメンバ関数内で parse_file を呼び、フォーマット毎の parse_line を delegate で渡すつもりでした。
ただこれはソースファイルが増えるのが面倒なので一部にパッチを当てたからであり、
きちんと修正すれば parse_file に一本化できるので、この方向で検討中です。
実は縦方向の配列は不要で、各行での構造体化も検討中です。
はい、ファイルによってフォーマットは違い、行では変わりません。
演算ソースを読み込むのに使うので、速度は遅くても構いません。
ただ一部、各行の先頭数値によって行のフォーマットを変えている部分があるため、
元々はメンバ関数内で parse_file を呼び、フォーマット毎の parse_line を delegate で渡すつもりでした。
ただこれはソースファイルが増えるのが面倒なので一部にパッチを当てたからであり、
きちんと修正すれば parse_file に一本化できるので、この方向で検討中です。
実は縦方向の配列は不要で、各行での構造体化も検討中です。
928デフォルトの名無しさん
2015/09/16(水) 22:55:17.14ID:sRYuFuHf すいません、また細かいところで間違えました。一応念のため訂正しておきます。
× 元々はメンバ関数内で parse_file を呼び、フォーマット毎の parse_line を delegate で渡すつもりでした。
○ 元々は上位で parse_file を呼び、対象オブジェクトのメンバ関数を delegate で渡し、
メンバ関数内で先頭数値を見てフォーマットを区別し、そこから parse_line を呼ぶつもりでした。(現時点で動作中)
今は上位で メンバ関数 Hoge.init(filename) を呼び、init内で全部済ませる方向です。
これまで全くオブジェクト指向をしておらず、それでも大して問題なかったのですが、
いい加減無理になってきたので、今更ながら粗結合化をやろうかというところです。
× 元々はメンバ関数内で parse_file を呼び、フォーマット毎の parse_line を delegate で渡すつもりでした。
○ 元々は上位で parse_file を呼び、対象オブジェクトのメンバ関数を delegate で渡し、
メンバ関数内で先頭数値を見てフォーマットを区別し、そこから parse_line を呼ぶつもりでした。(現時点で動作中)
今は上位で メンバ関数 Hoge.init(filename) を呼び、init内で全部済ませる方向です。
これまで全くオブジェクト指向をしておらず、それでも大して問題なかったのですが、
いい加減無理になってきたので、今更ながら粗結合化をやろうかというところです。
929デフォルトの名無しさん
2016/02/15(月) 00:11:59.92ID:BuMWAFI4 「System.Collections.Generic.List<T>型」を「LPARAM型」に変換する方法、
またその逆の変換をする方法、を教えて下さい。
List<T>型をLPARAM型に変換する必要があり、
その後で、List<T>型をLPARAM型から再取得する必要があるのです。
またその逆の変換をする方法、を教えて下さい。
List<T>型をLPARAM型に変換する必要があり、
その後で、List<T>型をLPARAM型から再取得する必要があるのです。
930デフォルトの名無しさん
2016/02/15(月) 01:15:53.23ID:Rn1JhND3 「その後で」がスコープを抜けた後を意味するなら、そのような方法はありません。
931デフォルトの名無しさん
2016/02/15(月) 07:40:32.53ID:7IG9/wk9 marshal_as を実装すればいいと思うよ。
LPARAM って実体は void** じゃなかったっけ
LPARAM って実体は void** じゃなかったっけ
932デフォルトの名無しさん
2016/02/16(火) 07:41:35.26ID:uJkK1HCP >>931
言語はC++ cli です。
msclr::interop::marshal_context mct;
LPARAM lParam = mct.marshal_as<LPARAM>(this->child_window_list);
↑で実装すると↓のコンパイルエラーとなります。
error C4996: 'msclr::interop::error_reporting_helper
<_To_Type,_From_Type>::marshal_as':
This conversion is not supported by the library or the header file needed for this conversion is not included. Please refer to the documentation on 'How to: Extend the Marshaling Library' for adding your own marshaling method.
またList<T>型をLPARAM型に再変換する方法が分かりません。
言語はC++ cli です。
msclr::interop::marshal_context mct;
LPARAM lParam = mct.marshal_as<LPARAM>(this->child_window_list);
↑で実装すると↓のコンパイルエラーとなります。
error C4996: 'msclr::interop::error_reporting_helper
<_To_Type,_From_Type>::marshal_as':
This conversion is not supported by the library or the header file needed for this conversion is not included. Please refer to the documentation on 'How to: Extend the Marshaling Library' for adding your own marshaling method.
またList<T>型をLPARAM型に再変換する方法が分かりません。
933デフォルトの名無しさん
2016/02/16(火) 09:54:31.98ID:jv0CDqht 経緯を見ずに
子ウィンドウリストの扱いとして妥当とは思えないが
子ウィンドウリストの扱いとして妥当とは思えないが
934デフォルトの名無しさん
2016/02/16(火) 15:12:48.61ID:l0bB/6+q LPARAMの使い道がEnumWindowsの第二引数とかだったらやりようがあるけど、そういうコードではない?
935デフォルトの名無しさん
2016/02/17(水) 07:42:51.53ID:6vFi9dMa 解決しました。
c++の世界で一時変数を設けて、ポインタを渡し、reinterpret_castで復元する、という方法です。
c++の世界で一時変数を設けて、ポインタを渡し、reinterpret_castで復元する、という方法です。
936デフォルトの名無しさん
2016/02/18(木) 02:54:21.18ID:/SXXA+KN (たぶん解決してないなー、と皆が思ってる)
937デフォルトの名無しさん
2016/02/20(土) 19:06:01.50ID:HOPxSzsv 質問です。
+= で追加したフォームのイベント順を入れ替えたいのですが、やり方はありますか?
条件
1. デザイナは使いたい(既に大量に使っている)
2. 格好悪い書き方で全く問題ないが、全体的に書き直すのはNG
状況
numericUpDown->Changed 等に対してデザイナ上から再描画関数を割り当てています。(A)
(波形を表示する時のボリュームのような使い方です)
デザイナではフォームはデフォでは static でないため、
内部の別クラスからは numericUpDown->Value 等にはアクセスできません。
(自分でstaticと書いてコンパイルを通すことは出来ますが、デザイナで変更するたびに戻されます)
そこでイベントに別関数も割り当て、そこで内部 static struct に Value 等を書かせ、(B)
別クラスからはこの static struct を参照しています。
このとき、AとBの経路が完全に分離しているうちはよかったのですが、
統合していくうちにA内部から別クラスを呼ぶことが発生し、 static struct が未更新なのでバグっています。
イベントは追加順に呼ばれるようです。
デザイナで指定したイベント関数はフォーム生成時に指定される為、必ず A->B の順で呼ばれることになります。
これを B->A の順に入れ替えたいのですが、方法はありますか?
+= で追加したフォームのイベント順を入れ替えたいのですが、やり方はありますか?
条件
1. デザイナは使いたい(既に大量に使っている)
2. 格好悪い書き方で全く問題ないが、全体的に書き直すのはNG
状況
numericUpDown->Changed 等に対してデザイナ上から再描画関数を割り当てています。(A)
(波形を表示する時のボリュームのような使い方です)
デザイナではフォームはデフォでは static でないため、
内部の別クラスからは numericUpDown->Value 等にはアクセスできません。
(自分でstaticと書いてコンパイルを通すことは出来ますが、デザイナで変更するたびに戻されます)
そこでイベントに別関数も割り当て、そこで内部 static struct に Value 等を書かせ、(B)
別クラスからはこの static struct を参照しています。
このとき、AとBの経路が完全に分離しているうちはよかったのですが、
統合していくうちにA内部から別クラスを呼ぶことが発生し、 static struct が未更新なのでバグっています。
イベントは追加順に呼ばれるようです。
デザイナで指定したイベント関数はフォーム生成時に指定される為、必ず A->B の順で呼ばれることになります。
これを B->A の順に入れ替えたいのですが、方法はありますか?
938デフォルトの名無しさん
2016/02/20(土) 19:06:30.87ID:HOPxSzsv プログラムイメージ
Form^ someForm; // デザイナで作成したため、static ではない
someForm->Changed += 再描画関数; // (A)
someForm->Changed += struct更新関数; // (B)
static ref struct FormData {
Decimal someForm_value;
} formData;
function struct更新関数(){ // (B)
formDataを更新
}
function 再描画関数(){ // (A)
formDataを使う別クラスを使用 // formDataは未更新なのでバグる
}
やってみたこと
numericUpDown->Changed = Delegate::Combine(struct更新関数, 再描画関数); // 上書き再設定しようとしたが = は使えない
どうやら +=(add) と -=(remove) しかないので、(中身を参照できない)
一つずつ array<Delegate^> に吸い出して += で希望順にちまちま再設定も出来そうにありません。
全部の(A)の頭に(B)を追加してイベント経路を一本化すればいいのは分かりますが、
これは大量に書き換えが必要となります。
今現在(B)は後付で全てのフォームを列挙して追加しています。
この部分だけの変更に留められるのならそうしたいのです。
リフレクションも試しましたが、以下でeventInfoは取れますがその先に進めません。
System::Reflection::EventInfo^ eventInfo = (NumericUpDown::typeid)->GetEvent("ValueChanged");
以上、よろしくお願い致します。
Form^ someForm; // デザイナで作成したため、static ではない
someForm->Changed += 再描画関数; // (A)
someForm->Changed += struct更新関数; // (B)
static ref struct FormData {
Decimal someForm_value;
} formData;
function struct更新関数(){ // (B)
formDataを更新
}
function 再描画関数(){ // (A)
formDataを使う別クラスを使用 // formDataは未更新なのでバグる
}
やってみたこと
numericUpDown->Changed = Delegate::Combine(struct更新関数, 再描画関数); // 上書き再設定しようとしたが = は使えない
どうやら +=(add) と -=(remove) しかないので、(中身を参照できない)
一つずつ array<Delegate^> に吸い出して += で希望順にちまちま再設定も出来そうにありません。
全部の(A)の頭に(B)を追加してイベント経路を一本化すればいいのは分かりますが、
これは大量に書き換えが必要となります。
今現在(B)は後付で全てのフォームを列挙して追加しています。
この部分だけの変更に留められるのならそうしたいのです。
リフレクションも試しましたが、以下でeventInfoは取れますがその先に進めません。
System::Reflection::EventInfo^ eventInfo = (NumericUpDown::typeid)->GetEvent("ValueChanged");
以上、よろしくお願い致します。
939デフォルトの名無しさん
2016/02/21(日) 05:32:00.14ID:SNLM1Bng > デザイナではフォームはデフォでは static でないため、
> 内部の別クラスからは numericUpDown->Value 等にはアクセスできません。
ここで結果と原因の理解が食い違ってるので設計が悪くなってるのでは。
FormDataはstaticにせずForm1のメンバにして、その中身が変化したときのイベント
(ここに再描画関数を += して、EventArgsでパラメータを渡す)を足すのが良いのでは。
> 内部の別クラスからは numericUpDown->Value 等にはアクセスできません。
ここで結果と原因の理解が食い違ってるので設計が悪くなってるのでは。
FormDataはstaticにせずForm1のメンバにして、その中身が変化したときのイベント
(ここに再描画関数を += して、EventArgsでパラメータを渡す)を足すのが良いのでは。
940デフォルトの名無しさん
2016/02/21(日) 12:45:43.68ID:Ur7lNYiz >>939
回答ありがとうございます。
それでも解決しますが、それは全面改訂になります。
既に(B)を全ての(A)の頭に入れるという解決策はあり、それの方がデグレードの危険が少ないです。
ただ、リフレクション等で(B)と(A)の順を入れ替えられると、数行の変更で済み、デグレードは発生しません。
だからそれを探しています。
Form1と別クラスCを追加して再度説明します。
全てはForm1の内部クラスです。継承はしていません。
回答ありがとうございます。
それでも解決しますが、それは全面改訂になります。
既に(B)を全ての(A)の頭に入れるという解決策はあり、それの方がデグレードの危険が少ないです。
ただ、リフレクション等で(B)と(A)の順を入れ替えられると、数行の変更で済み、デグレードは発生しません。
だからそれを探しています。
Form1と別クラスCを追加して再度説明します。
全てはForm1の内部クラスです。継承はしていません。
941デフォルトの名無しさん
2016/02/21(日) 12:46:15.32ID:Ur7lNYiz 【今】
ref class Form1{
Form^ someForm; // デザイナで作成したため、static ではない
someForm->Changed += 再描画関数; // (A)
someForm->Changed += struct更新関数; // (B)
static ref struct FormData {
Decimal someForm_value;
} formData;
function struct更新関数(){ // (B)
formDataを更新
}
function 再描画関数(){ // (A)
// struct更新関数() // (B)を += せずにここに入れれば解決する、ただし変更箇所多数
formDataを使う別クラスCを使用 // formDataは未更新なのでバグる
}
ref class 他のクラスC {
描画用データ作成 // ここで someForm->Value を使いたいが直接には出来ないので仕方なく static formData を確認
}
};
問題点:
クラスCから someForm->Value が取れないので static struct FormData で誤魔化す。
ただしこれだとイベント順が「描画(A)」→「データ更新(B)」となり、描画内容が1イベント分ずれる。
このため、(B)と(A)の処理順を入れ替えたいが、方法が見あたらない。
ref class Form1{
Form^ someForm; // デザイナで作成したため、static ではない
someForm->Changed += 再描画関数; // (A)
someForm->Changed += struct更新関数; // (B)
static ref struct FormData {
Decimal someForm_value;
} formData;
function struct更新関数(){ // (B)
formDataを更新
}
function 再描画関数(){ // (A)
// struct更新関数() // (B)を += せずにここに入れれば解決する、ただし変更箇所多数
formDataを使う別クラスCを使用 // formDataは未更新なのでバグる
}
ref class 他のクラスC {
描画用データ作成 // ここで someForm->Value を使いたいが直接には出来ないので仕方なく static formData を確認
}
};
問題点:
クラスCから someForm->Value が取れないので static struct FormData で誤魔化す。
ただしこれだとイベント順が「描画(A)」→「データ更新(B)」となり、描画内容が1イベント分ずれる。
このため、(B)と(A)の処理順を入れ替えたいが、方法が見あたらない。
942デフォルトの名無しさん
2016/02/21(日) 12:46:44.50ID:Ur7lNYiz 【>>939の提案】
ref class Form1{
Form^ someForm; // デザイナで作成したため、static ではない
someForm->Changed += struct更新関数; // (B)
ref struct FormData { // static ではない
Decimal someForm_value;
} formData;
formData->someForm_value->Changed += 再描画関数; // (A) // 自作クラスFormDataにChangedイベント追加
function struct更新関数(){ // (B)
formDataを更新
}
function 再描画関数(){ // (A)
formDataを使う別クラスCを使用 // formDataは常に更新済み、formDataを呼び出し時に渡す
}
ref class 他のクラスC {
描画用データ作成 // formData を参照
}
};
問題点:
イベント処理順は「データ更新」→「描画」と正しく固定される。
ただし全面改訂になる。
ref class Form1{
Form^ someForm; // デザイナで作成したため、static ではない
someForm->Changed += struct更新関数; // (B)
ref struct FormData { // static ではない
Decimal someForm_value;
} formData;
formData->someForm_value->Changed += 再描画関数; // (A) // 自作クラスFormDataにChangedイベント追加
function struct更新関数(){ // (B)
formDataを更新
}
function 再描画関数(){ // (A)
formDataを使う別クラスCを使用 // formDataは常に更新済み、formDataを呼び出し時に渡す
}
ref class 他のクラスC {
描画用データ作成 // formData を参照
}
};
問題点:
イベント処理順は「データ更新」→「描画」と正しく固定される。
ただし全面改訂になる。
943デフォルトの名無しさん
2016/02/21(日) 12:47:27.88ID:Ur7lNYiz > ここで結果と原因の理解が食い違ってるので設計が悪くなってるのでは。
結果: 描画に使われるデータが1イベント分ずれる
原因: イベント順が「描画」→「データ更新」だから
何か間違いはありますか?
データ構造としては本来は class Form1 : FormData となるべきため、
static で使うことも問題ないと思います。
既に記述されて動いているプログラムがあり、それを変更しようとしています。
データ更新→描画にプログラム上で固定するのはスクラッチからなら当然ですが、その場合にも結局
「どのデータが更新されたか→どの部分を再描画する必要があるか」を記述する必要があります。
この部分は今既にデザイナ上にあり、動いているので、それをそのまま利用する方法を探しています。
結果: 描画に使われるデータが1イベント分ずれる
原因: イベント順が「描画」→「データ更新」だから
何か間違いはありますか?
データ構造としては本来は class Form1 : FormData となるべきため、
static で使うことも問題ないと思います。
既に記述されて動いているプログラムがあり、それを変更しようとしています。
データ更新→描画にプログラム上で固定するのはスクラッチからなら当然ですが、その場合にも結局
「どのデータが更新されたか→どの部分を再描画する必要があるか」を記述する必要があります。
この部分は今既にデザイナ上にあり、動いているので、それをそのまま利用する方法を探しています。
944デフォルトの名無しさん
2016/02/21(日) 20:54:36.76ID:SNLM1Bng 結果:アクセスできない
×原因:staticじゃないから
○原因:設計が悪いから
http://www.c-sharpcorner.com/uploadfile/b81385/how-to-change-order-of-event-handlers-execution-at-run-time/
リファクタ無理だというならここにあるC#のコードをC++/CLIに移植すればよいのでは。
×原因:staticじゃないから
○原因:設計が悪いから
http://www.c-sharpcorner.com/uploadfile/b81385/how-to-change-order-of-event-handlers-execution-at-run-time/
リファクタ無理だというならここにあるC#のコードをC++/CLIに移植すればよいのでは。
945デフォルトの名無しさん
2016/02/22(月) 00:23:23.86ID:GxEKSJ9o リンク先のコードでイベント順を入れ替えることが出来ました。
ありがとうございました。
プログラム構造については色々意見はあるとは思いますが、
最初から固まっている仕様に対して一度作って終わりなら誰も苦労しませんよ。
複数有る解決策のうち、今現在見える範囲での最適解をその都度選んでいくしかありません。
A. イベント順を入れ替えても
B. 各イベントハンドラの頭にデータ更新を挿入しても
C. 他クラスに対していちいちForm1オブジェクトを渡してstaticではなくしても
制御フローは同じです。(切り出し面が異なるだけ)
今後FormDataクラスや「他のクラスC」はForm1外でも使う可能性があるのと、
デグレードに対するデバッグの困難さを考えて、今回はAを選んでいるだけです。
まあいずれにしても、解決しました。
ありがとうございました。
なおリンク先、最後に小言が書いてありますが、完全に同意ですよ。
本来はイベントテーブルを参照できるメソッドが有ればいいだけです。
ありがとうございました。
プログラム構造については色々意見はあるとは思いますが、
最初から固まっている仕様に対して一度作って終わりなら誰も苦労しませんよ。
複数有る解決策のうち、今現在見える範囲での最適解をその都度選んでいくしかありません。
A. イベント順を入れ替えても
B. 各イベントハンドラの頭にデータ更新を挿入しても
C. 他クラスに対していちいちForm1オブジェクトを渡してstaticではなくしても
制御フローは同じです。(切り出し面が異なるだけ)
今後FormDataクラスや「他のクラスC」はForm1外でも使う可能性があるのと、
デグレードに対するデバッグの困難さを考えて、今回はAを選んでいるだけです。
まあいずれにしても、解決しました。
ありがとうございました。
なおリンク先、最後に小言が書いてありますが、完全に同意ですよ。
本来はイベントテーブルを参照できるメソッドが有ればいいだけです。
946デフォルトの名無しさん
2016/02/23(火) 04:03:35.79ID:zeSeypn1 本来はまともな設計をすればいいだけだよ
+= した順番に呼ばれるのもたまたまそういう実装になってるだけでしょ
+= した順番に呼ばれるのもたまたまそういう実装になってるだけでしょ
947デフォルトの名無しさん
2016/02/29(月) 00:09:05.42ID:MKA4zt/L イベントの実行順はaddされた順だと仕様化されてる
948デフォルトの名無しさん
2016/04/25(月) 16:38:42.40ID:FkG7uZgr 質問失礼します。
'abc.exe': 'C:\Visual Studio 2008\Projects\xyz.dll' を読み込みました。Cannot find or open the PDB file
'abc.exe': 'C:\Visual Studio 2008\Projects\xyz.dll' をアンロード
このアンロードはどうやって止めるのでしょうか?
実行した際に、dll内のメソッドを参照できないようで、以下のエラーとなります。
ハンドルされていない例外: System.IO.FileNotFoundException: ファイルまたはアセン
ブリ 'hoge.dll'、またはその依存関係の 1 つが読み込めませんでした。
指定されたモジュールが見つかりません。
場所 hoge.hogeclass..ctor()
場所 main(Int32 argc, SByte** argv)
場所 _mainCRTStartup()
コンパイルはできています。
よろしくお願いします。
(なんか急にできなくなった気がします。前は、問題無だったはずなのになぁ)
追記
他にも、以下のような、謎のメッセージも出ています。
'abc.exe': 'ImageAtBase0x10000000' を読み込みました。含める/除外する設定により、読み込みは無効になっています。
'abc.exe': 'ImageAtBase0x10000000' をアンロード
よろしくおねがいします。
'abc.exe': 'C:\Visual Studio 2008\Projects\xyz.dll' を読み込みました。Cannot find or open the PDB file
'abc.exe': 'C:\Visual Studio 2008\Projects\xyz.dll' をアンロード
このアンロードはどうやって止めるのでしょうか?
実行した際に、dll内のメソッドを参照できないようで、以下のエラーとなります。
ハンドルされていない例外: System.IO.FileNotFoundException: ファイルまたはアセン
ブリ 'hoge.dll'、またはその依存関係の 1 つが読み込めませんでした。
指定されたモジュールが見つかりません。
場所 hoge.hogeclass..ctor()
場所 main(Int32 argc, SByte** argv)
場所 _mainCRTStartup()
コンパイルはできています。
よろしくお願いします。
(なんか急にできなくなった気がします。前は、問題無だったはずなのになぁ)
追記
他にも、以下のような、謎のメッセージも出ています。
'abc.exe': 'ImageAtBase0x10000000' を読み込みました。含める/除外する設定により、読み込みは無効になっています。
'abc.exe': 'ImageAtBase0x10000000' をアンロード
よろしくおねがいします。
949デフォルトの名無しさん
2016/04/26(火) 04:22:33.77ID:GzSuYmQg 「cannot find or open the pdb file c++」で検索!
950デフォルトの名無しさん
2016/04/26(火) 10:52:45.55ID:wKiIgsat アンロードは気にするな
dllの場所をあちこちコピーして試してみ
dllの場所をあちこちコピーして試してみ
951948
2016/04/27(水) 15:26:32.30ID:pZs1yVgK 思い出しました。
ildasm,ilasmをつかって、その該当のdllのPCBを作りました。
(dllの中まで、デバッガで追いかけるためです)
あたらしくコンパイルしたDLLへ、前のPCBがなかったものから、リンクを張り替えました。
そしたらエラーが出るようになった気がします。
(あくまで、気がするだけです。なんら、確かな関連はわかりません)
しかし、現在は、以前のオリジナルのDLLをリンクしています。
その状態でエラーが出ています。
>>950
回答ありがとうございます。
/LIBPATH の場所
exeと同じフォルダ
program filesフォルダのvisualSTUDIOフォルダ
それらに置き直しました。が、駄目でした。
ildasm,ilasmをつかって、その該当のdllのPCBを作りました。
(dllの中まで、デバッガで追いかけるためです)
あたらしくコンパイルしたDLLへ、前のPCBがなかったものから、リンクを張り替えました。
そしたらエラーが出るようになった気がします。
(あくまで、気がするだけです。なんら、確かな関連はわかりません)
しかし、現在は、以前のオリジナルのDLLをリンクしています。
その状態でエラーが出ています。
>>950
回答ありがとうございます。
/LIBPATH の場所
exeと同じフォルダ
program filesフォルダのvisualSTUDIOフォルダ
それらに置き直しました。が、駄目でした。
952デフォルトの名無しさん
2016/04/27(水) 16:32:56.37ID:P7l59W4J xyz.dllが依存している何かのDLLが見つからないんじゃないの
dependency walkerとかcygwinのlddとかで確認してみたら
dependency walkerとかcygwinのlddとかで確認してみたら
953デフォルトの名無しさん
2016/04/27(水) 17:53:59.20ID:VZ0i7jHG 参照設定に入れてるんじゃないの?
一旦外して参照設定しなおしてみては
一旦外して参照設定しなおしてみては
954948
2016/04/27(水) 18:59:04.66ID:1t3mn4AU 'newxyz.exe': 'C:\Documents and Settings\company\My Documents\Visual Studio 2010\Projects\newxyz\Debug\newxyz.exe' を読み込みました。シンボルが読み込まれました。
'newxyz.exe': 'C:\WINDOWS\system32\ntdll.dll' を読み込みました。シンボルは読み込まれました (ソース情報は取り除かれました)。
-----------------------------------------省略
'newxyz.exe': 'C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Culture.dll' を読み込みました。シンボルは読み込まれました (ソース情報は取り除かれました)。
'newxyz.exe': 'C:\WINDOWS\assembly\NativeImages_v4.0.30319_32\mscorlib\cece9d0256e18427b64587ba690605d4\mscorlib.ni.dll' を読み込みました。シンボル ファイルにネイティブ シンボルがありません。
'newxyz.exe' (マネージ (v4.0.30319)): 'C:\WINDOWS\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll が読み込まれました。シンボルが読み込まれました。
ー---------------省略
'newxyz.exe' (マネージ (v4.0.30319)): 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll が読み込まれました。シンボルが読み込まれました。
'newxyz.exe': 'ImageAtBase0x10000000' を読み込みました。含める/除外する設定により、読み込みは無効になっています。
'newxyz.exe': 'ImageAtBase0x10000000' をアンロード
'newxyz.exe' (マネージ (v4.0.30319)): 'C:\Documents and Settings\company\My Documents\Visual Studio 2010\Projects\newxyz\Debug\xyz.dll' が読み込まれました
'newxyz.exe': 'ImageAtBase0x10000000' を読み込みました。含める/除外する設定により、読み込みは無効になっています。
'newxyz.exe': 'ImageAtBase0x10000000' をアンロード
----------------続きがあります
----------------続きがあります
'newxyz.exe': 'C:\WINDOWS\system32\ntdll.dll' を読み込みました。シンボルは読み込まれました (ソース情報は取り除かれました)。
-----------------------------------------省略
'newxyz.exe': 'C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Culture.dll' を読み込みました。シンボルは読み込まれました (ソース情報は取り除かれました)。
'newxyz.exe': 'C:\WINDOWS\assembly\NativeImages_v4.0.30319_32\mscorlib\cece9d0256e18427b64587ba690605d4\mscorlib.ni.dll' を読み込みました。シンボル ファイルにネイティブ シンボルがありません。
'newxyz.exe' (マネージ (v4.0.30319)): 'C:\WINDOWS\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll が読み込まれました。シンボルが読み込まれました。
ー---------------省略
'newxyz.exe' (マネージ (v4.0.30319)): 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll が読み込まれました。シンボルが読み込まれました。
'newxyz.exe': 'ImageAtBase0x10000000' を読み込みました。含める/除外する設定により、読み込みは無効になっています。
'newxyz.exe': 'ImageAtBase0x10000000' をアンロード
'newxyz.exe' (マネージ (v4.0.30319)): 'C:\Documents and Settings\company\My Documents\Visual Studio 2010\Projects\newxyz\Debug\xyz.dll' が読み込まれました
'newxyz.exe': 'ImageAtBase0x10000000' を読み込みました。含める/除外する設定により、読み込みは無効になっています。
'newxyz.exe': 'ImageAtBase0x10000000' をアンロード
----------------続きがあります
----------------続きがあります
955948
2016/04/27(水) 19:01:17.20ID:1t3mn4AU 'newxyz.exe': 'C:\Documents and Settings\company\My Documents\Visual Studio 2010\Projects\newxyz\Debug\netClient.dll' を読み込みました。Cannot find or open the PDB file
'newxyz.exe': 'C:\Documents and Settings\company\My Documents\Visual Studio 2010\Projects\newxyz\Debug\netClient.dll' をアンロード
newxyz.exe の 0x7c812aeb (kernel32.dll) で初回の例外が発生しました: Microsoft C++ の例外: EEFileLoadException (メモリの場所 0x0012d0e8)。
----------省略
'System.IO.FileNotFoundException' の初回例外が newxyz.exe で発生しました。
'newxyz.exe': 'C:\WINDOWS\system32\version.dll' を読み込みました。シンボルは読み込まれました (ソース情報は取り除かれました)。
'System.IO.FileNotFoundException' のハンドルされていない例外が newxyz.exe で発生しました。
追加情報: ファイルまたはアセンブリ 'netClient.dll'、またはその依存関係の 1 つが読み込めませんでした。指定されたモジュールが見つかりません。
'newxyz.exe' (マネージ (v4.0.30319)): 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_ja_b77a5c561934e089\mscorlib.resources.dll' が読み込まれました
スレッド 'メイン スレッド' (0xe48) はコード 0 (0x0) で終了しました。
スレッド 'Thread::intermediateThreadProc' (0xec8) はコード 0 (0x0) で終了しました。
スレッド 'HelperCanary::ThreadProc' (0xec4) はコード 0 (0x0) で終了しました。
プログラム '[3652] newxyz.exe: ネイティブ' はコード 0 (0x0) で終了しました。
プログラム '[3652] newxyz.exe: マネージ (v4.0.30319)' はコード 0 (0x0) で終了しました。
'newxyz.exe': 'C:\Documents and Settings\company\My Documents\Visual Studio 2010\Projects\newxyz\Debug\netClient.dll' をアンロード
newxyz.exe の 0x7c812aeb (kernel32.dll) で初回の例外が発生しました: Microsoft C++ の例外: EEFileLoadException (メモリの場所 0x0012d0e8)。
----------省略
'System.IO.FileNotFoundException' の初回例外が newxyz.exe で発生しました。
'newxyz.exe': 'C:\WINDOWS\system32\version.dll' を読み込みました。シンボルは読み込まれました (ソース情報は取り除かれました)。
'System.IO.FileNotFoundException' のハンドルされていない例外が newxyz.exe で発生しました。
追加情報: ファイルまたはアセンブリ 'netClient.dll'、またはその依存関係の 1 つが読み込めませんでした。指定されたモジュールが見つかりません。
'newxyz.exe' (マネージ (v4.0.30319)): 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_ja_b77a5c561934e089\mscorlib.resources.dll' が読み込まれました
スレッド 'メイン スレッド' (0xe48) はコード 0 (0x0) で終了しました。
スレッド 'Thread::intermediateThreadProc' (0xec8) はコード 0 (0x0) で終了しました。
スレッド 'HelperCanary::ThreadProc' (0xec4) はコード 0 (0x0) で終了しました。
プログラム '[3652] newxyz.exe: ネイティブ' はコード 0 (0x0) で終了しました。
プログラム '[3652] newxyz.exe: マネージ (v4.0.30319)' はコード 0 (0x0) で終了しました。
956948
2016/04/27(水) 19:13:09.09ID:1t3mn4AU957デフォルトの名無しさん
2016/05/01(日) 16:47:47.97ID:tKi6j9CT 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
1w
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
1w
958デフォルトの名無しさん
2016/10/22(土) 11:55:32.76ID:ksoZ+Sju 大分人が居ないみたいだけど、質問させてください
archlinux(x86_64)+gtkmm3(3.22.0)+epoxy(1.3.1)+glsl上のOpenGLで隠面消去をしたいのですが
glEnable(GL_DEPTH_TEST)しても上手く行きません。fragment shaderの部分で書くのでしょうか?
もしサンプルなど有りましたらURLを教えて頂ければ幸いです。
OpenGL、GLSL周りの情報は何処を見て何処を出せば良いのか分からず不明ですが宜しくお願いします
少し問題の発端を・・・
以前はgtkmm3+glewで某ホームページで点にテクスチャを貼って大きさを変える方法を利用してました
(1) gtkのアップデート → context周りが上手く機能せず
(2) GLAreaクラス使用する → オプションとか無効なものが発生、描画命令が上手く動かない
(3) GLSLを使うようにする → アルファテストは何とか解決、隠面消去が実装方法が分からず
※オンボード(core i7 4771)のグラフィックを使っているせいかGLSLのバージョンも1.3以上にできないみたいです
archlinux(x86_64)+gtkmm3(3.22.0)+epoxy(1.3.1)+glsl上のOpenGLで隠面消去をしたいのですが
glEnable(GL_DEPTH_TEST)しても上手く行きません。fragment shaderの部分で書くのでしょうか?
もしサンプルなど有りましたらURLを教えて頂ければ幸いです。
OpenGL、GLSL周りの情報は何処を見て何処を出せば良いのか分からず不明ですが宜しくお願いします
少し問題の発端を・・・
以前はgtkmm3+glewで某ホームページで点にテクスチャを貼って大きさを変える方法を利用してました
(1) gtkのアップデート → context周りが上手く機能せず
(2) GLAreaクラス使用する → オプションとか無効なものが発生、描画命令が上手く動かない
(3) GLSLを使うようにする → アルファテストは何とか解決、隠面消去が実装方法が分からず
※オンボード(core i7 4771)のグラフィックを使っているせいかGLSLのバージョンも1.3以上にできないみたいです
959デフォルトの名無しさん
2016/10/22(土) 12:52:21.05ID:O48rD9qT おおいたじん
960デフォルトの名無しさん
2016/10/23(日) 21:52:15.85ID:15UOA6Kp わかったぁぁぁぁ!!!
glEnable( GL_DEPTH_TEST );
ではなく
set_has_depth_buffer();
でデプスバッファを有効にするみたいだ
こんな所まで変える必要はないだろうに・・・
glEnable( GL_DEPTH_TEST );
ではなく
set_has_depth_buffer();
でデプスバッファを有効にするみたいだ
こんな所まで変える必要はないだろうに・・・
961デフォルトの名無しさん
2016/10/23(日) 23:42:58.00ID:dKDci2rB すれ違いな事を分かれよw
962デフォルトの名無しさん
2016/10/24(月) 00:49:08.07ID:B3VSjKub いや誘導されてきたしw
普通のくだすれ落ちてるし
スレ立てるまでもないスレの方が良かったのかな?
普通のくだすれ落ちてるし
スレ立てるまでもないスレの方が良かったのかな?
963デフォルトの名無しさん
2016/10/24(月) 08:15:21.68ID:q3Pt9cuW 「くだすれ行け」って言われてこのスレに誘導されたと思ったんなら頭悪すぎるわ。
964デフォルトの名無しさん
2016/10/24(月) 10:37:31.81ID:9xygNeDa >>963
ほんそれ
ほんそれ
965デフォルトの名無しさん
2016/10/24(月) 12:49:59.59ID:e0+jKQlJ まあ /CLI の文字はわからない人には見えないからな
966デフォルトの名無しさん
2016/10/24(月) 15:51:40.64ID:9xygNeDa くだすれC++だったとしてもスレ違い
967デフォルトの名無しさん
2016/11/03(木) 11:44:11.90ID:s4829peE C#で言うオブジェクト初期化子に相当する機能ってC++/CLIに用意されているんですかね?
getアクセッサしかないプロパティをコンストラクト時に初期化して使うようになっている
ライブラリがあったんですけど、もしかしてそういうクラスはC++/CLIから使えない?
getアクセッサしかないプロパティをコンストラクト時に初期化して使うようになっている
ライブラリがあったんですけど、もしかしてそういうクラスはC++/CLIから使えない?
968デフォルトの名無しさん
2016/11/03(木) 16:15:49.29ID:997Gjnyn { hoge : 774, fuga : 37564 } { .hoge = 774, .fuga = 37564 } みたいなやつ?
俺も2015で以前に探したけど見つからなかったな
どうなんだろうね、あるのかな
俺も2015で以前に探したけど見つからなかったな
どうなんだろうね、あるのかな
969デフォルトの名無しさん
2016/11/03(木) 16:49:50.16ID:s4829peE それです。
VBには追加されているみたいだけど、C++/CLIは見捨てられているなぁ。
VBには追加されているみたいだけど、C++/CLIは見捨てられているなぁ。
970デフォルトの名無しさん
2016/11/03(木) 17:54:07.51ID:997Gjnyn VSの作りからして、それはないんじゃないかな
MFCでリボンじゃない方のドッキングのプロジェクト作るとわかるけど、
あれがものの見事にVSのドッキングだからね
かつデザイナは当然ユーザが生成する(した)フォームは(特にユーザコンポーネント)
.NETでビルドされたものをデザインタイム用に直接呼び出してる
(デザイナでエラーが出るだのインテリセンスが良く落ちるだの言ってるのは
VSの作りを”なんとなく”ですら理解できてない証拠)
MSとしてはVSで次のVSを作ったりする為にもC++/CLI作りこみたいけど
非常に言語体系が複雑かつ莫大な工数が必要で追いついてないんじゃないかなと妄想
既に市場のソフトウェアの価格破壊はとっくに完了
後はストアかUbuntuOnLinuxでサーバ市場か開発シェアで食い込むしかなさそうだし
MFCでリボンじゃない方のドッキングのプロジェクト作るとわかるけど、
あれがものの見事にVSのドッキングだからね
かつデザイナは当然ユーザが生成する(した)フォームは(特にユーザコンポーネント)
.NETでビルドされたものをデザインタイム用に直接呼び出してる
(デザイナでエラーが出るだのインテリセンスが良く落ちるだの言ってるのは
VSの作りを”なんとなく”ですら理解できてない証拠)
MSとしてはVSで次のVSを作ったりする為にもC++/CLI作りこみたいけど
非常に言語体系が複雑かつ莫大な工数が必要で追いついてないんじゃないかなと妄想
既に市場のソフトウェアの価格破壊はとっくに完了
後はストアかUbuntuOnLinuxでサーバ市場か開発シェアで食い込むしかなさそうだし
971デフォルトの名無しさん
2016/11/08(火) 19:00:23.92ID:poFN3OHs 亀レスだが何となく妄想が閃いた
MS主導とはいえ、C++/CLIってなんかの国際的な規格みたいなので規定された
れっきとした規格だからおいそれと追加できないんだ
んで、C#もC++も構造体(クラス)の初期化子持ってるから昔みたいな適当に
「MS独自の拡張でーす」とかやっちまうと収拾つかなくなりそう
とはいえ { 0, ,1 2 } は後からメンバ追加したとき修正忘れとかトラブルの元だし
構造体宣言→ZeroMemory→b=1; c=2;はエイリアス切らないとconst修飾できねーし
(エイリアスはヒューマンエラーの元、constじゃないと最適化掛からないケースあり)
さっさと対応して欲しいとこではある
MS主導とはいえ、C++/CLIってなんかの国際的な規格みたいなので規定された
れっきとした規格だからおいそれと追加できないんだ
んで、C#もC++も構造体(クラス)の初期化子持ってるから昔みたいな適当に
「MS独自の拡張でーす」とかやっちまうと収拾つかなくなりそう
とはいえ { 0, ,1 2 } は後からメンバ追加したとき修正忘れとかトラブルの元だし
構造体宣言→ZeroMemory→b=1; c=2;はエイリアス切らないとconst修飾できねーし
(エイリアスはヒューマンエラーの元、constじゃないと最適化掛からないケースあり)
さっさと対応して欲しいとこではある
972デフォルトの名無しさん
2016/11/08(火) 22:29:24.78ID:ygc/1hMy 混在アセンブリが作れるのはC++/CLIだけだし非常にもったいないと思うんだが、
MS自身も既にグルー用途以外での新規採用を推奨してなかったんじゃないかな。
もうちょっと力入れてくれてたらMFCなんか捨てられたのに。
MS自身も既にグルー用途以外での新規採用を推奨してなかったんじゃないかな。
もうちょっと力入れてくれてたらMFCなんか捨てられたのに。
973デフォルトの名無しさん
2016/11/08(火) 22:58:35.07ID:poFN3OHs ttps://support.microsoft.com/ja-jp/kb/3001686
これかな
そのわりにはVSには使ってんだよな
MFCしながらマネージコードをデザインタイムで呼び出してフォーム表示しなきゃならんから
仕方ないのかも知れんけど
これかな
そのわりにはVSには使ってんだよな
MFCしながらマネージコードをデザインタイムで呼び出してフォーム表示しなきゃならんから
仕方ないのかも知れんけど
974デフォルトの名無しさん
2016/11/09(水) 11:18:35.06ID:YhV0EIhT さりげなくVS2015でMFC進化してたし、MFCのダイアログでスプリッタとか
(無理やり空のCFrameWnd貼り付けるとタブ移動できない)
ステータスバーとか(.NETみたいにツールバーもどきとしても使える)
.NETでしか使えないコントロールが軒並みMFCにきてくれたりするだけでもいいんだけど
これから先C++/CLIのサポートどうなるんだろ
多少見てくれやUIが前時代的でもMFCの方が安定かなぁ
(無理やり空のCFrameWnd貼り付けるとタブ移動できない)
ステータスバーとか(.NETみたいにツールバーもどきとしても使える)
.NETでしか使えないコントロールが軒並みMFCにきてくれたりするだけでもいいんだけど
これから先C++/CLIのサポートどうなるんだろ
多少見てくれやUIが前時代的でもMFCの方が安定かなぁ
975デフォルトの名無しさん
2016/11/21(月) 13:25:25.73ID:YpzsObn3 MSはCLI推奨せずにC#やVB推奨してっけど、将来のOffice系何で作るんだろな
難読化してもその内ソースのオプティマイザ出てきてイタチごっこになりかねんし暫くはMFCかね
難読化してもその内ソースのオプティマイザ出てきてイタチごっこになりかねんし暫くはMFCかね
976デフォルトの名無しさん
2017/01/15(日) 21:23:48.23ID:rvU554U6 C++/WinRT なんてものまで出てきて、C++/CX も先が短そう
WTL の再来っぽくていい感じだけど
WTL の再来っぽくていい感じだけど
977デフォルトの名無しさん
2017/01/15(日) 22:42:58.04ID:NxAjVWZ/ どれか一本に絞ってくれんと安心して規模がでかいモノに使えんのだよな
978デフォルトの名無しさん
2017/01/16(月) 17:58:46.48ID:YH2Bx58z うむ
979デフォルトの名無しさん
2017/01/26(木) 18:08:08.58ID:o7A7h/DB コロコロ変えて無駄な需要を作り出すのもM$の仕事
980デフォルトの名無しさん
2017/01/30(月) 00:52:58.91ID:WdnkMvUJ C++/WinRT をちょっと使ってみたけど、これいいね
標準C++で WinRT の COM 定義をインクルードして普通に使えるのはいい
癖さえつかめば、あとはWinRTのお作法だけってかんじだわ
標準C++で WinRT の COM 定義をインクルードして普通に使えるのはいい
癖さえつかめば、あとはWinRTのお作法だけってかんじだわ
981デフォルトの名無しさん
2017/01/31(火) 15:17:17.52ID:KYCEEpNK une
982デフォルトの名無しさん
2017/02/01(水) 02:50:30.54ID:L9Dup9x5 UWPとか限定せずに、C++/CLIのまま突っ走って欲しかったんだがなぁ
983デフォルトの名無しさん
2017/04/28(金) 09:31:56.32ID:O7EFHLbG フォームアプリ用のプロジェクトのテンプレどっか落ちて無い?
毎回手動で設定するの面倒臭い。
毎回手動で設定するの面倒臭い。
984デフォルトの名無しさん
2017/05/20(土) 14:40:24.30ID:EW+Ld+8h アンマネージ側でvector<>に格納されたデータをマネージ側に返すには
gcnewで別にメモリ確保してコピーしてから返す方法になるんですか?
(一時的に倍メモリ使うのが気になります)
gcnewで別にメモリ確保してコピーしてから返す方法になるんですか?
(一時的に倍メモリ使うのが気になります)
985デフォルトの名無しさん
2017/05/20(土) 15:14:59.81ID:elFKlvRa 俺はあまり詳しくないけど、「返す」ってのが普通は要らないと思う。
マネージドからアンマネージドは直叩き出来るし、普通はそうする気が。
切り替えのオーバーヘッドがーみたいな記述もどこかにあったけど、
俺がやっている限りでは無駄命令は出ずに直叩きしてた。
逆にアンマネージドからマネージドも一応は直叩き出来るけど、
pin_ptrにしなければいけないし、可変長は多分無理。
STL/CLRにもvectorはあるけど、こちらだとアンマネージド側のソース変更が必要になる。
(*を^に変更)
だから一番楽なのは上記の「マネージドからアンマネージドを直叩き」だと思う。
なおコピーするのならそりゃ一時的には倍メモリ使うしかないでしょ。
マネージドからアンマネージドは直叩き出来るし、普通はそうする気が。
切り替えのオーバーヘッドがーみたいな記述もどこかにあったけど、
俺がやっている限りでは無駄命令は出ずに直叩きしてた。
逆にアンマネージドからマネージドも一応は直叩き出来るけど、
pin_ptrにしなければいけないし、可変長は多分無理。
STL/CLRにもvectorはあるけど、こちらだとアンマネージド側のソース変更が必要になる。
(*を^に変更)
だから一番楽なのは上記の「マネージドからアンマネージドを直叩き」だと思う。
なおコピーするのならそりゃ一時的には倍メモリ使うしかないでしょ。
986デフォルトの名無しさん
2017/05/21(日) 00:02:49.54ID:B5VLs+I5 collection_adapterの出番だ!って思ったら逆方向だったでござる
987デフォルトの名無しさん
2017/08/11(金) 18:57:30.61ID:F7GkAIq5 visual c++ express edition
(2010)で、
numericUpDown1 に、小数を入力(DecimalPlaces は、 1)できるようにしています。
コードから、
float suu;
(numericUpDown1 -> Value) =
(float)suu;
が、エラー出ます。
suu と、numericUpDown1 を、整数にしておけば、エラー出ません。
小数で、入力するには、どうすればよいのですか?
m(__)m
(2010)で、
numericUpDown1 に、小数を入力(DecimalPlaces は、 1)できるようにしています。
コードから、
float suu;
(numericUpDown1 -> Value) =
(float)suu;
が、エラー出ます。
suu と、numericUpDown1 を、整数にしておけば、エラー出ません。
小数で、入力するには、どうすればよいのですか?
m(__)m
988デフォルトの名無しさん
2017/08/11(金) 22:49:03.05ID:zXcmyaa1 エラーメッセージに書いてあるだろ。
989デフォルトの名無しさん
2017/08/14(月) 12:55:13.92ID:xjAbC9qa カッコとかキャストとかわけわからずにやってんのか
System::Decimalにキャストしてみて
System::Decimalにキャストしてみて
990デフォルトの名無しさん
2017/08/16(水) 04:12:40.72ID:UcOsqcC8 Cスタイルキャストが許されるのは小学生まで
991デフォルトの名無しさん
2017/08/18(金) 19:41:28.19ID:UHl99sa0 C++ って初期値を0にするって仕様化されていたっけ?
992デフォルトの名無しさん
2017/08/18(金) 19:50:42.62ID:G07FViaN int a {};とすれば0初期化される仕様だったような?
993デフォルトの名無しさん
2017/08/18(金) 21:19:51.90ID:UHl99sa0 2010 だと、0x は使えないんじゃ?
まぁ、MSDN のコードを見れば解決する話だけど
ttps://msdn.microsoft.com/ja-jp/library/system.windows.forms.numericupdown.decimalplaces(v=vs.110).aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-2
まぁ、MSDN のコードを見れば解決する話だけど
ttps://msdn.microsoft.com/ja-jp/library/system.windows.forms.numericupdown.decimalplaces(v=vs.110).aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-2
994デフォルトの名無しさん
2017/08/19(土) 15:20:13.68ID:vQyZjPpv995アムドクラス 124.214.38.29
2017/09/12(火) 15:04:42.24ID:qh4uFSxq >>803
言葉遊びじゃなく君が人の書き込を妄想で勘違いしてドヤ顔で噛み付いてきた挙句論点の違う馬鹿な屁理屈こねたってのが現実だよね?
それで負け惜しみか知らんが「こ、言葉あそびしたいだけだな(震え声」って言われてもね?
違うというなら
「多コア最適化が進めば必然的にryzanにも恩恵がある」
っていう書き込みのどこが思い込みなのかはっきり言えばいいじゃない
論点ズラす馬鹿な屁理屈こねたり負け惜しみ言ってないでさ?
>>809
また屁理屈ですか?
差が埋まるとか埋まらないとかの言い訳はいいからさ?
恩恵あるんだよね?じゃあそれは思い込みじゃないよね?
なんで君は思い込みどうこうとか言い出して噛み付いてきたの?
>何を言われても理解できない子なんだなあ
完全にブーメランで君の額に刺さってるよね
それでもまだ苦しい言い訳や屁理屈や負け惜しみ書き込むの?真性?
言葉遊びじゃなく君が人の書き込を妄想で勘違いしてドヤ顔で噛み付いてきた挙句論点の違う馬鹿な屁理屈こねたってのが現実だよね?
それで負け惜しみか知らんが「こ、言葉あそびしたいだけだな(震え声」って言われてもね?
違うというなら
「多コア最適化が進めば必然的にryzanにも恩恵がある」
っていう書き込みのどこが思い込みなのかはっきり言えばいいじゃない
論点ズラす馬鹿な屁理屈こねたり負け惜しみ言ってないでさ?
>>809
また屁理屈ですか?
差が埋まるとか埋まらないとかの言い訳はいいからさ?
恩恵あるんだよね?じゃあそれは思い込みじゃないよね?
なんで君は思い込みどうこうとか言い出して噛み付いてきたの?
>何を言われても理解できない子なんだなあ
完全にブーメランで君の額に刺さってるよね
それでもまだ苦しい言い訳や屁理屈や負け惜しみ書き込むの?真性?
996アムドクラス 110.132.254.159
2017/09/12(火) 15:05:18.98ID:qh4uFSxq それはお前の思い込みだ!!って思い込みで叩く
まさにアスペの症状そのままです
そして大概アスペ本人は自分が間違ってると認識すらないから
自分の非を認められず延々に論点ズラしや屁理屈こねてだから相手が間違ってると言い続ける
こういうのは相手にしないのが吉
>8700Kで走らせれば確実に2コア余るわけで[
おいおい
ゲームは今4コアメインだからって6コアCPUを使ったら2コア余るなんて馬鹿な事ほざく奴が
なんで自作板にいるんだ?まじで?釣りじゃなく本気で言ってんの?
本気なら真性じゃん
まさにアスペの症状そのままです
そして大概アスペ本人は自分が間違ってると認識すらないから
自分の非を認められず延々に論点ズラしや屁理屈こねてだから相手が間違ってると言い続ける
こういうのは相手にしないのが吉
>8700Kで走らせれば確実に2コア余るわけで[
おいおい
ゲームは今4コアメインだからって6コアCPUを使ったら2コア余るなんて馬鹿な事ほざく奴が
なんで自作板にいるんだ?まじで?釣りじゃなく本気で言ってんの?
本気なら真性じゃん
997アムドクラス 110.132.254.159
2017/09/12(火) 15:05:41.96ID:qh4uFSxq >>815
>そうだねそれと同時にryzenの時代になっていくって事だよね
↓
>多コア最適化が進めば必然的にryzanにも恩恵があるという
これのどこに矛盾があるの?
「マルチ最適化が進めば必然的にryzenに恩恵がある=ryzen(もっと分かりやすくいえばマルチコア)の時代になっていく」
何の矛盾もないし言い換えですらない言ってる本質は同じなんだから
それを言葉遊びって自分が理解できない馬鹿ってだけだろ?
現時点でマルチ処理では7700Kより明らかにryzenは上で6コアの8700kだってまず勝てないだろうね
馬鹿がなぜか持ちだした4コアなら勝てるかもだけどさ
7700Kと比較するのに同価格帯じゃなく4コアryzen持ちだして何したいの?
つかそこまで論点拡大しなきゃ言い訳すらできない時点で馬鹿丸出しで相手にすらする価値ないよね?
勝手に人の書き込みを思い込みで「ryzenの時代=AMDがゲームでも勝つ」みたいに勘違いして脊椎反射で噛み付いたんだろうが
それこそアホ(淫厨)の極みだね
何度も言うが完全にブーメランで何を言われても理解できない子なんだなあ君
>そうだねそれと同時にryzenの時代になっていくって事だよね
↓
>多コア最適化が進めば必然的にryzanにも恩恵があるという
これのどこに矛盾があるの?
「マルチ最適化が進めば必然的にryzenに恩恵がある=ryzen(もっと分かりやすくいえばマルチコア)の時代になっていく」
何の矛盾もないし言い換えですらない言ってる本質は同じなんだから
それを言葉遊びって自分が理解できない馬鹿ってだけだろ?
現時点でマルチ処理では7700Kより明らかにryzenは上で6コアの8700kだってまず勝てないだろうね
馬鹿がなぜか持ちだした4コアなら勝てるかもだけどさ
7700Kと比較するのに同価格帯じゃなく4コアryzen持ちだして何したいの?
つかそこまで論点拡大しなきゃ言い訳すらできない時点で馬鹿丸出しで相手にすらする価値ないよね?
勝手に人の書き込みを思い込みで「ryzenの時代=AMDがゲームでも勝つ」みたいに勘違いして脊椎反射で噛み付いたんだろうが
それこそアホ(淫厨)の極みだね
何度も言うが完全にブーメランで何を言われても理解できない子なんだなあ君
998アムドクラス 124.214.38.29
2017/09/12(火) 15:06:19.99ID:qh4uFSxq 現段階ではゲームでは7700k最強で安定
マルチではryzenが最強で安定
これにコーヒー(8700k)がどこまで食い込めるかって単純な話しなのにね
ゲームでは定格が低くかつ今のゲームは4コア最適化だから7700k相手だと厳しい
TBは一時的なものだしOCするにしてもそれは7700kでもできる事で元の定格高い分7700kが負担少なく有利
マルチではryzenにはまず勝てないだろう(アホの理論で4コア持ち出せば別だけどw)
ゲームで7700kを上回るために6コア(マルチコア)最適化をするというなら
それはryzenにも恩恵がある事で元々マルチで勝ってるryzenがますます使えるようになって行く
中途半端になりそうなコーヒーってどうなるんだろうね?って簡単な話に淫厨が発狂して噛み付いてきて大変だわ
>>855
逆に言うとマルチ用途ならryzen一択だけどな
そもそもゲーム用途で8700k一択にならずに7700kと二択になってる時点で
8700kって中途半端感あるってまだ気が付かない馬鹿?
ここにいる人はゲームメインで8700kが7700kといい勝負レベルだったら
7700k買って差額をグラボに使うぜ?ここにいる人は
マルチメインでほしいならryzen一択なんだしな
マルチではryzenが最強で安定
これにコーヒー(8700k)がどこまで食い込めるかって単純な話しなのにね
ゲームでは定格が低くかつ今のゲームは4コア最適化だから7700k相手だと厳しい
TBは一時的なものだしOCするにしてもそれは7700kでもできる事で元の定格高い分7700kが負担少なく有利
マルチではryzenにはまず勝てないだろう(アホの理論で4コア持ち出せば別だけどw)
ゲームで7700kを上回るために6コア(マルチコア)最適化をするというなら
それはryzenにも恩恵がある事で元々マルチで勝ってるryzenがますます使えるようになって行く
中途半端になりそうなコーヒーってどうなるんだろうね?って簡単な話に淫厨が発狂して噛み付いてきて大変だわ
>>855
逆に言うとマルチ用途ならryzen一択だけどな
そもそもゲーム用途で8700k一択にならずに7700kと二択になってる時点で
8700kって中途半端感あるってまだ気が付かない馬鹿?
ここにいる人はゲームメインで8700kが7700kといい勝負レベルだったら
7700k買って差額をグラボに使うぜ?ここにいる人は
マルチメインでほしいならryzen一択なんだしな
999アムドクラス 124.214.38.29
2017/09/12(火) 15:07:04.41ID:qh4uFSxq >>862
出たw淫厨用語の「絶対性能」w
それxが出た時に散々聞いた気がするわwww
なるほど絶対性能持ち出さないとダメになったかw
>>867
淫厨が絶対性能持ち出すってのは
小学生が口喧嘩で言い返せなくなって涙目で何言われても「バーカバーカ」って連呼しだすようなもん
何言っても無駄よ?
>>884
>畑違いだから想像で適当に言ってるし、間違ってても気にしないけどな
俺が代わりに言ってやる
頭悪いなお前www
まぁ真性の馬鹿って自分が馬鹿って気がついてないって言うからな
多分周りから散々頭悪いって言われてても気づいてないだけだろうな
なにせ想像で適当に言って間違ってても気にしないレベルの頭だからなw
>>891
何かあれば絶対性能連呼しだすお前も同じようなもんだからな
馬鹿の一つ覚えってやつでな
それに気が付かないでそんなレス返してる時点で・・・・・・かわいそうに・・・・・・
出たw淫厨用語の「絶対性能」w
それxが出た時に散々聞いた気がするわwww
なるほど絶対性能持ち出さないとダメになったかw
>>867
淫厨が絶対性能持ち出すってのは
小学生が口喧嘩で言い返せなくなって涙目で何言われても「バーカバーカ」って連呼しだすようなもん
何言っても無駄よ?
>>884
>畑違いだから想像で適当に言ってるし、間違ってても気にしないけどな
俺が代わりに言ってやる
頭悪いなお前www
まぁ真性の馬鹿って自分が馬鹿って気がついてないって言うからな
多分周りから散々頭悪いって言われてても気づいてないだけだろうな
なにせ想像で適当に言って間違ってても気にしないレベルの頭だからなw
>>891
何かあれば絶対性能連呼しだすお前も同じようなもんだからな
馬鹿の一つ覚えってやつでな
それに気が付かないでそんなレス返してる時点で・・・・・・かわいそうに・・・・・・
1000アムドクラス
2017/09/12(火) 15:08:30.91ID:qh4uFSxq 句読点もそうだが
一つの書き込みでアンカー二つ入れてる書き込みもそうだよ
2chでアンカー二つ以上入れて書き込みするなんてよほどのかまってちゃんか荒らしか自演位だわ
アフィ男と馬鹿にする書き込みにだけ過剰なレス返してるし
もうバレバレなんだよね・・・・・・・・・
>>922
アフィ男乙
いい加減指摘どころかアフィ男批判の書き込みあると必ず沸いてくるだろ?お前w
自作とゲームと趣味の日々のブログは捏造と嘘しかないブログなんだともう周知されたからあきらめろ
あんなの見て参考にする情弱のジサカーなんてもういないからw
DELL男の主張聞いて「そうなのか!!6400スバラシイ!!」って言うような馬鹿はいないのと同じでな
>>929
4亀すら故障を心配すると書かざる終えないレベルの爆熱CPUについて
それを批判する書き込みしてる奴は荒らしとか
マジで信者脳だろお前
必死にインテル上げしてたアフィ男と同じメンタリティーだな
多くの誰もが評価するものを叩いてたなら荒らしだろうが
評価もされてないものを叩いてるやつも信者視点では荒らし認定とか
信者っておっそろしいもんだな・・・・・・
一つの書き込みでアンカー二つ入れてる書き込みもそうだよ
2chでアンカー二つ以上入れて書き込みするなんてよほどのかまってちゃんか荒らしか自演位だわ
アフィ男と馬鹿にする書き込みにだけ過剰なレス返してるし
もうバレバレなんだよね・・・・・・・・・
>>922
アフィ男乙
いい加減指摘どころかアフィ男批判の書き込みあると必ず沸いてくるだろ?お前w
自作とゲームと趣味の日々のブログは捏造と嘘しかないブログなんだともう周知されたからあきらめろ
あんなの見て参考にする情弱のジサカーなんてもういないからw
DELL男の主張聞いて「そうなのか!!6400スバラシイ!!」って言うような馬鹿はいないのと同じでな
>>929
4亀すら故障を心配すると書かざる終えないレベルの爆熱CPUについて
それを批判する書き込みしてる奴は荒らしとか
マジで信者脳だろお前
必死にインテル上げしてたアフィ男と同じメンタリティーだな
多くの誰もが評価するものを叩いてたなら荒らしだろうが
評価もされてないものを叩いてるやつも信者視点では荒らし認定とか
信者っておっそろしいもんだな・・・・・・
10011001
Over 1000Thread このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 2738日 5時間 27分 12秒
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 2738日 5時間 27分 12秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- 秋田内陸縦貫鉄道「列車が脱線、転覆」と通報 北秋田市、萱草駅付近 [蚤の市★]
- 今年の漢字、きょう発表😉 [583597859]
- 女の子集合!
- 中国人、超ド正論。「チベットやウイグルに住んでるのはチベット族やウイグル族だが、アイヌから奪った土地に住んでる日本人こそ侵略者」 [314039747]
- おまえらもうクリスマスツリー出した?
- 百合営業してるアイドル「これは営業だから…んっクチュクチュ」←これ
- (´・ω・`)ニュー速VIPのみんなへ
