156: Visual Studio 2008 Part 22 (308)
2ちゃんねるブックマークは2ちゃんねる(2ch.sc)のログをブックマーク出来るビュアーです。


Visual Studio 2008 Part 22 (308)

【pc】
pp 

1 デフォルトの名無しさん
2014/10/13(月) 15:13:20.18 ID:yFRqmPNp

■公式
ttp://www.microsoft.com/japan/msdn/vstudio/default.aspx

■前スレ
Visual Studio 2008 Part 21
http://peace.2ch.net/test/read.cgi/tech/1290969016/

■リンク
Visual Studio 2008に搭載された17の新機能
ttp://www.atmarkit.co.jp/fdotnet/special/visualstudio2008_01/visualstudio2008_01_01.html
5000個のバグと戦った、MSが「Visual Studio 2008」RTM出荷
ttp://www.atmarkit.co.jp/news/200711/20/vs.html

■関連
Visual Studio 2013 part4
http://peace.2ch.net/test/read.cgi/tech/1404333757/
Visual Studio 2012 Part8
http://peace.2ch.net/test/read.cgi/tech/1392639689/
Visual Studio 2010 Part21
http://peace.2ch.net/test/read.cgi/tech/1412136476/
Visual Studio 2005 Part 27
http://peace.2ch.net/test/read.cgi/tech/1291513609/

その他テンプレ>2-5

Visual Studio 2008 Part 22



【pc】





スレッドの最初から全部を見る 人気スレッドリスト

外国語アレルギーの方に朗報!
2ちゃブで外国語を楽しく学ぼう!





209 デフォルトの名無しさん
2018/09/16(日) 08:29:03.14 ID:zL1WUjLu

195
FPU control registor については何故か安定した結果を得られていない。
インラインアセンブラは以下の通りで、

#pragma unmanaged
inline void fpu_getcw(unsigned short* cw) {
__asm{
fnstcw [cw];
}
}
#pragma managed

これを norm = calc_norm_and_regulate( ... ) の直前/直後に配置して読み出し、
同様にコンソール出力すると、以下となる。
また、IDEで起動した場合は、「レジスタ」で見れる。
なお定義は以下の通り。
[9:8]に対し、
0x00 : 単精度(24bit)
0x01 : reserved
0x10 : 倍精度(53bit)
0x11 : 拡張倍精度(64bit)
[11:10]に対し
0x00 : 最近値
0x01 : 切り捨て
0x10 : 切り上げ
0x11 : 0方向への切り捨て

210 デフォルトの名無しさん
2018/09/16(日) 08:29:57.53 ID:zL1WUjLu

195
直後のみに配置:
0x027F (倍精度) = Debug(IDE起動)のIDE内表示、Release(IDE起動)のIDE内表示、
0x03a5 (拡張倍精度) = Debug(IDE起動)、Release(IDE起動)、
0x3fdc (拡張倍精度) = Debug(コマンドプロンプト)、
0xf280, 0xf290, 0xf160, 0xf010等、不安定 = Release(コマンドプロンプト)

直前のみに配置:
直後のみと同じ結果。(つまり『何故か』安定している)
Release(コマンドプロンプト)は不安定なのも同じ。

直前と直後に配置:
直前側は当然不安定になる。
直後側は「直後のみ」の結果と同じ。(Release(コマンドプロンプト)は不安定なのも同じ)

雰囲気からすると、IDE内表示は当てにならず、
命令自体は rdtsc と同じで非同期に実行されている雰囲気だが、
rdtsc命令の注意書きにある「シリアル化命令ではない」という但し書きが無く、状況は不明。
正直、正しく読み出せているか怪しい。(あてにならない)
これらから推測すると、暫定的には以下。

拡張倍精度 = Debug(IDE起動)、Release(IDE起動)、Debug(コマンドプロンプト)、
不明 = Release(コマンドプロンプト)


以上が195その他に対する回答。
これから199その他について確認する。

211 デフォルトの名無しさん
2018/09/16(日) 12:52:37.56 ID:haV9TZ8e

210
興味深い結果だ。

212 デフォルトの名無しさん
2018/09/16(日) 13:21:26.16 ID:haV9TZ8e

210
>命令自体は rdtsc と同じで非同期に実行されている雰囲気だが、
>rdtsc命令の注意書きにある「シリアル化命令ではない」という但し書きが無く、状況は不明。
>正直、正しく読み出せているか怪しい。(あてにならない)

インラインアセンブラを使わずに、

_control87(), _controlfp() : Get and set the floating-point control word.

unsigned int _control87( unsigned int new, unsigned int mask );
unsigned int _controlfp( unsigned int new, unsigned int mask );

を使ってみたらどうなる?

213 デフォルトの名無しさん
2018/09/16(日) 13:31:15.50 ID:Q5j4SiHR

win32コンソールなら結果が同じ。 もう理由は分かったのに何が問題なんだ?こんなの何の影響もないだろう。

214 デフォルトの名無しさん
2018/09/16(日) 13:33:14.92 ID:zL1WUjLu

199
再現実験ありがとう。
しかし色々問題がある。

1. 俺は起動方法による違いについてフォーカスしているが、
 君はRelease/Debugの違いにフォーカスしている。
2. VC++2008では再現しない。(VC++2010では再現する)
3. ソース改変しすぎ。それでは意味がない。
4. 207の結論は間違い。

まず問題なのはソースの改変だ。
ループ回数を16回と決め打ちしたことで 8*2 に展開されている。
その結果、元のソース(俺が遭遇した状況)では発生しえないことが発生している。
これでは意味がない。

そして、君の結論は間違いだ。
× > ウンコみたいな最適化で演算の順序が入れ替わったせいで、誤差が発生しているものと考えられる
逆アセンブルを追えば分かるが、演算順序は入れ替わっていない。
原因は、Debugでは fld/fmul/fadd/fstp と毎回64bitに整形されるのに対し、
Releaseでは (fld/fmul/fadd)*8 + fstp と整形が8回に1回と減り、
8回は80bit(拡張倍精度)で演算されるからだ。
(こうなったのは君が16回ループ決め打ちコードに改変したから)
ただしIDE上の fpu control registor の値は 相変わらず0x027F(倍精度)となっており、
IDEのこの表示が当てにならない事は分かる。

なおVC++2008では再現しなかった。
俺の環境では、16回決め打ちコードでも 8*2 に展開されず、Debugと同じコードだからだ。
勿論結果も同じだった。

215 デフォルトの名無しさん
2018/09/16(日) 13:33:48.22 ID:zL1WUjLu

199
問題は、俺の環境で俺が提供したコード192だと、
同様に展開されないにも関わらず、『起動方法によって』結果が異なってしまう点だ。
俺の環境でのRelease/Debugの逆アセンブル結果のdiffは以下。
17c17
< 0000000c cmp dword ptr ds:[001C2E14h],0
---
> 0000000c cmp dword ptr ds:[00702E14h],0
19c19
< 00000015 call 68302BA9
---
> 00000015 call 683A5AB1
93c93
< 0000015a call FF6C3098
---
> 0000015a call FFCA57E8
98c98
< 0000016f push 0B5311Ch
---
> 0000016f push 0D03188h
104,105c104,105
< 00000183 push 4F9D68h
< 00000188 call FF6C30A4
---
> 00000183 push 2B71C0h
> 00000188 call FFCA57F4
アドレスの変更だけであり、君の結果
「ループ回数を決め打ちしたことによりアンローリングされ、一部の演算がx87精度で計算される」には該当しない。
そして、この状況でも結果が異なってしまうことが問題なのだ。

君は君が勝手に新しく作り込んだ問題に対し、間違った結論でお茶を濁したにすぎない。
君が知っているFPU関連のことはこちらも知っている上で、質問している。

216 デフォルトの名無しさん
2018/09/16(日) 13:53:17.67 ID:haV9TZ8e

214
なるほど、全く別の2つの理由で、精度が変わっている可能性(というより多分、確実)があると。

それは以下の2つ:

1. Debug版とRelease版では、最適化の結果、x87 FPU命令の使われ方が変わる。
  x87では、メモリに書き戻さずに st(0)~st(7)レジスタに入っている途中では、
 拡張倍精度の80BITで計算されるが、書き戻すとdoubleの場合でも64BITに丸め
 られる。なるべくメモリに書き戻さずにレジスタった方が高速なので、Release版
 では、80BITで計算される「期間」が多くなる。そのため、Debug版とRelese版では
 結果が僅かに違ってくる。

2. fpu control word が違っていて、st(0)~st(7)に入っていても、計算が
 80BITか、64BIT、32BITのどれで計算されるか異なったり、丸め方が四捨五入
 か、正負二種類の方向の切り捨てなどが変わっている。


そして、IDEから起動した場合と、コマンドラインから起動した場合で結果が違う
のは、「2.」の理由によるものではないかと。そして、実際に、インラインアセンブラ
で fpu control word を読み取ってみると、不安定な値が読み出されたと。

217 デフォルトの名無しさん
2018/09/16(日) 13:58:15.86 ID:haV9TZ8e

まず、
__asm{
 fnstcw [cw];
}
ではなく、_control87() を使ってみて欲しい。

インラインアセンブラは、独立した *.asm で書くより危険な場合が
あるかも知れないので。特にC関数の引数、今の場合は、「cw」を
インライン・アセンブラで用いた場合、正しいコードが出ているかどうか
は注意が必要。

218 デフォルトの名無しさん
2018/09/16(日) 14:05:28.41 ID:haV9TZ8e

209
よく見ると、それは、かなり複雑な事情が絡みそうなコード。
以下のようにした方が安心。なお、「cw」という短すぎる引数名
も長年のプログラミング経験からすると、インラインアセンブラでは
怖い。また、

TTTT reg,引数名

TTTT 引数名
は大丈夫でも、
TTTT reg,[引数名]

TTTT [引数名]
は1命令では不可能な事をコンパイラに指示している事になるので
ちょっと怖い。間接の間接、つまり、[[ebp+8]]みたいな事を要求
しているが、そんなオペランドが使えるアセンブリ命令はx86/x64
では存在しないので。


#pragma unmanaged
inline void fpu_getcw(unsigned short *pCW) {
 __asm{
  mov edx,pCW
  fnstcw [edx];
 }
}
#pragma managed

219 デフォルトの名無しさん
2018/09/16(日) 14:17:40.34 ID:haV9TZ8e

あ、後、インライン・アセンブラで実験する場合は、関数名の inline は
「取った」方がいい。つまり、以下の方が安心:

#pragma unmanaged
void fpu_getcw(unsigned short *pCW) {
 __asm{
  mov edx,pCW
  fnstcw [edx];
 }
}
#pragma managed

220 デフォルトの名無しさん
2018/09/16(日) 15:23:18.78 ID:h8nMbN0G

また基本に戻るが、193で/MDになってるので
/MTや/MTdでも発生するかしてみた方がいい

221 デフォルトの名無しさん
2018/09/16(日) 15:37:02.44 ID:Q5j4SiHR

.netはx87コンテキストをすべて保持しませんって分かったんだからもう十分。
win32かx64にすれば解決。そもそも問題になる仕様バグじゃない。

222 デフォルトの名無しさん
2018/09/16(日) 15:40:56.17 ID:haV9TZ8e

220
ホントだ。/MDだと、Runtime Library として DLL のものを使ってしまう。
これは、今回の現象に非常に重要な影響を与えているかも知れない。

223 デフォルトの名無しさん
2018/09/16(日) 15:42:36.82 ID:haV9TZ8e

221
いや、まだまだ興味深い。
ここで終わらせずにもっと徹底して追及すべきだ。

224 デフォルトの名無しさん
2018/09/16(日) 15:48:45.63 ID:zL1WUjLu

212
それはどうやらclrでは使えないらしい。
> These functions are ignored when you use /clr (Common Language Runtime Compilation) or /clr:pure to compile
> because the common language runtime (CLR) only supports the default floating-point precision.
> https://msdn.microsoft.com/en-us/library/e9b52ceh.aspx

とはいえ無理矢理やってみた。警告は出るがコンパイルは通る。
結果は、どこに置いても、Debug/Releaseでも、常に 0x9001f が読み出される。
ただし、これは上記の仕様からして、当てにならない。

225 デフォルトの名無しさん
2018/09/16(日) 15:49:44.99 ID:zL1WUjLu

219
218のコードで試してみた結果、209で言った不安定さはなくなり、
全てにおいて 0x027f が安定して読み出せるようになった。

ただしその過程で気づいたが、
IDEから起動した場合はReleaseビルドであっても、「未初期化のスタック値」も0x00が読み出せるようだ。
どうやらこれが原因の可能性が出てきた。(はっきり言って俺のバグだが)

コードは以下の通りだが、
unsigned short fpu_cw, fpu_cw_after;
// fpu_getcw(&amp;fpu_cw);
double norm = calc_norm_and_regulate(count, inputs, false);
fpu_getcw(&amp;fpu_cw_after);
Console::Write(String::Format("{0:D}, 0x{0:x4}\r\n",fpu_cw));
Console::Write(String::Format("{0:D}, 0x{0:x4}\r\n",fpu_cw_after));
読み出しと書き出し(Console::Write)を両方ともコメントアウトするのが面倒なので、
色々試す際、読み出しだけコメントアウトし、不定を表示させて脳内で省略していたのだが、
IDEから起動した場合はReleaseビルドであっても必ず0x0000が表示される事に気づいた。

上記『初期化していない』 fpu_cw を
Releaseビルドをコマンドプロンプトから実行: 不定
ReleaseビルドをIDEから実行: 常に0x0000
となる。
実行前にあらかじめスタック領域を0fillでもしているのか?
まあこれに当たっているのなら確実に俺のバグだし、これなら辻褄は合ってしまうのだが。

226 デフォルトの名無しさん
2018/09/16(日) 15:51:01.50 ID:zL1WUjLu

219
なお、逆アセンブルでコードバイトを表示させて確かめることは出来る。
正しいコードは出ている。(ただし不安定)
inline void fpu_getcw(unsigned short* cw) {
00DA1540 55 push ebp
00DA1541 8B EC mov ebp,esp
__asm{
fnstcw [cw];
00DA1543 D9 7D 08 fnstcw word ptr [cw]
}
}
00DA1546 5D pop ebp
00DA1547 C3 ret

fnstcwは D9 /7 で 7D なら [EBP+disp8] となり、 7D 08 は [EBP+08] となる。
つまりスタックポインタ+8の領域に書き戻せ、となる。
[ebp+0]は元のebpが入っているから、(pushしているので)
[ebp+4]にcallの戻り値アドレス
[ebp+8]にcw(第一引数)が入っていることになる。
これは正しいコードだ。
しかし再度試したが、確かに不安定だ。何故かは分からん。
inline取ってみても不安定のまま。

> そんなオペランドが使えるアセンブリ命令はx86/x64
> では存在しないので。
正直、/7の意味が分からないのだが、説明は
> /digit - 0 から7 までの数字で、命令のModR/M バイトがr/m(レジスタまたはメモリ)オペランドだけを使用することを示す。
> reg フィールドには、命令のオペコードを拡張する数字が入っている。(Intelのマニュアルより)
となっているのだが、これはどういう意味だ?
ModR/Mバイトが全部使えるとすると [ebp+disp8]出来ることになる。そしてそのコードは出ている。
ただし、動作は怪しいのも事実。
ModR/Mの一部しか使えない、ということか?

227 デフォルトの名無しさん
2018/09/16(日) 15:51:25.16 ID:zL1WUjLu

219
218のコードだと、
00381002 EC in al,dx
__asm{
mov edx,pCW
00381003 8B 55 08 mov edx,dword ptr [pCW]
fnstcw [edx];
00381006 D9 3A fnstcw word ptr [edx]
}
}
00381008 5D pop ebp
00381009 C3 ret

D9 3A ならまんま fnstcw [edx] だ。
理由は分からんがこちらだと安定しているので、結果としてはこのやり方が正しい。

228 デフォルトの名無しさん
2018/09/16(日) 16:02:47.64 ID:haV9TZ8e

226
をを。やはり、ある意味ではVCが間違ったアセンブリコードを出していたよ。
それだと、
fnstcw [EBP+08]
という意味になってしまって、
fnstcw pCW
の意味になっている。つまり:
pCW = control_word;
あなたが、やりたいのは、
*pCW = control_word;
だったのだから、アセンブリ・コードが間違ってる。

あなたが指示したのは、
fnstcw [pCW]
だった。実際に生成されたコードは、
fnstcw pCW
だった。

VC のインラインアセンブラは、エラーも出さずに間違ったコードを
出すことが証明された。

これと、精度が不安定な問題とは全く別ではあるけれど。

229 デフォルトの名無しさん
2018/09/16(日) 16:06:05.39 ID:zL1WUjLu

すまん、間違いの修正

225
× > どうやらこれが原因の可能性が出てきた。(はっきり言って俺のバグだが)
× > まあこれに当たっているのなら確実に俺のバグだし、これなら辻褄は合ってしまうのだが。

今回は俺はあくまで俺の本番コードのデバッグを念頭に置いていて、この発言だった。
ただし192の再現コードで『不定スタック領域』を掴んでいるわけもなく、
一応IDE起動とコマンドプロンプト起動での挙動の違いを再現出来ているわけだから、
これだけが問題ではないのも事実だ。

俺にとっては一つ新しい知見として、
・IDEから起動した場合、スタックが初期化されるっぽい
ということが分かった。とはいえOSは0fillしてから各プロセスにメモリを与えるので、実際は、
・コマンドプロンプト起動ならmain前に設定した続きでそのまま実行、
・IDE起動ならmain前に色々やって0fillして実行、
 或いはmain前に色々やることが多く、スタックが進み、(例えばデバッガをアタッチする為)
 結果的にOSが初期化済みの領域から始動
となって違いが発生するというところか。

230 デフォルトの名無しさん
2018/09/16(日) 16:11:52.18 ID:haV9TZ8e

226
>正直、/7の意味が分からないのだが、
ModRM とは、

mod reg r/m
76 543 210

のようなオペランドを指しているのだけど、/7 は、regの部分を2進数の111、
10進数の「7」にするという意味。このタイプのマシン語は、
mod ttt r/m
とも書かれる。tttの部分は、命令の主幹部分(ニモニック部分)によって変わる。
普通は、レジスタ番号を入れるところに、命令の種類を表す3BITの値を入れる
仕様になっている。

あなたがインラインアセンブラでVCに出させたかったコードは、意味的には、

fnstcw [[EBP+08]]

なのだが、[ ] を二重にしたようなそんなx86/x64命令は存在しないので
VC がエラーも出さずに勝手に一重の
fnstcw [EBP+08]
にしてしまった、という事。本当は、

mov edx,[EBP+08]
fnstcw [edx]

というコードにしなくてはならなかったのに、VCがある意味では間違った。
これが、単独の *.asm ではなく、VC の asm {・・・} が危険な理由。
VC の asm は特に危険。

231 デフォルトの名無しさん
2018/09/16(日) 16:17:02.07 ID:haV9TZ8e

229
>ただし192の再現コードで『不定スタック領域』を掴んでいるわけもなく、
>一応IDE起動とコマンドプロンプト起動での挙動の違いを再現出来ているわけだから、
>これだけが問題ではないのも事実だ。

そうだよ。精度が変わるのはあなたの間違いではない。スタック領域が0クリア
されようがれまいが、あなたのコード自体には特に不安定さはない。
非初期化領域を参照しているコードは見当たらないし。

232 デフォルトの名無しさん
2018/09/16(日) 16:20:22.27 ID:haV9TZ8e

逆アセンブラ結果を見てないで言うけど、もし、sqrt() が call文で関数呼び出し
されているんだったら、そこで精度の違いが出てるかもしれない。

233 デフォルトの名無しさん
2018/09/16(日) 16:23:20.75 ID:zL1WUjLu

228
なるほど、了解した。
つまり、210は全面的に間違いで、正しくは、

・fpu control register は 0x027F で、IDEからも正しく読めている

だな。


俺がやるべきだったのは fnstcw [[cw]] なのだと思うが、これはSyntaxErrorだ。
そして、こんな命令はないから、
[]内に変数を書かず、レジスタ名にしろ、ということだったのだな。
全くもって了解だ。

VCの問題ではなくて、
俺が fnstcw [cw] と書いたのが間違いで、それをそのままコードにされてしまっただけだな。
正しく書けばSyntaxErrorだったのだし。
なお fnstcw [*cw] もSyntaxErrorだ。手動で一旦レジスタに移さないと駄目だな。
全くもって219のコードが正しい。

234 デフォルトの名無しさん
2018/09/16(日) 16:35:08.59 ID:LrdaMWHl

233
>俺がやるべきだったのは fnstcw [[cw]] なのだと思うが、これはSyntaxErrorだ。

ちょっと違う。あなたはやるべきことをちゃんと正しく、
fnstcw [cw]
と書いた。しかし、cw=[ebp+8]なので、これは、
fnstcw [[ebp+8]]
という「意味」になる。でも、x86/x64のマシン語にはこんな[ ]を二重にした
オペランドは存在しないので、VCが無断で勝手に[ ]を一重にして、
fnstcw [ebp+8]
に改変してしまった。

**(ebp+8) = control_word;

としなくてはならないのに、VCが勝手に、
*(ebp+8) = control_word;

としたということ。

235 デフォルトの名無しさん
2018/09/16(日) 16:36:04.13 ID:zL1WUjLu

230-231
了解だ。ありがとう。

232
その部分の逆アセンブラは以下の通り。
普通にcallされている。(行数オーバーなので切るが)

ただし、
> そこで精度の違いが出てるかもしれない
との繋がりがよくからない。
sqrt()でcallされると、スタックが改変される。おそらくデータ依存か?
なら未初期化のスタックを掴みに行っているコードが有ればバグる。
ただし今回の『再現コード』はこの限りではない。
(俺の本番コードはさておき)

236 デフォルトの名無しさん
2018/09/16(日) 16:37:19.30 ID:zL1WUjLu

232
逆アセンブラ

for (int i=0;i 00000033 33 D2 xor edx,edx
00000035 89 55 E8 mov dword ptr [ebp-18h],edx
00000038 90 nop
00000039 EB 03 jmp 0000003E
0000003b FF 45 E8 inc dword ptr [ebp-18h]
0000003e 8B 45 E8 mov eax,dword ptr [ebp-18h]
00000041 3B 45 FC cmp eax,dword ptr [ebp-4]
00000044 7D 1B jge 00000061
00000046 8B 45 F8 mov eax,dword ptr [ebp-8]
00000049 8B 55 E8 mov edx,dword ptr [ebp-18h]
0000004c DD 04 D0 fld qword ptr [eax+edx*8]
0000004f 8B 45 F8 mov eax,dword ptr [ebp-8]
00000052 8B 55 E8 mov edx,dword ptr [ebp-18h]
00000055 DC 0C D0 fmul qword ptr [eax+edx*8]
00000058 DC 45 F0 fadd qword ptr [ebp-10h]
0000005b DD 5D F0 fstp qword ptr [ebp-10h]
0000005e 90 nop
0000005f EB DA jmp 0000003B
norm = sqrt(norm);
00000061 DD 45 F0 fld qword ptr [ebp-10h]
00000064 83 EC 08 sub esp,8
00000067 DD 1C 24 fstp qword ptr [esp]
0000006a E8 0D 50 7B FF call FF7B507C
0000006f DD 5D D8 fstp qword ptr [ebp-28h]
00000072 DD 45 D8 fld qword ptr [ebp-28h]
00000075 DD 5D F0 fstp qword ptr [ebp-10h]

237 デフォルトの名無しさん
2018/09/16(日) 16:37:34.94 ID:zL1WUjLu

232
逆アセンブラ(続き)

if (regulate) for (int i=0;i 00000078 0F B6 45 08 movzx eax,byte ptr [ebp+8]
0000007c 85 C0 test eax,eax
0000007e 74 25 je 000000A5
00000080 33 D2 xor edx,edx
00000082 89 55 EC mov dword ptr [ebp-14h],edx
00000085 90 nop
00000086 EB 03 jmp 0000008B
00000088 FF 45 EC inc dword ptr [ebp-14h]
0000008b 8B 45 EC mov eax,dword ptr [ebp-14h]
0000008e 3B 45 FC cmp eax,dword ptr [ebp-4]
00000091 7D 12 jge 000000A5
00000093 8B 45 F8 mov eax,dword ptr [ebp-8]
00000096 8B 55 EC mov edx,dword ptr [ebp-14h]
00000099 DD 45 F0 fld qword ptr [ebp-10h]
0000009c DC 3C D0 fdivr qword ptr [eax+edx*8]
0000009f DD 1C D0 fstp qword ptr [eax+edx*8]
000000a2 90 nop
000000a3 EB E3 jmp 00000088
return norm;
000000a5 DD 45 F0 fld qword ptr [ebp-10h]
000000a8 DD 5D E0 fstp qword ptr [ebp-20h]

238 デフォルトの名無しさん
2018/09/16(日) 16:40:36.14 ID:LrdaMWHl

235
よく見ると、最小(?)の実験コードでは sqrt() が使われていなかった。
スマン。

239 デフォルトの名無しさん
2018/09/16(日) 16:42:54.99 ID:zL1WUjLu

234
ああ、なるほど、了解。

240 デフォルトの名無しさん
2018/09/16(日) 16:49:54.65 ID:zL1WUjLu

238
いや、俺が提供した192のソースなら使われてるぞ。
201のソースでは使われてないが。

ただまあ、彼(200)がsqrtを落としたのも分からなくはない。
誤差が生じる=通常は桁落ちだから、この場合は当然積和部分が怪しい。
あらかじめ彼はそうなると分かっていてそれを落とし、予定調和的な結論にたどり着いてしまった。
それが彼の間違いだった、ということ。

俺は出来るだけ元のソースのままで追跡しようとしている。
元のソースの該当ケースと離れてしまっては意味がないから。
そして元ソースではsqrtを使っている。

241 デフォルトの名無しさん
2018/09/16(日) 16:53:58.12 ID:/oSJzlqn

たぶん2008の最適化ミスだと思う。
static double norm = 0;// ←"static"を追加する
にするとか、最適化オプションをいじると
Release/コマンドプロンプトからの起動でも
0x1ff68ddfb62221ddになる

242 デフォルトの名無しさん
2018/09/16(日) 16:54:10.71 ID:LrdaMWHl

238
ああ。また訂正。

sqrt()が使われていないのは、201, 202, 203, 204 の場合で、
それは、ループ内にfprintf()を入れた場合と入れない場合とで、
x87 fpuレジスタのst(0)~st(7)を使う「期間」が変わるために 80BITから
64BITへの書き戻し丸めの問題のために精度が変わっているだけだった。

一方、あなたが指摘した 192 では、ちゃんと sqrt() 関数が使われていて、
それだと、IDEからの起動とコマンド・プロンプトからの起動とで、精度が変
わってくると。そして、その場合の逆アセンブル結果は 236 のように
sqrt() 関数がその場で x87 fpu の fsqrt 命令を使わずに、call 文によって
実際に本当のサブ・ルーチンを呼び出していると。

これはとても興味深い。そのサブ・ルーチンの中が、時と場合によって
精度が変わってくるような書き方をされている可能性が見えてきた。

243 デフォルトの名無しさん
2018/09/16(日) 16:56:42.67 ID:LrdaMWHl

240
>いや、俺が提供した192のソースなら使われてるぞ。
> 201のソースでは使われてないが。

了解。

問題を切り分けるため、sqrt() を使わなかった場合の Release版での、
IDE起動とコマンドrライン起動の精度の違いを実験してみて欲しい。

244 デフォルトの名無しさん
2018/09/16(日) 17:02:35.56 ID:LrdaMWHl

ちょっとしばらく、ここを離れる。

245 デフォルトの名無しさん
2018/09/16(日) 17:22:07.21 ID:zL1WUjLu

241
現象確認した。こちらでも再現した。
逆アセンブルは、以下。(肝心のループ部分は次レス内)

正直、fld/fmul/fadd/fstpのループ部分は変わらず、
normのアドレスが [ebp-10h](つまりローカル)から
ds:[00A4AD40h](つまりグローバル)に変わっただけであり、
これで結果が変わるのはかなり奇妙な気もするが、何か見落としがあるのかも。

241逆アセンブル(static付加版)
template static double calc_norm_and_regulate(int num, T* r, bool regulate){ // for debug.
static double norm = 0;
for (int i=0;i 00000000 55 push ebp
00000001 8B EC mov ebp,esp
00000003 83 EC 20 sub esp,20h
00000006 89 4D FC mov dword ptr [ebp-4],ecx
00000009 89 55 F8 mov dword ptr [ebp-8],edx
0000000c 83 3D 14 2E 38 00 00 cmp dword ptr ds:[00382E14h],0
00000013 74 05 je 0000001A
00000015 E8 FF 52 30 68 call 68305319
0000001a 33 D2 xor edx,edx
0000001c 89 55 F0 mov dword ptr [ebp-10h],edx
0000001f 33 D2 xor edx,edx
00000021 89 55 F4 mov dword ptr [ebp-0Ch],edx
00000024 D9 EE fldz
00000026 DD 5D E8 fstp qword ptr [ebp-18h]
00000029 33 D2 xor edx,edx
0000002b 89 55 F0 mov dword ptr [ebp-10h],edx
0000002e 90 nop
0000002f EB 03 jmp 00000034

246 デフォルトの名無しさん
2018/09/16(日) 17:22:29.32 ID:zL1WUjLu

241逆アセンブル(続き)(static付加版)

00000031 FF 45 F0 inc dword ptr [ebp-10h]
00000034 8B 45 F0 mov eax,dword ptr [ebp-10h]
00000037 3B 45 FC cmp eax,dword ptr [ebp-4]
0000003a 7D 21 jge 0000005D
0000003c 8B 45 F8 mov eax,dword ptr [ebp-8]
0000003f 8B 55 F0 mov edx,dword ptr [ebp-10h]
00000042 DD 04 D0 fld qword ptr [eax+edx*8]
00000045 8B 45 F8 mov eax,dword ptr [ebp-8]
00000048 8B 55 F0 mov edx,dword ptr [ebp-10h]
0000004b DC 0C D0 fmul qword ptr [eax+edx*8]
0000004e DC 05 40 AD A4 00 fadd qword ptr ds:[00A4AD40h]
00000054 DD 1D 40 AD A4 00 fstp qword ptr ds:[00A4AD40h]
0000005a 90 nop
0000005b EB D4 jmp 00000031
norm = sqrt(norm);
0000005d DD 05 40 AD A4 00 fld qword ptr ds:[00A4AD40h]
00000063 83 EC 08 sub esp,8
00000066 DD 1C 24 fstp qword ptr [esp]
00000069 E8 0E 50 88 FF call FF88507C
0000006e DD 5D E0 fstp qword ptr [ebp-20h]
00000071 DD 45 E0 fld qword ptr [ebp-20h]
00000074 DD 1D 40 AD A4 00 fstp qword ptr ds:[00A4AD40h]

247 デフォルトの名無しさん
2018/09/16(日) 17:22:46.06 ID:zL1WUjLu

241逆アセンブル(続き)(static付加版)
if (regulate) for (int i=0;i 0000007a 0F B6 45 08 movzx eax,byte ptr [ebp+8]
0000007e 85 C0 test eax,eax
00000080 74 28 je 000000AA
00000082 33 D2 xor edx,edx
00000084 89 55 F4 mov dword ptr [ebp-0Ch],edx
00000087 90 nop
00000088 EB 03 jmp 0000008D
0000008a FF 45 F4 inc dword ptr [ebp-0Ch]
0000008d 8B 45 F4 mov eax,dword ptr [ebp-0Ch]
00000090 3B 45 FC cmp eax,dword ptr [ebp-4]
00000093 7D 15 jge 000000AA
00000095 8B 45 F8 mov eax,dword ptr [ebp-8]
00000098 8B 55 F4 mov edx,dword ptr [ebp-0Ch]
0000009b DD 05 40 AD A4 00 fld qword ptr ds:[00A4AD40h]
000000a1 DC 3C D0 fdivr qword ptr [eax+edx*8]
000000a4 DD 1C D0 fstp qword ptr [eax+edx*8]
000000a7 90 nop
000000a8 EB E0 jmp 0000008A
return norm;
000000aa DD 05 40 AD A4 00 fld qword ptr ds:[00A4AD40h]
000000b0 DD 5D E8 fstp qword ptr [ebp-18h]
}
000000b3 DD 45 E8 fld qword ptr [ebp-18h]
000000b6 8B E5 mov esp,ebp
000000b8 5D pop ebp
000000b9 C2 04 00 ret 4

248 デフォルトの名無しさん
2018/09/16(日) 17:35:35.70 ID:zL1WUjLu

243
まだ異なった出力が得られた。
この意味では200がsqrtを外した判断は正しかった。
(彼はそこからさらにループ回数を固定してしまったのが間違いだった)

191ソースを以下に変更した。(sqrtをコメントアウト)
ついでに Console::Write(String::Format("{0:E6}, {0:E30}\r\n",norm)); の出力も付けておく。

ソース:
template static double calc_norm_and_regulate(int num, T* r, bool regulate){ // for debug.
double norm = 0;
for (int i=0;i // norm = sqrt(norm);
if (regulate) for (int i=0;i return norm;
}

結果:(Releaseビルド/コマンドプロンプトからの起動)
0.000000, 0x0007f2c44dfff8f2
1.105348E-308, 1.105348254058510600000000000000E-308

結果:(Releaseビルド/IDEからの起動、Debugビルドは起動方法によらずこちら)
0.000000, 0x0007f2c44dfff8f1
1.105348E-308, 1.105348254058510100000000000000E-308


244
了解。いずれにしても助かってる。
こちらも後30分くらいでちょっと離れる予定。

249 デフォルトの名無しさん
2018/09/16(日) 18:30:34.19 ID:HF0YmRsW

213
ほんそれ

250 デフォルトの名無しさん
2018/09/16(日) 20:54:27.39 ID:zL1WUjLu

241
さて再見したが、やはりstaticだけで直る理由は分からない。
なお、最適化ミスの場合は、逆アセンブラを読めば分かる。
今のところそれではない。

一応、192ソースのtemplate部の逆アセンブルを上げておく。(ただし重複するので頭のみ)
頭はこれ。続きが236,237。

template static double calc_norm_and_regulate(int num, T* r, bool regulate){ // for debug.
double norm = 0;
00000000 55 push ebp
00000001 8B EC mov ebp,esp
00000003 83 EC 28 sub esp,28h
00000006 89 4D FC mov dword ptr [ebp-4],ecx
00000009 89 55 F8 mov dword ptr [ebp-8],edx
0000000c 83 3D 14 2E 76 00 00 cmp dword ptr ds:[00762E14h],0
00000013 74 05 je 0000001A
00000015 E8 FF 52 1B 68 call 681B5319
0000001a 33 D2 xor edx,edx
0000001c 89 55 E8 mov dword ptr [ebp-18h],edx
0000001f 33 D2 xor edx,edx
00000021 89 55 EC mov dword ptr [ebp-14h],edx
00000024 D9 EE fldz
00000026 DD 5D F0 fstp qword ptr [ebp-10h]
00000029 D9 EE fldz
0000002b DD 5D E0 fstp qword ptr [ebp-20h]
0000002e D9 EE fldz
00000030 DD 5D F0 fstp qword ptr [ebp-10h]

251 デフォルトの名無しさん
2018/09/16(日) 21:25:23.90 ID:zL1WUjLu

220
222
/MTと/clrは同時に指定出来ないらしい。(error D8016)
/MTdも同じく無理。

もう一つ /MDd ってのがあるから試してみた。

/MDdの結果:
Releaseビルドでコマンドプロンプト起動の時のみ ****de、
ReleaseビルドでIDEからの起動だと ***dd。(Debugビルドは起動方法を問わずこっち)
(/MDと全く挙動は同じ)


これで有効な指摘については全て回答してるかな?
見落としが有れば指摘よろしく。
(規制に引っかかったので遅くなってすまん)


今のところ、可能性があるのは以下か?

・Releaseビルドをコマンドプロンプトから起動したときのみなぜか精度が高い
 (201から結果的に検出された。今のところ精度が高いときと同じ挙動をしている為)
・ReleaseビルドもIDEから起動すれば結果的にスタックが0初期化されている状態になっており、
 俺の本番プログラムに関してはここに当たるバグがある?(229)
 (ただしこれは192には該当しない)

252 240
2018/09/16(日) 21:43:04.47 ID:/oSJzlqn

.netの場合、デバッガ配下では(デバッグのため)違うコードを実行しているような気がする。
デバッガの逆アセンブル表示とかasm出力はあまり当てにならないような気もする。
ループ部分だけど、レジスタのみで処理するか、メモリを使用するかで精度が変わるのかも。
そもそも、どっちが正しいのかよくわからんけど...
ループ部分の関数を#pragma unmanagedすると結果が変わるでそれが正しいのかも。

253 240
2018/09/16(日) 21:43:27.78 ID:/oSJzlqn

static版
0000000e 33 C0 xor eax,eax
00000010 85 F6 test esi,esi
00000012 7E 16 jle 0000002A
00000014 DD 04 C7 fld qword ptr [edi+eax*8]
00000017 DC C8 fmul st(0),st
00000019 DC 05 00 30 CC 00 fadd qword ptr ds:[00CC3000h]
0000001f DD 1D 00 30 CC 00 fstp qword ptr ds:[00CC3000h]
00000025 40 inc eax
00000026 3B C6 cmp eax,esi
00000028 7C EA jl 00000014
0000002a DD 05 00 30 CC 00 fld qword ptr ds:[00CC3000h]

非static版
0000000e D9 EE fldz
00000010 33 C0 xor eax,eax
00000012 85 F6 test esi,esi
00000014 7E 0C jle 00000022
00000016 DD 04 C7 fld qword ptr [edi+eax*8]
00000019 DC C8 fmul st(0),st
0000001b DE C1 faddp st(1),st
0000001d 40 inc eax
0000001e 3B C6 cmp eax,esi
00000020 7C F4 jl 00000016

254 デフォルトの名無しさん
2018/09/16(日) 22:27:34.58 ID:zL1WUjLu

252
とりあえず落ち着け。一つずつ行こう。

> ループ部分の関数を#pragma unmanagedすると結果が変わるでそれが正しいのかも。
こちらでも確認した。
calc_norm_and_regulateをunmanaged関数にすると、違いはなくなる。
(Releaseビルドの`をコマンドプロンプトで起動した際にも、****ddの結果となる)

ただしこちらの逆アセンブル結果は以下だ。(fld/fmul/fadd/fstpであることに注意)
for (int i=0;i 0007272C C7 45 F4 00 00 00 00 mov dword ptr [i],0
00072733 EB 09 jmp `anonymous namespace'::calc_norm_and_regulate+1Eh (7273Eh)
00072735 8B 45 F4 mov eax,dword ptr [i]
00072738 83 C0 01 add eax,1
0007273B 89 45 F4 mov dword ptr [i],eax
0007273E 8B 4D F4 mov ecx,dword ptr [i]
00072741 3B 4D 08 cmp ecx,dword ptr [num]
00072744 7D 1A jge `anonymous namespace'::calc_norm_and_regulate+40h (72760h)
00072746 8B 55 F4 mov edx,dword ptr [i]
00072749 8B 45 0C mov eax,dword ptr [r]
0007274C 8B 4D F4 mov ecx,dword ptr [i]
0007274F 8B 75 0C mov esi,dword ptr [r]
00072752 DD 04 D0 fld qword ptr [eax+edx*8]
00072755 DC 0C CE fmul qword ptr [esi+ecx*8]
00072758 DC 45 F8 fadd qword ptr [norm]
0007275B DD 5D F8 fstp qword ptr [norm]
0007275E EB D5 jmp `anonymous namespace'::calc_norm_and_regulate+15h (72735h)

255 デフォルトの名無しさん
2018/09/16(日) 22:33:32.07 ID:zL1WUjLu

253
そちらの逆アセンブルは以下の違いが出てるだろ。
static版: fld/fmul/fadd/fstp
非static版: fld/fmul/faddp (fstpが無い)
この非static版の場合、拡張倍精度(80bit)で演算されるから精度が高いことになり、
static版との演算結果に違いが出るのも仕様通りなんだよ。(これは201と同じ間違い)

一応、fstpにも80bit版はあって、Intelのマニュアルによると以下。
> オペコード命令説明
> D9 /2 FST m32fp ST(0) をm32fp にコピーする。
> DD /2 FST m64fp ST(0) をm64fp にコピーする。
> DD D0+i FST ST(i) ST(0) をST(i) にコピーする。
> D9 /3 FSTP m32fp ST(0) をm32fp にコピーし、レジスタスタックをポップする。
> DD /3 FSTP m64fp ST(0) をm64fp にコピーし、レジスタスタックをポップする。
> DB /7 FSTP m80fp ST(0) をm80fp にコピーし、レジスタスタックをポップする。
> DD D8+i FSTP ST(i) ST(0) をST(i) にコピーし、レジスタスタックをポップする。
つまり君のstatic版
> 0000001f DD 1D 00 30 CC 00 fstp qword ptr ds:[00CC3000h]
では FSTP /3 m64fp [disp32] であり、そこで64bit(倍精度)に丸められてる。
だからレジスタ(80bit=拡張倍精度)で演算される非static版と結果が異なる。
static版のsftpが DB /7 m80fp なら誤差は出ないはずなんだよ。(Cでどう書くのかは知らん)

だから253の場合の誤差なら、仕様通りなんだよ。(片方が倍精度、もう片方は拡張倍精度)
ただし、192は逆アセンブル(236)を見る限りそれに該当しないし、(両方とも倍精度)
今回の俺の上記逆アセンブル(254、中身は君の指摘通りunmanagedにしただけ)も該当しない。(両方とも倍精度)
そして253は何故か直ってしまった。

256 デフォルトの名無しさん
2018/09/16(日) 22:34:16.44 ID:zL1WUjLu

253
> .netの場合、デバッガ配下では(デバッグのため)違うコードを実行しているような気がする。
> デバッガの逆アセンブル表示とかasm出力はあまり当てにならないような気もする。
これは俺も相当疑っているのだが、今のところ尻尾を掴めない。
ILspyだっけ?外部の逆アセンブルツール使えばチェック出来るのかな?

いずれにしても、252の指摘
・unmanagedにすれば直る
のも事実だし、逆アセンブルを見る限り、これを説明出来る理由もないのも事実。

257 240
2018/09/16(日) 23:13:48.62 ID:/oSJzlqn

> だから253の場合の誤差なら、仕様通りなんだよ。(片方が倍精度、もう片方は拡張倍精度)
そうなの? これが仕様通りならstatic版での違いは仕様通りということになる。
252はRelease版をコンソールで実行したときの逆アセンブル結果。
よって、Release版をコンソールで実行したときのみ(たまたま)レジスタ(80ビット)での演算になるので、
計算結果が変わるのはやむを得ないという結論になるのだが...

ちなみに、235はDebugモードでコンパイルし、デバッガ配下の逆アセンブル結果でしょ。

258 デフォルトの名無しさん
2018/09/16(日) 23:24:30.83 ID:zL1WUjLu

257
> 252はRelease版をコンソールで実行したときの逆アセンブル結果。
それはどうやって得たの?俺はそれが出来ないから困ってる。

> ちなみに、235はDebugモードでコンパイルし、デバッガ配下の逆アセンブル結果でしょ。
235は、IDE上でReleaseモードでF5で起動し、ブレークポイントを当てて止めて逆アセンブルした結果。
俺が貼ってる逆アセンブル結果は全てこの方法で、IDEで表示されているもの。
だからIDEの表示がおかしかったら話が全部おかしくなる。

君がIDEから独立して逆アセンブル出来ているのなら、その方法を知りたい。
こちらでも試す。


なおILSpy、グダグダ言わずに試してみたが、
当たり前だがmanaged code だとILが出る(x86ではない)ので、
俺って根本的に間違ってたかも?
今までx86のアセンブラで議論してたけど、これって .NET アプリには同梱されていないというオチ?
(まあその場合は君がやっている外部逆アセンブルが単純には出来ないはずなのだが)

259 240
2018/09/16(日) 23:35:36.48 ID:/oSJzlqn

"> 252はRelease版をコンソールで実行したときの逆アセンブル結果。
>それはどうやって得たの?俺はそれが出来ないから困ってる。
calc_norm_and_regulateの次の行に
System::Diagnostics::Debugger::Launch();
を入れてコンソールから実行すると just in time デバッグできるので、デバッガを選んだ後、
Visual Studioの 呼び出し履歴から calc_norm_and_regulate を探して移動する

"> ちなみに、235はDebugモードでコンパイルし、デバッガ配下の逆アセンブル結果でしょ。
>236は、IDE上でReleaseモードでF5で起動し、ブレークポイントを当てて止めて逆アセンブルした結果。

あれ? だとすると最適化していないのでは?
こちらの結果と違うのだが。

260 デフォルトの名無しさん
2018/09/16(日) 23:49:32.68 ID:SOVIz+sV

とりあえず、199に書いてあるとおり、元のコードで再現はしてるからな
その再現したコードと逆アセンブルした結果はあげとく

③-1 デフォルト設定(Release) 【コード】

#include "stdafx.h"
#include
#include
#include

using namespace System;

template static double calc_norm_and_regulate(int num, T* r, bool regulate){ // for debug.
   double norm = 0;
   for (int i = 0; i < num; i++) {
      norm += (double)r[i] * (double)r[i];
//      fprintf(stdout, "[0]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   }
   fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   norm = sqrt(norm);
   if (regulate)
      for (int i=0;i          r[i] = (T)(r[i]/norm);
   return norm;
}

261 デフォルトの名無しさん
2018/09/16(日) 23:50:40.20 ID:SOVIz+sV

③-1 デフォルト設定(Release) 【コード】(その2)

int main(array ^args)
{
   int count = 16;
   __int64 inputs_hex[16] = {
      0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1fedb1530240aa54,
      0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1ff0af0d95025bc3,
      0x1fc9353df6af376b, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
      0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000
   };
   double* inputs = (double*)inputs_hex;
   double norm = calc_norm_and_regulate(count, inputs, false);
   fprintf(stdout, "[2]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   // Console::Write(String::Format("{0:F6}, 0x{1:x16}\r\n",norm, *(__int64*)&amp;norm));
   // Release build
   // 0.000000, 0x1ff68ddfb62221dd from IDE
   // 0.000000, 0x1ff68ddfb62221de from command prompt
   return 0;
}

262 デフォルトの名無しさん
2018/09/16(日) 23:51:14.21 ID:SOVIz+sV

③-1 デフォルト設定(Release) 【実行結果】

↓このコードの逆アセンブルコード
https://ideone.com/Gf4qUQ

[1]0x0007F2C44DFFF8F2:1.1053482540585106e-308
[2]0x1FF68DDFB62221DE:1.051355436595308e-154

263 デフォルトの名無しさん
2018/09/16(日) 23:54:13.85 ID:SOVIz+sV

で、200に書いてあるとおり↓Debugビルドと同じ結果が再現された

> ↓この下に(ループ内に)fprintf文を入れるだけで
>  ReleaseビルドとDebugビルドが同じ実行結果になることが確認できた
> norm += (double)r[i] * (double)r[i];

③-2 デフォルト設定(Release) 【コード】(その1)

#include "stdafx.h"
#include
#include
#include

using namespace System;

template static double calc_norm_and_regulate(int num, T* r, bool regulate){ // for debug.
   double norm = 0;
   for (int i = 0; i < num; i++) {
      norm += (double)r[i] * (double)r[i];
      fprintf(stdout, "[0]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   }
   fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   norm = sqrt(norm);
   if (regulate)
      for (int i=0;i          r[i] = (T)(r[i]/norm);
   return norm;
}

264 デフォルトの名無しさん
2018/09/16(日) 23:54:58.60 ID:SOVIz+sV

③-2 デフォルト設定(Release) 【コード】(その2)

int main(array ^args)
{
   int count = 16;
   __int64 inputs_hex[16] = {
      0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1fedb1530240aa54,
      0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1ff0af0d95025bc3,
      0x1fc9353df6af376b, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
      0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000
   };
   double* inputs = (double*)inputs_hex;
   double norm = calc_norm_and_regulate(count, inputs, false);
   fprintf(stdout, "[2]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   // Console::Write(String::Format("{0:F6}, 0x{1:x16}\r\n",norm, *(__int64*)&amp;norm));
   // Release build
   // 0.000000, 0x1ff68ddfb62221dd from IDE
   // 0.000000, 0x1ff68ddfb62221de from command prompt
   return 0;
}

265 デフォルトの名無しさん
2018/09/16(日) 23:56:17.88 ID:SOVIz+sV

③-2 デフォルト設定(Release) 【実行結果】

↓このコードの逆アセンブルコード
https://ideone.com/E3Nxt8

↓実行結果を書き込めないからこっちに書き込んどいた
https://ideone.com/1cky6N

[1]0x0007F2C44DFFF8F1:1.1053482540585101e-308
[2]0x1FF68DDFB62221DD:1.0513554365953078e-154

以上だ

266 デフォルトの名無しさん
2018/09/16(日) 23:58:42.66 ID:zL1WUjLu

259
おお、そのやり方は知らなかった。大変助かった。ありがとう。
で、結果だが、253とは微妙に違うが、確かに拡張倍精度で計算されている。
逆アセンブル結果は、以下。

0000000e D9 EE fldz
for (int i=0;i 00000010 33 C9 xor ecx,ecx
00000012 EB 01 jmp 00000015
00000014 41 inc ecx
00000015 3B CE cmp ecx,esi
00000017 7D 0B jge 00000024
00000019 DD 04 CF fld qword ptr [edi+ecx*8]
0000001c D9 C0 fld st(0)
0000001e DE C9 fmulp st(1),st
00000020 DE C1 faddp st(1),st
00000022 EB F0 jmp 00000014
norm = sqrt(norm);
00000024 83 EC 08 sub esp,8
00000027 DD 1C 24 fstp qword ptr [esp]
0000002a E8 49 7C F2 FF call FFF27C78

とにかく、Releaseビルドをコンソールから起動した場合は拡張倍精度になってるのは分かった。
なら、ReleaseビルドをIDEから起動した場合は何を起動してるんだこれは?
Debugビルドとも微妙にアドレス等が違うんだが。

とはいえ、これは「そもそも色々間違っている」可能性が出てきたので、もう一度全体を見直す。
明日(だけで済むとも思えないが)確認し、整理してまた投稿する。

とにかくありがとう。これはだいぶインパクトがある。(はず)

267 デフォルトの名無しさん
2018/09/17(月) 00:49:10.27 ID:gBxGzBbQ

266
ideとconsoleで微妙に違うバージョンのvcruntimeがロードされてるとか?
process monitorで何が実行されて何がロードされてるか調べるとか?
あとはwindbgから起動したら、ideとconsoleのどちらの結果と一致するのか気になる。

268 デフォルトの名無しさん
2018/09/17(月) 01:06:37.11 ID:+dwRu2dr

262
だからそれは201と同じなんだよ。
その逆アセンブルでいうと、以下部分がメモリに出力されず、拡張倍精度で動作してるだろ。

00000281 fld qword ptr [ebp+FFFFFF14h]
00000287 fmul st,st(0)
00000289 fadd qword ptr [ebp+FFFFFF70h]
0000028f fld qword ptr [ebp+FFFFFF1Ch]
00000295 fmul st,st(0)
00000297 faddp st(1),st
00000299 fld qword ptr [ebp+FFFFFF24h]
0000029f fmul st,st(0)
000002a1 faddp st(1),st
000002a3 fld qword ptr [ebp+FFFFFF2Ch]
000002a9 fmul st,st(0)
000002ab faddp st(1),st
000002ad fld qword ptr [ebp+FFFFFF34h]
000002b3 fmul st,st(0)
000002b5 faddp st(1),st
000002b7 fld qword ptr [ebp+FFFFFF3Ch]
000002bd fmul st,st(0)
000002bf faddp st(1),st
000002c1 fld qword ptr [ebp+FFFFFF44h]
000002c7 fmul st,st(0)
000002c9 faddp st(1),st
000002cb fld qword ptr [ebp+FFFFFF4Ch]
000002d1 fmul st,st(0)
000002d3 faddp st(1),st
000002d5 fstp qword ptr [ebp+FFFFFF70h]

269 デフォルトの名無しさん
2018/09/17(月) 01:07:41.74 ID:+dwRu2dr

262(続き)
これは少なくとも「ループ回数が8の倍数である」事がコンパイラに見えないと出来ない最適化だ。
そうでなければ、例えばループ回数が6回や14回の時に、
最初の1回だけ 0299 に飛び込んで始める(頭の2回をスキップする)コードが必要になるが、
それは出てないだろ。

(そもそもこのアンローリングがx86的に意味があるのかも疑問だが)
一般的に、可変回数ループを展開すると、必ず上記の端切れ処理(キリが良くないときの処理)が必要になる。
だから「可変」だと確定しているのなら普通は展開しない。
つまり、一般的には、別関数でループ回数が引数で与えられてたら、その最適化はかからない。

今回ヒットするデータが偶々16回ループだっただけで、
俺の本番コードは可変で用いている為、
このようなアンローリングはされてない。(と思ってる。ただし265の通りもう一度確認必要)
こちらではデフォでそこまで最適化がかからないのでそちらの状況はよく分からないが、
その最適化がかかってるのなら、俺の本番コードとは違う状況で動いていることになる。(はず)
だから俺はその最適化がかからない範囲で議論してる。
それが俺が最初から別関数にしてた理由。(というか元のコードが別関数だからだが)


てゆうかマジでそれデフォのままか?
もしかして俺の環境がおかしくて、全く最適化されてないコードが出てる?

270 247
2018/09/17(月) 01:12:11.55 ID:yaPtorLJ

今、戻った。

席を離れて思ったが、多分、C++/CLI の場合、IDEでコンパイル後、
exeファイルになっても、unmanaged コード部分以外は、本質的には
.NETの共通中間言語(CIL、MSIL)になるだけで、x86のマシン語には
なってないと思う。一方、昔ながらの本当のC++では、exeの中身は、
本質的には、x86のマシン語が入っていた。

C++/CLIの場合、作成されたexeは、起動時に、中間言語がx86の
マシン語に直されてから実行される。その際、最適化の関係で、
どう直されるかが必ずしも一定していない。だから、IDEからの起動と、
コマンドラインからの起動で異なったx86命令に直されてしまう
のかも知れない。

出来たx86コードが、良く最適化された場合、x87 fpu命令を長きに
渡ってメモリに書き戻さずに、st(0)~st(7)のレジスタ上で演算し
続けられることになる。その場合、80BITの精度で計算される
期間が長くなる。

一方、x87 fpu命令に関する最適化が少し悪いか、悪くなくても命令の
使い方が変わってしまうと、80BIT(拡張double)から64BIT(double)へ
直されるタイミングや回数が変わる。

この両者では結果の精度が変わってくる。前者の方が後者より僅か
に精度が高くなる。

271 243=269
2018/09/17(月) 01:14:28.51 ID:yaPtorLJ

270
名前欄は、「247」ではなく「243」の間違いだった。

272 デフォルトの名無しさん
2018/09/17(月) 01:24:06.04 ID:yaPtorLJ

258
>なおILSpy、グダグダ言わずに試してみたが、
>当たり前だがmanaged code だとILが出る(x86ではない)ので、
>俺って根本的に間違ってたかも?
>今までx86のアセンブラで議論してたけど、これって .NET アプリには同梱されていないというオチ?

やはり、managed code部分は、x86命令では無く、ILにコンパイルされていて、
普通のC++とは違ってたんだ。

273 デフォルトの名無しさん
2018/09/17(月) 01:30:31.16 ID:yaPtorLJ

>calc_norm_and_regulateをunmanaged関数にすると、違いはなくなる。
>(Releaseビルドの`をコマンドプロンプトで起動した際にも、****ddの結果となる)

やはり。
unmanaged関数の場合は、CIL(MSIL)ではなく、exeの段階で既に
x86マシン語に直されたものが格納されるんだろう。だとすると、起動方法に
関係なく、少なくともその部分に関しては、x87 fpu命令の使われ方が
全く同じになる。callしたsqrt()関数の中は除いて。

274 デフォルトの名無しさん
2018/09/17(月) 01:37:20.55 ID:dj7qSZnZ

260-261のコードも263-264
も同じ条件でデフォルトでコンパイルしてる
コレは間違いない

一行コメントはずしてコンパイルしなおすだけだからな

で、262265みたいな結果になる
265の実行結果はDebugビルドとまったく同じになる
そのまんま

275 デフォルトの名無しさん
2018/09/17(月) 02:03:16.26 ID:yaPtorLJ

はっきり書いてある。managed code は、起動時にJITコンパイルされる。
だから、どんなマシン語に置き換わるかが、コンパイルしただけでは
まだ完全には決定されてない。

https://en.wikipedia.org/wiki/Managed_code

Drawbacks include slower startup speed (the managed code must be JIT
compiled by the VM) and generally increased use of system resources
on any machine that is executing the code.


managed code は、VMによって、JIT コンパイルされないといけないので、
起動速度が遅くなり、かつ、一般的に、システム・リソースの使用が増える。

276 デフォルトの名無しさん
2018/09/17(月) 02:49:02.18 ID:dj7qSZnZ

普通のコンソールアプリケーション(CLRじゃないほう)でも
同じコードで普通にまったく同じように再現するワケだが

ホントなキミラはなにを頭悪いことばっかりいってんの?
実行結果だけははっといてやるが

277 デフォルトの名無しさん
2018/09/17(月) 02:50:12.89 ID:dj7qSZnZ

④-1 デフォルト設定(Release) 【コード】(その1)

#include "stdafx.h"
#include
#include
#include

template static double calc_norm_and_regulate(int num, T* r, bool regulate){ // for debug.
   double norm = 0;
   for (int i = 0; i < num; i++) {
      norm += (double)r[i] * (double)r[i];
//      fprintf(stdout, "[0]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   }
   fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   norm = sqrt(norm);
   if (regulate)
      for (int i=0;i          r[i] = (T)(r[i]/norm);
   return norm;
}

278 デフォルトの名無しさん
2018/09/17(月) 02:50:37.91 ID:dj7qSZnZ

④-1 デフォルト設定(Release) 【コード】(その2)

int _tmain(int argc, _TCHAR* argv[])
{
   int count = 16;
   __int64 inputs_hex[16] = {
      0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1fedb1530240aa54,
      0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1ff0af0d95025bc3,
      0x1fc9353df6af376b, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
      0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000
   };
   double* inputs = (double*)inputs_hex;
   double norm = calc_norm_and_regulate(count, inputs, false);
   fprintf(stdout, "[2]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   return 0;
}

279 デフォルトの名無しさん
2018/09/17(月) 02:51:12.35 ID:dj7qSZnZ

④-1 デフォルト設定(Release) 【実行結果】

↓このコードの逆アセンブルコード
https://ideone.com/Dqqn6J

[1]0x0007F2C44DFFF8F2:1.1053482540585106e-308
[2]0x1FF68DDFB62221DE:1.051355436595308e-154

280 デフォルトの名無しさん
2018/09/17(月) 02:51:53.99 ID:dj7qSZnZ

④-2 デフォルト設定(Release) 【コード】(その1)

#include "stdafx.h"
#include
#include
#include

template static double calc_norm_and_regulate(int num, T* r, bool regulate){ // for debug.
   double norm = 0;
   for (int i = 0; i < num; i++) {
      norm += (double)r[i] * (double)r[i];
//      fprintf(stdout, "[0]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   }
   fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   norm = sqrt(norm);
   if (regulate)
      for (int i=0;i          r[i] = (T)(r[i]/norm);
   return norm;
}

281 デフォルトの名無しさん
2018/09/17(月) 02:52:10.55 ID:dj7qSZnZ

④-2 デフォルト設定(Release) 【コード】(その2)

int _tmain(int argc, _TCHAR* argv[])
{
   int count = 16;
   __int64 inputs_hex[16] = {
      0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1fedb1530240aa54,
      0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1ff0af0d95025bc3,
      0x1fc9353df6af376b, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
      0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000
   };
   double* inputs = (double*)inputs_hex;
   double norm = calc_norm_and_regulate(count, inputs, false);
   fprintf(stdout, "[2]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   return 0;
}

282 デフォルトの名無しさん
2018/09/17(月) 02:52:25.20 ID:dj7qSZnZ

④-2 デフォルト設定(Release) 【実行結果】

↓このコードの逆アセンブルコード
https://ideone.com/5OaUe6

↓実行結果を書き込めないからこっちに書き込んどいた
https://ideone.com/FFW0P0

[1]0x0007F2C44DFFF8F1:1.1053482540585101e-308
[2]0x1FF68DDFB62221DD:1.0513554365953078e-154

283 デフォルトの名無しさん
2018/09/17(月) 02:53:45.62 ID:dj7qSZnZ

④-2 デフォルト設定(Release) 【コード】(その1)

#include "stdafx.h"
#include
#include
#include

template static double calc_norm_and_regulate(int num, T* r, bool regulate){ // for debug.
   double norm = 0;
   for (int i = 0; i < num; i++) {
      norm += (double)r[i] * (double)r[i];
      fprintf(stdout, "[0]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   }
   fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&amp;norm, norm);
   norm = sqrt(norm);
   if (regulate)
      for (int i=0;i          r[i] = (T)(r[i]/norm);
   return norm;
}

284 デフォルトの名無しさん
2018/09/17(月) 02:54:34.82 ID:dj7qSZnZ

(正)283
(誤)280

285 デフォルトの名無しさん
2018/09/17(月) 02:57:46.48 ID:dj7qSZnZ

277-278のコードも283,281のコードも
も同じ条件でデフォルトでコンパイルしてる

一行コメントはずしてコンパイルしなおすだけだからな

で、279282みたいな結果になる
282の実行結果はDebugビルドとまったく同じになる
そのまんま

CLRのとき(274)の動作とまったく同じ
キミラはずーっとなにやってるわけ?

286 デフォルトの名無しさん
2018/09/17(月) 09:44:34.76 ID:yu1Dprt2

285
同一のreleaseをコンソールで実行するかデバッガで実行するかで結果が異なるのはなぜだろう。
という話をしていたのであって、
debug/releaseで別の結果になることを問題にしているのではないです。

287 デフォルトの名無しさん
2018/09/17(月) 10:25:22.39 ID:+dwRu2dr

192がコンソール起動とIDE起動で挙動が異なる理由は分かりました。
ありがとう。

結論はつまり以下だ。
> JIT の最適化とデバッグ(抜粋)
> マネージ アプリケーションをデバッグするとき、Visual Studio では、既定で、
> ジャスト イン タイム (JIT: Just-In-Time) コードの最適化が省略されています。
> 最適化されたコードをデバッグするのは困難であるため、
> 最適化されたコードで発生するバグが、非最適化バージョンでは再現しないときにのみお勧めします。
> JIT 最適化は、Visual Studio の [モジュールの読み込み中に JIT 最適化を抑制する] オプションで制御されます。
> 実行中のプロセスにアタッチする場合、既に読み込まれ、JIT でコンパイルされ、
> 最適化されているコードが含まれることがあります。
> このようなコードの場合、[モジュールの読み込み中に JIT 最適化を抑制する] オプションの影響はありません。
> https://msdn.microsoft.com/ja-jp/library/ms241594.aspx
確かにこのオプションで直った。

288 デフォルトの名無しさん
2018/09/17(月) 10:25:48.51 ID:+dwRu2dr

その他諸々、話を整理すると、以下となる。(ソースは192参照)
1. managedコードではMSILが出力され、x86コードは含まれていない。
2. 起動時、MSILはJITされ、x86コードに落とされる。
3. このため、mainの1行目でブレークポイントで止め、calc_norm_and_regulateの逆アセンブルを見ようとしても、
 IDE上で「逆アセンブルを表示できません。式がまだネイティブ マシン コードに翻訳されていません。」と出る。
 これはmainの1行目に System::Diagnostics::Debugger::Launch(); を入れたときも同様。
4. そしてこのJITに関して、上記IDE中の 『[モジュールの読み込み中に JIT 最適化を抑制する] オプション』 が効いてくる。
 規定ではオフ、つまり、ReleaseビルドでもIDE起動ならJIT最適化は抑制される。
 これがfld/fmul/fadd/fstpのループコードになる理由。
 これをオンにすれば、確かにReleaseビルドIDE起動でも、
 fld/fmul/faddのループコードとなり、コマンドプロンプト起動と同じ結果になることは確認した。
5. 上記では表現が微妙だが、JIT最適化をするかどうかは読み込まれるときに決まるらしい。
 したがって、Releaseビルドを起動後にアタッチした場合は通常通り最適化され、
 IDEからReleaseビルドを起動した場合は『既定では』最適化が抑制されてしまう。
 これがIDE起動とコマンドプロンプト起動で挙動が異なった原因。
 上記、『[モジュールの読み込み中に JIT 最適化を抑制する]』のチェックを外せば、直った。
6. おそらくこのオプションはソリューション毎ではなく、IDEのインストール毎なんだと思う。
 (ソリューション毎のオプションはプロジェクトのプロパティにあり、場所が違う)
 だからその人の環境によっては最初からオフにしている人がいたかも?
 これが再現実験をしてくれた人たちと微妙に結果が異なったりした原因か?

これで192についての疑問は解消した。(はず)
俺の本番コードについては再度確認し、また報告する。

289 デフォルトの名無しさん
2018/09/17(月) 10:28:21.54 ID:dj7qSZnZ

同じリリースビルドで
結果がかわってんのになにいってんの?

fprintf入れるだけで
リリースビルドで結果が変わる

290 デフォルトの名無しさん
2018/09/17(月) 10:31:16.66 ID:dj7qSZnZ

やはり低学歴知恵遅れは
結果が意味するところが分かってないわ。。。

291 デフォルトの名無しさん
2018/09/17(月) 10:32:49.39 ID:dj7qSZnZ

ちなみにオレがあげた結果は
すべてリリースビルドの結果だからな
デバッグビルドの結果なんかあげても
意味ないからな

292 デフォルトの名無しさん
2018/09/17(月) 10:38:00.02 ID:dj7qSZnZ

CLRのケースもCLRでない普通のexeのケースでも
結果はまったく同じだからな

しかもすべてリリースビルドで
おきてる誤差までぴったり一致してる

293 デフォルトの名無しさん
2018/09/17(月) 10:52:24.35 ID:+dwRu2dr

289
お前は相変わらず理解してないな。

80bit(拡張倍精度)と64bit(倍精度)の演算で桁落ちが異なり、結果が異なるのは当然なんだよ。
問題は同じバイナリの癖に何故起動方法によって異なるのか?だったんだ。

理由はMSILだからだ。
MSILはCLR上でJITされ、x86コードに落とされる。
このときにJIT最適化がかかれば、拡張倍精度(を保ったまま)のコードになるし、
最適化がかからず毎回メモリに書き戻していれば、倍精度のコードになる。
.NETにおける同一バイナリってのは、同一MSILという意味であって、同一x86機械語という意味ではない。
だから、確かに同一バイナリを掴んでいたが、起動方法によって結果が異なっていたんだよ。
(VSがデバッグ用に意図的にそういう仕様にしていただけ。俺はそれを知らなかった)

君のコードについては、
いちいちfprintする場合はdouble(倍精度)が毎回必要になるから、
コンパイラはその部分での拡張倍精度でのループを断念し、
結果的にそのループが倍精度で回っているだけのこと。
もし仮にCが拡張倍精度型 ExDouble を持っていたとして、printfもそれに対応していれば、
もしかするとその毎回printfするコードでも拡張倍精度で回っていたかもしれん。
勿論手動でそういうコードのすることも可能だ。
そこはコンパイラがどう判断したのかでしかなく、あまり詰めても意味がない。

294 デフォルトの名無しさん
2018/09/17(月) 10:54:19.52 ID:+dwRu2dr

× fprint
○ printf
まあ、分かると思いますが

295 デフォルトの名無しさん
2018/09/17(月) 10:57:31.99 ID:dj7qSZnZ

で、最適化されてるかされてないかすら
いまのいままで気付くことすらできない
そして気付く方法すらわからなかったわけか

うあわ
頭わるう。。。

キミ、プログラムくむの向いてないわ

296 デフォルトの名無しさん
2018/09/17(月) 10:58:47.63 ID:dj7qSZnZ

問題の切り分けができない人は
プログラムはくめない

コレは定説だからな

297 デフォルトの名無しさん
2018/09/17(月) 11:09:05.96 ID:ivGPGa/P

287
なるほど面白いね。

レスが膨大過ぎて最初の方しか読んでなかったけど、ネイティブコードの話と思い込んでたら
.NETの話だったのかw

298 デフォルトの名無しさん
2018/09/17(月) 12:34:14.16 ID:yaPtorLJ

個人的には、C++やx87 FPUは割と知識があったけど、.NET関連は余り追いかけてなかったので、気づくのが遅れた。

managedコード、unmanagedコードについて、今回初めて調べてみたくらいだし。

299 デフォルトの名無しさん
2018/09/17(月) 12:53:34.77 ID:yaPtorLJ

293
「ID:dj7qSZnZ」の人は理解していないね。
彼は人の事馬鹿にしてるけど・・・。

300 デフォルトの名無しさん
2018/09/17(月) 13:39:23.91 ID:F2vzl5VC

最初に指摘されたことだろうに。
アセンブラレベルで精度や効率に介入したきゃ.netなんて使うな、なんて分かりきったこと。

301 デフォルトの名無しさん
2018/09/17(月) 14:58:46.52 ID:zCVYDMXL

エディタ使ってるとたまに Intellisense機能が効かないときがあるんだが
あれなんなの?
中間ファイルとか消せば直るの?

302 デフォルトの名無しさん
2018/09/17(月) 17:03:46.83 ID:+dwRu2dr

301
はい。よく壊れます。
> [C++] There is an issue with the .ncb file
> Close the solution.
> Delete the . ncb file.
> Reopen the solution.
> Reopening the solution creates a new . ncb file.
> https://msdn.microsoft.com/ja-jp/library/ks1ka3t6(v=vs.110)

303 デフォルトの名無しさん
2018/09/17(月) 17:17:56.66 ID:zCVYDMXL

302
なるほど .ncbファイルね
今度消してやってみるわ

304 デフォルトの名無しさん
2018/09/17(月) 18:30:58.83 ID:+dwRu2dr

さて俺の本番コード、以下のようだ。
疑問は解消した。協力してくれた皆様ありがとう。

◎:拡張倍精度、○:倍精度、として、(ソースは192参照)
・Releaseビルドをコマンドプロンプトから起動→◎積和、◎平方根
・Debugビルドをコマンドプロンプトから起動→◎積和、○平方根
・IDEから起動→○積和、○平方根

これで3種類出来上がってた。
(なお、167内バイナリをアタッチした際の「AまたはC」は、「AまたはB」の間違い)
そしてIDE上で『[モジュールの読み込み中に JIT 最適化を抑制する]』を変更すると、
確かにRelease/Debugの2種類に絞れる。
Debugだからといって、全く最適化がかからないわけでもないようだ。
(1行内なら最適化がかかる?)

参考に、Releaseビルドの該当部分の逆アセンブルは以下。
積和が拡張倍精度で行われ、そのまま fsqrt で平方根が取られる。
(関数ごとインライン化されているのでアドレスが中途半端だが)
double retval = calc_norm_and_regulate(count, vec, false);
0000003e fldz
00000040 xor edx,edx
00000042 test esi,esi
00000044 jle 00000056
00000046 lea eax,[esp+28h]
0000004a fld qword ptr [eax+edx*8]
0000004d fmul st(0),st
0000004f faddp st(1),st
00000051 inc edx
00000052 cmp edx,esi
00000054 jl 00000046
00000056 fsqrt
00000058 fstp qword ptr [esp+10h]

305 デフォルトの名無しさん
2018/09/19(水) 17:24:44.24 ID:GzaYiinu

VC++2008だけど、突然一部のファイルだけブレークポイントが入らなくなった・・・
.ncb消したり、そのプロジェクトだけリビルドしたけど直らない
全リビルドすればおk?

306 デフォルトの名無しさん
2018/09/19(水) 18:59:08.26 ID:KTUM/Tgt

305
根本的な解決策とは違うが
「ブレークポイントは現在の設定ではヒットしません。ソースコードが元のバージョンと異なります。」
なら
[オプション] の[デバッグ]から[元のバージョンと完全に一致するソース ファイルを必要とする] をオフで

307 デフォルトの名無しさん
2018/09/20(木) 12:44:39.12 ID:rLmEYUhk

306
ありがとうございます。

結局、全リビルドでも直らなかったので、.sln と .vcproj 以外全部消して
Windowsも再起動して完全にまっさらな状態にして全ビルドしたら直りましたが、
そのうちまたブレークポイントが入らなくなったので、306の方法で
回避しました。

1 2 3 4 最新200 全部見る 


人気スレッド

988: 【バーチャル】hololiveアンチスレ#1187 【Youtuber】 (963)
2932: ポンペオ国務長官、GSOMIA破棄に「失望した」と表明 [664850526] (940)
39: 実況 ◆ テレビ朝日 57055 もう大気中のホコリでいいからむせろ! (840)
1200: 朝日新聞「韓国のGSOMIA破棄は、日本政府の無反応が決定打になった」 (729)
1184: 【悲報】アメリカ政府「韓国の立場を理解する」 (723)
1: 【社会保障改悪】花粉症薬、保険適用外に=医療費600億円削減−健保連提言 (705)
2946: 日本政府、GSOMIAの破棄で焦っているらしい [805596214] (703)
3: 【悲報】アメリカ国務長官「韓国に失望した」 (675)
4: 【ギャンブル】 横浜市のカジノ誘致構想、市民の94%が反対 [219241683] (440)
1013: 【DQR】ドラゴンクエストライバルズ LV1388 (421)
1209: 香山リカ『私がネトウヨに、差別をやめろ!と言うのは精神科医としての義務』 (408)
996: 【芸能】“パワハラ報道”の友近、芸能界の大御所もキレさせていた! (404)
1008: 【GSOMIA破棄】 香田洋二元海将「韓国は一線を越えた」[8/22] (399)
1012: 3339着の似合わない服 (353)
35: 超人女子戦士ガリベンガーV 第23話「ウナギの謎を解明せよ!」 (351)
975: 【サッカー】久保建英の古豪マジョルカ(スペイン1部)移籍が正式決定! 「非常に際立っている」と地元紙が早くも絶
1013: 市役所の金庫から生活保護費9世帯分、200万円余紛失か・明石 (332)
2940: マジでなにが面白いのか全く分からないスポーツ [976717553] (322)
1878: ネトウヨってなんであんな馬鹿なの? (318)
1014: 【ネス湖】ネッシーの謎、ついに解明? =科学調査の結果、来月発表 (282)
8: 韓国「日本が輸出規制を撤回したらGSOMIA再開を検討してやっても良い」 ※協定の更新期限は8月25日★2 (24
2327: この間、性同一性障害と診断された (233)
1014: NGT48山口真帆さんが配信にて『殺されてたら…』 運営はメンバー関与を認めるも、被害者が謝罪★1268 (
2978: 江戸川コナン 戸籍がないのに、どうして小学校に通えているのか…? [324074638] (224)
1190: 【残念】GSOMIA破棄で困るのは韓国の方だった。日本からの情報が圧倒的に多い (222)
1266: IGNジャパン「Switch版のウィッチャー3はこのまま発売するのは信じたくないレベルで厳しい」 (209)
2329: もはや韓国の気に入らなかったら暴れる、悪口いってまわる、大声で怒鳴るは通用しないよな (204)
1000: 【芸能】アメリカで暮らす「田村英里子」久々帰国で驚いたことは… (201)
985: 【テレビ】『ホンマでっか』イケメンに共通する絶対条件が判明 納得の声相次ぐ (199)
2961: 「ベルセルク」の三浦建太郎さん、新作漫画の原作とプロデュースを担当してしまう [668970678] (
1004: 【バーチャルYoutuber】にじさんじ有ンチスレ10633【ゼニーゲバファー応援スレ】 (197)
1220: 信号のない横断歩道で3回連続で歩行者妨害で捕まって6点で免停になった車カスの愚痴をご覧ください。 (182)
1212: 韓国と完全に国交断絶しよう!朝鮮人を差別して日本から追い出せ! (172)
2967: 【歴史的】 安倍晋三、首相在任期間が今日で2798日となり戦後最長の偉人に [219241683] (1
1005: 【バーチャルYouTuber】.LIVEアイドル部アンチスレ#6910【アップランド】 (164)
1208: 戦争はこうして起きる。いま不慮の軍事衝突が起きたらマスコミは安倍の大本営発表を垂れ流すだろう (162)
1002: 【バーチャルYouTuber】夜桜たま好きスレ#1【本人降臨歓迎】 (161)
1016: 【定期】鳥の刺身で山形人6人食中毒・宮崎県 (160)
1219: 八重山日報「今、韓国は一国を挙げて正気を失っている。下手に手を差し伸べず丁寧な無視徹底を」 (158)
1011: みずほが海上保安庁に引き渡される しきしま型に次いで2番目に大きなクラスの巡視船 (157)
1005: 【デレステ】スターライトステージ★10563 (156)
1198: 韓国人は旭日旗を見ると日本の侵略を正当化している様に見える。傷つく。だから辞めようぜ (152)
1007: 【トランプ政権】日米韓連携の支障に懸念 GSOMIA破棄[8/22] (148)
1: 韓国のキリスト教の像が個性的。 (139)
5: 韓国メディア「日韓全面戦争」 ムンちゃんは日米より北朝鮮との関係改善が大事 (139)
987: 【バーチャルYouTuber】.LIVEアイドル部電視台スレ#8【アップランド】 (139)
990: 水溜りボンドpart124 (137)
28: 8/22 ナインティナイン岡村隆史のオールナイトニッポン★2 (132)
979: 【野球】「4番・清宮」が定着で再燃する日本ハム・中田翔の去就問題 103試合 .247 23本 69打点 (1
1007: 【芸能】石原さとみの“涙袋”がパンパンッ!? 劇的変化に「明日花キララかと…」 (124)
1005: 【秋田】国道脇に裸で寝転ぶ医師…警官殴り逮捕、LSD成分も検出 (124)
1505: GSOMIA破棄によってどうなるの? (121)
1003: 【バーチャルYouTuber】.LIVEアイドル部アンチスレ#6909【アップランド】 (120)
2240: お前らこのままだと韓国と国交断絶することになるぞ (120)
2991: 国「医療費足りねえ…せや!『市販薬で代替出来る薬』は保険外適用にしよう!」 [466584413] (1
1206: 専門家「ホワイト国除外は選挙対策だった。外交的な一貫性は無い。Jアラートで国難煽りと同じ」 (113)
980: 【水泳】池江璃花子のTDL楽しむ投稿にネットは喜びの声「回復してきてるんですね」「涙出た」 (112)
1007: 【DMM】グランブルーファンタジー【転載禁止】 part1350 (112)
1425: 始まりが遅いクセに終わりはきっちり来るコテ雑 (109)
994: 【芸能】Mattが語った「野球を続けなかった理由」に称賛の声が上がったワケ! (109)
994: 【バ一チャルYouTuber】ENTUM(エンタム)アンチスレ1511【次スレ】 (105)
2989: 俺が女だったら絶対ヤリマンクソビッチだったと思うわ [826238881] (103)
1012: 【ひったくり】16歳高校生パチンカーらを逮捕・岡山 (103)
1010: 【陳】GSOMIA韓国破棄 立民・福山哲郎幹事長「遺憾であり、残念だ」[8/22] (101)
1017: 【GSOMIA破棄】 安倍氏、固い表情で沈黙…日本政府関係者「韓国に好きにさせればいい」 [08/23] (
1194: GSOMIA有識者「日本政府は一切、主体的に動けてないからw怒りだなんだは虚しい響きしかない」 (98)
1187: ダウンタウン松本の映画はなぜ失敗したのか。そもそも松本はなぜあれが面白いと思っていたのか。 (98)
1210: 琉球新報「GSOMIA破棄、根源は日本の植民地支配にある。安倍は韓国に謝罪しろ」 (98)
3004: 【悲報】重力さん、電磁気力だった大統一理論もはじめからなかったのか [954313584] (97)
1201: ツイッター民が物凄い正論。世耕大臣「韓国が日本食品の放射能検査強化するの不快」←安全なら良くね (95)
1196: 佐川急便めっちゃ腹立つ (95)
1967: 少年ジャンプはもうおっさんを引き止める魅力もガキを新規参入させる魅力もないな (94)
1442: ビッパーでサシオフしない?ただし性別は事前に伏せておくこと (92)
1211: 宝田明85歳「ハルピンでソ連兵に腹にダムダム弾を撃たれた。今でもソ連が悪くてソ連映画感動できない」 (91)
1204: 安倍総理 在任期間戦後最長に どんなにパヨクが騒いでも名将だと思う (91)
1005: 【シャニマス】アイドルマスター シャイニーカラーズ 760週目【enza】 (90)
987: 【野球】甲子園決勝で涙した星稜・奥川はプロ1年目から2桁勝利を挙げる史上8人目投手になれる逸材か? (89)
976: 【映画】『天気の子』興行収入100億円を突破 日本映画では『君の名は。』以来3年ぶり ★3 (89)
2430: 「毎日がエブリデイ」「心配で夜しか眠れない」←こういうのもっと教えて (86)
2957: 「童貞は信用できる」な女子多数!童貞が価値になる現代 [402859164] (85)
1188: 【悲報】日韓のGSOMIA問題、世界は全く興味なかった… (85)
1217: 桃から生まれた桃太郎。桃を切るときに中の赤ん坊は切れなかったの?と言われるが帝王切開も同じ (84)
1001: 【映画】「天気の子」興収100億円突破 新海監督2作連続 (81)
995: 【バーチャルYouTuber】有閑喫茶あにまーれアンチスレ639【深夜の男遊び】 (80)
974: 【芸能】はるな愛さん招き“性の多様性”学ぶ 栃木で人権セミナー(部落解放同盟栃木市協議会主催) (80)
2919: 【悲報】韓国のキリスト教の像がどれもジワジワ来る 画像多数 [151915507] (79)
1016: 【ウォニャス】 ドルウォン1211 KOSPI 1944 KOSDAQ 610 ★4 (79)
2229: デリヘル呼んだら嫁が来たコテ雑 (79)
1192: 【悲報】NHKさん、詐欺契約 徴収した受信料を使い示談へ (78)
1760: ルフィ「おいこいつ貰っていいのか」マッマ「はい…ワイを麦わら海賊団に入れてやってください…」 (78)
1900: ひっそりこっそりエロ漫画あげる (77)
2665: 【急募】クレカの限度額の引き上げって弾かれることある? (77)
1221: 韓国人はずっと旭日旗を拒否してきた。侵略と植民地支配の為に使われてきたマーク。何故それを今使う (77)
1185: 自衛隊以外が旭日旗を掲げるのは日本国内でもヘイトです。 (76)
2080: スパゲティってスパゲティだけでしか食えなくない? (75)
1348: たまに以上に被害者根性が強くて「金持ちからもっと取れ!」とかいう人いるけどなんなの? (74)
1510: コテと名無しのスマブラ会場 Part.2 (73)
2939: 35歳までに正社員になれなかったら終わりってマジですか? [673919501] (73)
1574: Twitterにヤベエやついた (72)
3001: 『マクロスF』ランカ・リー 等身大フィギュアが先着10体限定で申込受付中! [956093179] (7
2530: ウチの子供頭がおかしい (72)
2688: 陰キャ、正式な病気だった (71)
1543: Amazonから不在届あったんだけど (70)
2325: お前らなんで結婚しないの (69)
2406: SIMロック解除とかなんなの? (69)
2921: Android、お菓子縛り終了 ただのAndroid10に [242534157] (67)
2850: これから出るゲームのオススメ教えて (66)
1616: 【速報】南米の猿が人間をレイプ。被害者は15人でいずれも若い女性 (66)
2796: 【悲報】近くで見るとキツイ顔、『チカムリ男子』が急増 (65)
1265:  任天堂派の「トロフィーいらない」は痩せ我慢だと思う。 (64)
2588: すまん、海鮮丼と天丼ってどっちが上なん? (63)
1227: 神「現金100万円を渡すので今から2時間以内に使い切りなさい」 (62)
2965: 【画像】「ミス・ユニバース」日本代表 大学生の加茂あこさん [726590544] (62)
990: 【芸能】広末涼子、地元商店街で目撃された“蕎麦屋でひとり酒”の素顔 (62)
1012: 【ラグビーW杯】使っちゃだめって変じゃない? スポンサー保護 PRの足かせに (62)
981: 【芸能】河中あい、5歳下会社社長・尾上彰氏と10月に再婚! (61)
2165: やっすい軽の中古買おうと探してるんだが「修復歴あり」はやめたほうがええか???????????????? (
1431: 阪大法学部だけど質問ある? (60)
2930: ヤレそうな男の特徴   [482764186] (60)
984: 【テレビ】高嶋ちさ子 政宏に両高嶋家の確執を明かす…「うちの母がいけないんだと思う」 (60)
2136: 【画像】河野太郎の時計WWWWWWWWWWWWWWWWWWWWWWWWWWWW (59)
2948: 砕石場でダイナマイト積んだトラックが爆発し運転手が行方不明 [264950841] (59)
1017: 【福岡】170万円相当の大型インコ5羽、ペット販売店で盗難「せめて餌あげて」 (58)
2993: 歌えない、踊れない、喋れない、ブス、なんで山?なんて入れたの? (58)
1006: 【芸能】のん復活はまだ不透明!? カギを握る「元事務所VS週刊誌B」裁判の行方 (58)
2751: ユニコーンガンダム見たらシールドが飛んでてワロタ (58)
10: 愛媛県警、誤認逮捕の女性に「見舞金」50万円 警察職員互助会が負担か [754432117] (57)
1001: 【株板相場師列伝】投資家代表男 4157 (57)
1754: オタク特有の気持ち悪い言葉wwwww (57)
1456: 俺が今遊んでるゲームを当てるスレ (57)
1197: 【相互理解】韓国の反・安倍集会に行った日本の大学生「日本の報道と違い驚いた」 (57)
1: 61歳の僧侶が煽り運転する時代 (56)
1275: ■■速報@ゲーハー板 ver.51619■■ (56)
2035: (*・ω・)暇なもここと井戸端会議ぽよ (55)
1262: 【速報】例の画像、ガチでPS5開発キットだった。ゲーム開発者が認める (55)
2482: セブンイレブンのオーナーが日曜休みくれっ!って本部に言ってるらしいけどさ (54)
2429: いい雨いい風艦これスレ (54)
2546: 来月北海道旅するけどここは見とけって場所ある? (53)
1255: 平成のクソガキに一番トラウマを植え付けたBGMと言えばやっぱり・・・ (53)
1186: LINEの新機能「OpenChat」がトチ狂ってて大荒れ 出会いたい放題らしいぞ オマエラ急げ (52)
2012: 自分は何一つ間違えていない人間だと思いこんでる (52)
1336: ただ商品名を連呼するだけのCMが嫌いなんだが (51)
40: 羽鳥慎一モーニングショー★4 GSOFIA (51)
2217: 千夜>>>>>>>>>リゼ>>ココア>>>>シャロ>>>チノ ←これなーんだ? (51)
2950: 韓国研究学者、GSOMIA破棄に呆れる [385687124] (51)
993: 【芸能】木村拓哉主演ドラマに“意味不明”の言い掛かりをつけるアンチたち (51)
12: 【終わり無き戦い】ひきこもり長期化の背景を専門家が分析「就労支援がゴールではない」 (50)
2631: 日本人「青虫、青信号、青空、青リンゴ、青ジソ、青葉、青汁」外国人「ホワーーッ?!?!全然青くナーイ!!」 (
2361: 女ホル飲んでるせいで乳首が某声優みたいなんだが (50)
2947: 【青春18きっぷ】旅行するので安価 (50)
2099: ポケットwifi詳しいやつ来て (49)
1013: 【台湾】日本統治時代のコーヒーの木、台東に今もなお そばに記念碑建立[8/22] (49)
1488: かつての友(♀)「フフフ……ようやく殺せる……ようやく、この時が……!!」 (48)
1767: Fate stay night クリアした (48)
2649: 俺「日曜空いてる?」友人「ごめん会社だわ」俺「え?おまえ工場じゃなかったっけ?」 (48)
1319: 英語独学者俺、やっと 今朝をthis morning と書き in を付けないのか理解した!! (48)
1273: 【悲報】Switch版ウィッチャー3 海外でボロボロに叩かれてしまう... (48)
1216: 北朝鮮 平壌で日朝の大学生が交流「関係改善につながる」 (47)
1999: ワイの素晴らしいところを1000コあげるスレ (46)
1846: 人間ってこんなにデカい必要ある? (46)
1517: 女は風俗で簡単に稼げるとか言うけどさ (46)
2315: ステーキ焼いたけどなんかデッカいゴム噛んでる気分 (46)
2914: 嫌儲民の平均年齢、28歳だった [673919501] (45)
977: 【高校野球】奥川から3ランの履正社・井上「必ずプロになって、また対戦できたら」 (45)
2941: マジでなにが面白いのか全く分からないテレビゲーム [728791131] (45)
2993: 安倍晋ぞうです。それでは、税金を食べます。 [535650357] (45)
1014: 【ネス湖】ネッシーの謎、ついに解明? =科学調査の結果、来月発表 (282)
8: 韓国「日本が輸出規制を撤回したらGSOMIA再開を検討してやっても良い」 ※協定の更新期限は8月25日★2 (24
2327: この間、性同一性障害と診断された (233)
1014: NGT48山口真帆さんが配信にて『殺されてたら…』 運営はメンバー関与を認めるも、被害者が謝罪★1268 (
2978: 江戸川コナン 戸籍がないのに、どうして小学校に通えているのか…? [324074638] (224)
1190: 【残念】GSOMIA破棄で困るのは韓国の方だった。日本からの情報が圧倒的に多い (222)
1266: IGNジャパン「Switch版のウィッチャー3はこのまま発売するのは信じたくないレベルで厳しい」 (209)
2329: もはや韓国の気に入らなかったら暴れる、悪口いってまわる、大声で怒鳴るは通用しないよな (204)
1000: 【芸能】アメリカで暮らす「田村英里子」久々帰国で驚いたことは… (201)
985: 【テレビ】『ホンマでっか』イケメンに共通する絶対条件が判明 納得の声相次ぐ (199)
2961: 「ベルセルク」の三浦建太郎さん、新作漫画の原作とプロデュースを担当してしまう [668970678] (
1004: 【バーチャルYoutuber】にじさんじ有ンチスレ10633【ゼニーゲバファー応援スレ】 (197)
1220: 信号のない横断歩道で3回連続で歩行者妨害で捕まって6点で免停になった車カスの愚痴をご覧ください。 (182)
1212: 韓国と完全に国交断絶しよう!朝鮮人を差別して日本から追い出せ! (172)
2967: 【歴史的】 安倍晋三、首相在任期間が今日で2798日となり戦後最長の偉人に [219241683] (1
1005: 【バーチャルYouTuber】.LIVEアイドル部アンチスレ#6910【アップランド】 (164)
1208: 戦争はこうして起きる。いま不慮の軍事衝突が起きたらマスコミは安倍の大本営発表を垂れ流すだろう (162)
1002: 【バーチャルYouTuber】夜桜たま好きスレ#1【本人降臨歓迎】 (161)
1016: 【定期】鳥の刺身で山形人6人食中毒・宮崎県 (160)
1219: 八重山日報「今、韓国は一国を挙げて正気を失っている。下手に手を差し伸べず丁寧な無視徹底を」 (158)
1011: みずほが海上保安庁に引き渡される しきしま型に次いで2番目に大きなクラスの巡視船 (157)
1005: 【デレステ】スターライトステージ★10563 (156)
1198: 韓国人は旭日旗を見ると日本の侵略を正当化している様に見える。傷つく。だから辞めようぜ (152)
1007: 【トランプ政権】日米韓連携の支障に懸念 GSOMIA破棄[8/22] (148)
1: 韓国のキリスト教の像が個性的。 (139)
5: 韓国メディア「日韓全面戦争」 ムンちゃんは日米より北朝鮮との関係改善が大事 (139)
987: 【バーチャルYouTuber】.LIVEアイドル部電視台スレ#8【アップランド】 (139)
990: 水溜りボンドpart124 (137)
28: 8/22 ナインティナイン岡村隆史のオールナイトニッポン★2 (132)
979: 【野球】「4番・清宮」が定着で再燃する日本ハム・中田翔の去就問題 103試合 .247 23本 69打点 (1
1007: 【芸能】石原さとみの“涙袋”がパンパンッ!? 劇的変化に「明日花キララかと…」 (124)
1005: 【秋田】国道脇に裸で寝転ぶ医師…警官殴り逮捕、LSD成分も検出 (124)
1505: GSOMIA破棄によってどうなるの? (121)
1003: 【バーチャルYouTuber】.LIVEアイドル部アンチスレ#6909【アップランド】 (120)
2240: お前らこのままだと韓国と国交断絶することになるぞ (120)
2991: 国「医療費足りねえ…せや!『市販薬で代替出来る薬』は保険外適用にしよう!」 [466584413] (1
1206: 専門家「ホワイト国除外は選挙対策だった。外交的な一貫性は無い。Jアラートで国難煽りと同じ」 (113)
980: 【水泳】池江璃花子のTDL楽しむ投稿にネットは喜びの声「回復してきてるんですね」「涙出た」 (112)
1007: 【DMM】グランブルーファンタジー【転載禁止】 part1350 (112)
1425: 始まりが遅いクセに終わりはきっちり来るコテ雑 (109)
994: 【芸能】Mattが語った「野球を続けなかった理由」に称賛の声が上がったワケ! (109)
994: 【バ一チャルYouTuber】ENTUM(エンタム)アンチスレ1511【次スレ】 (105)
2989: 俺が女だったら絶対ヤリマンクソビッチだったと思うわ [826238881] (103)
1012: 【ひったくり】16歳高校生パチンカーらを逮捕・岡山 (103)
1010: 【陳】GSOMIA韓国破棄 立民・福山哲郎幹事長「遺憾であり、残念だ」[8/22] (101)
1017: 【GSOMIA破棄】 安倍氏、固い表情で沈黙…日本政府関係者「韓国に好きにさせればいい」 [08/23] (
1194: GSOMIA有識者「日本政府は一切、主体的に動けてないからw怒りだなんだは虚しい響きしかない」 (98)
1187: ダウンタウン松本の映画はなぜ失敗したのか。そもそも松本はなぜあれが面白いと思っていたのか。 (98)
1210: 琉球新報「GSOMIA破棄、根源は日本の植民地支配にある。安倍は韓国に謝罪しろ」 (98)

156: Visual Studio 2008 Part 22 (308)

人気スレッド2




2: 【韓国メディア】 「1965年の日韓国交正常化以降、これまでに見たことのない全面戦争のようだ」 (996)
34: 夜の巷を徘徊する マツコ代々木で語る独特なパスタの食べ方 (981)
67: こいせん4 全レス (978)
33: 【アニメ】アニマックス第28046話【見るなら】 (977)
3: 韓国、日本とのGSOMIAを破棄へ (957)
66: はません5 (954)
20: 韓国がGSOMIA終了決定は午前までは延長予定だったが急きょ終了に 韓国民「韓国消えそう」「自傷行為」 (946
958: 【速報】韓国大統領府「日本が韓国政府の外交努力に全く応じなかった」[8/22] (931)
10: 【旭日旗】 「ナチと関係ない」…米国の女性モデル、戦犯旗Tシャツを着てネチズンと舌戦[08/22] (929)
91: 【USD/JPY】ドル円専用スレ Part29525【$\】 (927)
4: 【国内】韓国は『敵』なのか  [8/22] (923)
70: わしせん2 (908)
43: 第2回NHKヤングラップバトル〜Bring the Beat!〜 (897)
2: 【KRW】ウォンを看取るスレ?2152【手首切り落とすブス】 (883)
1183: 米国女性モデル、旭日旗Tシャツを着てニダーから袋叩きに合うも、毅然と反論 (874)
93: 【USD/JPY】新ドル円14996【雑談禁コテ禁IP無】 (871)
40: 実況 ◆ TBSテレビ 37704 (867)
945: 【高校野球】いきなり「奥川投手はすばらしいピッチャーでしたか?」 履正社・井上選手への質問に「違和感」 (85
90: 絵コテがどんどん減っているんだがVIPはどうなってしまうのか (848)
958: 【本スレ】SKE48★17790【本スレ】 (835)
943: 【毎日新聞】 #安倍晋三首相 が得意分野と宣伝する外交 ところが、その「安倍外交」はもはや破綻状態★4 (83
3: ■■■明日の日経平均を予想するスレ27055■■■ (824)
998: 【英紙】英王子とみられる動画公開=撮影、少女性虐待の米富豪宅か ★14 (809)
967: 【ミスコン】『ミス・ユニバース』日本代表は現役大学生・加茂あこさん★2 (804)
957: 【話題】GSOMIAの韓国破棄理由「韓国の国益にそぐわない」[8/22] (800)
95: 【USD/JPY】ドル円専用スレ Part29526【$\】 (781)
2812: 成長期限定ユニット☆2905時間目 (779)
24: 【マターリ】科捜研の女 #14 (769)
1008: アイドルマスターシンデレラガールズ愚痴スレ4456 (747)
2788: ☆国へ帰れ 地下売上議論23913★ (742)
1138: 【GSOMIA】共産党「日本政府は事態の重さを甘く見過ぎ。ホワイト国除外を撤回し、徴用工に賠償を」 (741
995: 【ミリシタ】アイドルマスターミリオンライブ! シアターデイズ Part2508 (732)
19: 【ほーっ ほーっ】ももいろクローバーZ潜入捜査官14865【蛍来い】 (729)
93: 【USD/JPY】ドル円専用スレ Part29524【$\】 (729)
63: 【D専】 (726)
1139: GSOMIA破棄も韓国『ウチには偵察衛星ないんだけどどうしよう(汗)』 北脅威に為す術なしの現実 (723)
97: 【USD/JPY】新ドル円14997【雑談禁コテ禁IP無】 (721)
132: 【避難所】なんJVYouTuber部 10034【IDワッチョイ有】 (718)
6: 【孤立&経済危機】韓国青瓦台がGSOMIA終了決定 韓国民「ムン様よくやった」と大喜び 3 (713)
32: 熱闘甲子園 2 (710)
2717: ユニクロの新作フリースがパタゴニアの丸パクリだと話題に [908299345] (690)
946: 【悲報】AKB千葉恵里さんミスセブンティーン2019落選wwwwwwwwwwww (687)
921: 【高校野球】星稜OB・松井秀喜氏「ここで優勝できないのが星稜。そういうところも大好き」 準Vのナインに労い (
59: 【速報】急騰・急落銘柄報告スレ12288 (670)
890: 【地裁】知的障害のある男性に身内を殺された遺族、監督義務違反で男性の親を訴えるも請求棄却★3 (662)
69: 西武線3 (644)
62: やくせん (644)
2743: 石田亜佑美と15期のダンスレッスンキタ━━━━━━━━━━━━━━━━━━━━(゚∀゚)━━━━━━━━━━
66: かもめせん2 (638)
935: 【GSOMIA破棄】安倍首相、記者団からの問いかけには無言で答えず 官邸を出る (632)
42: 世界はほしいモノにあふれてる「フランス縦断!極上チョコレートSP」 (629)
2520: 文在寅、金正恩の命令に従い日韓GSOMIAを破棄へ [158879285] (627)
861: 9/12のぐるナイに美月久保梅澤賀喜筒井が登場!遠藤さくらはなし! (621)
26: サイン-法医学者 柚木貴志の事件- #6★2 (619)
1017: ジャンプ打ち切りサバイバルレースPart3047 (616)
64: ハム専 (616)
927: 【GSOMIA破棄】日本政府高官「日米でやっているから影響はそんなにないだろう」 (608)
1953: Fate/GOスレ (606)
1008: ミュ俳優雑談794 (603)
2641: 【速報】100円ショップの店員、「袋はいらない」と言った客にブチギレ [324064431] (600)
96: コンマゾロ目とか出した奴にvip発の仮想通貨VIPS投げつけるwwwwwwwww (596)
1008: ◆進.撃の巨.人ネタバ.レス.レpa.rt1649 (596)
5: 【国際】トランプ大統領、米国籍の出生地主義「ばかげている」 廃止検討表明 (593)
7: 【女優】矢田亜希子、インスタで水着姿を披露 ファン反響「珍しいショットキタ!」「夏、ありがとう」 (591)
1009: 【モンスト】ゴミキャラにはアンチ減速壁付けとけw (590)
1100: 韓国GSOMIA破棄 日本政府「日本への影響はそんなにない」「日米でやっているから問題ない」★2 (581)
2663: 韓国ってもしかして頭おかしい国なのか? [376356433] (563)
1008: 【モンスト】モンスターストライク脱・超初心者スレ435【脱超】 (559)
2516: 韓国破棄!!!!!!!!!!!!!!!韓国崩壊へ!!!★2 [544259297] (553)
998: 【アズレン】アズールレーン Part3883 (532)
69: 西武線2 (522)
2672: ☆履正不畏 売上議論20050★ (522)
985: 【韓国】「ロウソクを持って安倍政権を糾弾した国民の勝利だ」 GSOMIA破棄に市民団体の反応[08/22] (
2521: バキ道、ついに最強の敵が現れる [304868982] (506)
1018: ワンピース専用ネタバレスレッド Part4226 (493)
939: 【高校野球】履正社が5-3で星稜との接戦制し初の全国優勝!大阪勢夏2連覇!★4 (492)
11: 【サッカー】客席ガラガラなのにチケット買えず...天皇杯「完売」の怪 反省の県協会「次年度は対応する」 (482
2677: 【朗報】野中ちぇるぴ痩せて可愛くなる (478)
19: 【大ヒット】『天気の子』興行収入100億円を突破 日本映画では『君の名は。』以来3年ぶり ★2 (473)
26: NHKラジオ(AM第1第2 FM)合同スレッド4093 (470)
2704: 【訃報】池江璃花子さん 激ヤセ [324074638] (466)
64: おりせん NHK-BS Part2 (464)
61: 【共用】 阪神 × DeNA Part3 (464)
2473: ハゲキ、F9(ヘアプア)、ち〜ん、アザラシ、サキオタ、爆笑ゴリラ、らふたん、的井圭一、魔法少女←誰か一人を嫌
36: 【悲報】 NGT48中井りか、キレる 「私はお前らのサンドバッグにされるためにSNSやってるんじゃない」 (45
2899: 【悲報】まんさん、トイレ優先カードを作ってしまう [875850925] (455)
92: 【USD/JPY】新ドル円14995【雑談禁コテ禁IP無】 (455)
28: 韓国政府、明日のGSOMIA延長可否決定直前に米ビーガン氏と会談。最後の駆け引きに賭ける (452)
41: 所さん!大変ですよ「木村佳乃もビックリ パンダがグルメで大変」★3 (452)
2596: お前らが生きてる間に日韓戦争起きるみたいだけどどの部隊がいい? [503119534] (449)
2569: 【嫌儲】GSOMIAについて学ぶスレ【勉強会】 [866347454] (443)
915: 【芸能】最も稼ぐ男優ランキング 「ザ・ロック」ドウェイン・ジョンソンが年収95億円で首位 (438)
1166: 電撃「PS4ソフトが全く売れてない。モンハンが起爆剤になることを期待したい」 (432)
858: 【悲報】まんさん、トイレ優先カードを作ってしまう (425)
971: 【速報】韓国政府が日韓軍事情報包括保護協定=GSOMIAを破棄 (417)
955: 【野球】村上が年間30本塁打 高卒2年目以内では清原以来 (410)
71: 西武線 (400)
2582: ケンモメンが、テレビを見なくなった本当の理由ってなんだ? [482764186] (399)
2722: 「アンドロイドは電気羊の夢を見るか」→これよりかっこいいと思う小説のタイトル [324064431] (
975: 指原がUTAGEから出演NG食らった理由って何?wwwwwwwwww (396)
969: 【GSOMIA破棄】 日本政府関係者 「文政権はどんどん異常さを増している」 (394)
986: 【時事通信】韓国との亀裂は決定的となった [8/22] (393)
2798: 中島のへそのタトゥーwwwwwwwwwwwwwwwwwwwwwwwwwww (392)
30: 日本政府が南鮮のGSOMIA破棄に形だけ抗議→朝鮮人「チョッパリが困ってるニダ」と大喜び (392)
15: 【日韓軍事情報協定破棄】 韓国に抗議へ (389)
94: 【GBP】ポンドはどうする?part5655【£】 (388)
126: なんJHCNI部 Part.234 (386)
289: VIP深夜の変則雑談スレ (385)
1017: 【名無し限定】暇なので話しませんか?18821 (379)
1003: 艦これ愚痴スレ Part1831 (379)
1113: 【入墨】娘の彼氏は「刺青」入りだったので面会拒否 元暴力団だが「根はいい人」 私は差別主義者? (366)
965: 【かっさん】加藤純一ID無しスレpart2861【高田健志】 (364)
1243: [ゲハ]ドラゴンクエスト11S検証動画来るも酷い結果に[騒然] (360)
1071: 【悲報】 高校野球 大阪の高校しか優勝しなくてつまらないwwwwwwwwwwwww (353)
959: 【祖父母の】Syamu_Game第507回オフ会0人【遺影】 (350)
979: 【韓国】日韓対立、関係悪化も訪韓日本人客は大幅に増加 7月は19.2%増 (349)
2519: 矢田亜希子(40歳) 爆乳水着姿 [485983549] (348)
6: 【GSOMIA破棄】 自衛隊幹部 「韓国は何を考えているのか」 (341)
1118: 米カジノ大手、大阪IR見送り 横浜に注力 (330)
2737: 真夏の夜の淫夢 [816528813] (329)
993: 【南アフリカ】「ライオンマン」、ロッジで飼育のライオンに襲われ死亡 (328)
945: STU48薮下楓、活動再開のお知らせ (323)
969: 【みなさまの】NHK契約訴訟 「NHK側が解決金」で和解へ 名古屋地裁 (320)
1001: ☆☆☆横浜DeNAベイスターズスレッドPart1039☆☆☆ (320)
27: 報道ステーション★8 ヨコハマトキョオオーサカ (317)
1130: 『ドラゴンクエストXI S』“たっぷり遊べる体験版”をニンテンドーeショップで配信開始★3 (316)
1179: 韓国「構って」 日本「…」 韓国「手首切るよ!」 日本「…」 韓国「痛い」 日本「…」 → (315)
202: 【マモノ甲子園】 第102回全国高等学校野球選手権大会  延長・反省会 (312)
75: かもめせん3 (312)
1095: 小池知事「オリンピック時の電車の混雑はコストをかけずに工夫でどうにかしてほしい」 とコメント (312)
14: GSOMIA破棄について日本が韓国に抗議するらしい (309)
2838: 「これ一生遊べるんじゃね?」と思ったオフゲ [604460326] (302)
76: とらせん祝勝会 (300)
984: 【GSOMIA破棄】米国 ネットのコメントまとめ:ワシントンポストより (300)
2679: 「調理前に鶏肉を洗っちゃダメ」食中毒の危険性があると指摘 [229078592] (298)
44: 埼玉県知事候補者 経歴・政見放送 一部手話 (293)
1141: GSOMIA破棄 (293)
957: 【企業】豚肉を使った「やきとり」でしられる「ひびき」、民事再生法申請 負債77億円 (293)
2500: お前らが「萩原聖人」について知ってる事 [426957453] (287)
74: 【D専】2 (287)
8: 履正社part34 (284)
925: 【決戦投票】芸スポ+板でサッカーに関連するスレ立て禁止【投票権・★のみ】 (280)
1107: 【嘆韓】韓国ウォン 0.4%下落 キタ━━━━(゚∀゚)━━━━!!【終韓】 (279)
42: プレバト【梅沢富美男に異変!夏井先生は激怒★新特待生は?】★3 (279)
1882: 【速報】韓国が日韓軍事協定(GOSMIA)を破棄! (278)
2916: 浅田真央応援スレpart8705 (278)
1: 巨専】 (276)
987: 【韓国】「NOジャパン」襲った楽器商店街 楽器は代替品ないのに... 泣き顔[08/22] (276)
941: 【衝撃】 まんさん、フォークリフトに潰されてしまう (274)
77: ぱにぽにだっしゅ!そろそろ一条祭りには1156合だ@3 (274)
2622: 【悲報】嫌儲け板、もうめちゃくちゃ [259754965] (272)
999: 【テレ朝】玉川徹「韓国の批判したって韓国は変わらない。政治と経済は分けて考えないと」★3[08/21] (27
2684: 投手が9番のこともある横浜DeNAベイスターズのファン (263)
2487: アルドノアゼロとかいうクソアニメについて覚えていること [445518161] (262)
106: 【悲報】俺くん、韓国人であることが判明… (260)
980: 【韓国】 政治後進国・日本に強く対応し、屈服させて反省を促そう★2[08/21] (260)
1142: 米韓防衛体制を維持=韓国国防省 (259)
67: こいせん6 全レス (254)
2886: 横浜がカジノ誘致を発表してから大手カジノ業者が続々と大阪からの撤退を決定 (254)
1004: 【北の中枢にいた脱北者の分析】韓国でも驚きの声...決定の理由は? 軍事情報協定破棄[8/22] (254)
1176: ps4のプロコン2019年9月6日発売! (251)
2932: BABYMETAL★5987 (250)
14: 【日韓軍事情報協定破棄】 韓国 「日本がホワイト国(優遇対象国)から韓国を除外したからだ」 (250)
2033: VIPでパズドラ (249)
76: 日本の未来はAA雑談 (248)
1153: GSOMIA破棄 河野外相「見誤った対応 断固として抗議」 (247)
958: 【本スレ】SKE48★17790【本スレ】 (835)
943: 【毎日新聞】 #安倍晋三首相 が得意分野と宣伝する外交 ところが、その「安倍外交」はもはや破綻状態★4 (83
3: ■■■明日の日経平均を予想するスレ27055■■■ (824)
998: 【英紙】英王子とみられる動画公開=撮影、少女性虐待の米富豪宅か ★14 (809)
967: 【ミスコン】『ミス・ユニバース』日本代表は現役大学生・加茂あこさん★2 (804)
957: 【話題】GSOMIAの韓国破棄理由「韓国の国益にそぐわない」[8/22] (800)
95: 【USD/JPY】ドル円専用スレ Part29526【$\】 (781)
2812: 成長期限定ユニット☆2905時間目 (779)
24: 【マターリ】科捜研の女 #14 (769)
1008: アイドルマスターシンデレラガールズ愚痴スレ4456 (747)
2788: ☆国へ帰れ 地下売上議論23913★ (742)
1138: 【GSOMIA】共産党「日本政府は事態の重さを甘く見過ぎ。ホワイト国除外を撤回し、徴用工に賠償を」 (741
995: 【ミリシタ】アイドルマスターミリオンライブ! シアターデイズ Part2508 (732)
19: 【ほーっ ほーっ】ももいろクローバーZ潜入捜査官14865【蛍来い】 (729)
93: 【USD/JPY】ドル円専用スレ Part29524【$\】 (729)
63: 【D専】 (726)
1139: GSOMIA破棄も韓国『ウチには偵察衛星ないんだけどどうしよう(汗)』 北脅威に為す術なしの現実 (723)
97: 【USD/JPY】新ドル円14997【雑談禁コテ禁IP無】 (721)
132: 【避難所】なんJVYouTuber部 10034【IDワッチョイ有】 (718)
6: 【孤立&経済危機】韓国青瓦台がGSOMIA終了決定 韓国民「ムン様よくやった」と大喜び 3 (713)
32: 熱闘甲子園 2 (710)
2717: ユニクロの新作フリースがパタゴニアの丸パクリだと話題に [908299345] (690)
946: 【悲報】AKB千葉恵里さんミスセブンティーン2019落選wwwwwwwwwwww (687)
921: 【高校野球】星稜OB・松井秀喜氏「ここで優勝できないのが星稜。そういうところも大好き」 準Vのナインに労い (
59: 【速報】急騰・急落銘柄報告スレ12288 (670)
890: 【地裁】知的障害のある男性に身内を殺された遺族、監督義務違反で男性の親を訴えるも請求棄却★3 (662)
69: 西武線3 (644)
62: やくせん (644)
2743: 石田亜佑美と15期のダンスレッスンキタ━━━━━━━━━━━━━━━━━━━━(゚∀゚)━━━━━━━━━━
66: かもめせん2 (638)
935: 【GSOMIA破棄】安倍首相、記者団からの問いかけには無言で答えず 官邸を出る (632)
42: 世界はほしいモノにあふれてる「フランス縦断!極上チョコレートSP」 (629)
2520: 文在寅、金正恩の命令に従い日韓GSOMIAを破棄へ [158879285] (627)
861: 9/12のぐるナイに美月久保梅澤賀喜筒井が登場!遠藤さくらはなし! (621)
26: サイン-法医学者 柚木貴志の事件- #6★2 (619)
1017: ジャンプ打ち切りサバイバルレースPart3047 (616)
64: ハム専 (616)
927: 【GSOMIA破棄】日本政府高官「日米でやっているから影響はそんなにないだろう」 (608)
1953: Fate/GOスレ (606)
1008: ミュ俳優雑談794 (603)
2641: 【速報】100円ショップの店員、「袋はいらない」と言った客にブチギレ [324064431] (600)
96: コンマゾロ目とか出した奴にvip発の仮想通貨VIPS投げつけるwwwwwwwww (596)
1008: ◆進.撃の巨.人ネタバ.レス.レpa.rt1649 (596)
5: 【国際】トランプ大統領、米国籍の出生地主義「ばかげている」 廃止検討表明 (593)
7: 【女優】矢田亜希子、インスタで水着姿を披露 ファン反響「珍しいショットキタ!」「夏、ありがとう」 (591)
1009: 【モンスト】ゴミキャラにはアンチ減速壁付けとけw (590)
1100: 韓国GSOMIA破棄 日本政府「日本への影響はそんなにない」「日米でやっているから問題ない」★2 (581)
2663: 韓国ってもしかして頭おかしい国なのか? [376356433] (563)
1008: 【モンスト】モンスターストライク脱・超初心者スレ435【脱超】 (559)

上位板 人気

165: DarkBASIC (999)
313: テストしにくいコードをテストする方法教えて下さい (999)
17: くだすれFORTRAN(超初心者用)その6 (992)
5: くだすれPython(超初心者用) その37 (992)
140: 【.NET】F#について語れ2【OCAML】 (987)
170: 今までみた絶望的なソースコード (986)
110: Visual Studio 2015 Part8 (976)
94: 【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18 (968)
308: データ構造,アルゴリズム,デザインパターン総合スレ 3 (968)
335: Pythonについて(アンチ専用) (950)
82: (937)
466: 【えっ】Perlに未来はあるのか?【終わり?】 (933)
65: UNIXプログラミング質問すれ Part10 (926)
164: 【論理】Prolog【初心者】 (926)
57: Regular Expression(正規表現) Part14 (924)
445: C#で仕事ある? (919)
310: 圧縮・復元 相談室 (919)
7: VBAなんでも質問スレ Part2 (910)
652: Go language part 2 (909)
114: 推薦図書/必読書のためのスレッド 81 (905)
58: .Net Core / Net ASP Core (903)
179: OpenCLプログラミング#1 (899)
246: MSX-BASICの奥義を伝授するスレ (897)
969: C言語なら俺に聞け 152 (897)
18: Javaはもう死んだの? (893)
237: なあ、再帰関数好きな人いる? パート3 (885)
137: 2 part forth (884)
330: C#,C#の宿題片付けます。 (880)
317: proce55ing プログラミングアート全般 (879)
161: 仮想環境コンテナ総合スレ Docker、Vagrant等 (879)
117: 【モダン推奨】Perlについての質問箱 50箱目 (877)
38: 任天堂「今後C++は捨てJavaScriptで開発していく」 (875)
115: いもうとデスクトップを実際に作ってみないか?3 (874)
462: monazilla Part 6 (871)
178: 【GUI】wxWidgets(旧wxWindows) その5【サイザー】 (863)
219: オブジェクト指向は愚かな考え。この世は計算式 ★3 (861)
185: 米国国防省の標準高等言語エイダ(Ada)を語れ! (855)
366: CVS導入スレ〜 Rev.3 (854)
454: 集合論に基づいた言語を作りたい (853)
267: リファクタリングをただのコード修正と思ってる人へ (845)
442: HTAをもっと流行らせる計画 Part2 (844)
382: 【消しゴム】MONOを使ってみるスレ4【じゃない】 (840)
649: Tapestryについて語ろうよ! (838)
450: 動的言語で大規模開発 (832)
95: くだすれDelphi(超初心者用)その57 (829)
579: Windows 10 UWPアプリ開発 Part 2 (828)
199: OpenGL 2.0 専用スレ (825)
127: MVVMについて語ろう (823)
337: C#は糞2.0 (823)
258: 【O3D】HTML5用 3D API WebGL 【Canvas:3D】 (814)
981: [RPA]PC自動化技術総合スレ[効率化] Part.5 (808)
327: WindowsDDK各種についてのスレ (806)
292: pythonがこの先生きのこるには (803)
465: 暇だから最強のメモ帳つくらね?【java】 (793)
81: 【License】ライセンス総合【利用許諾】 (788)
504: 【会津】パソコン甲子園2004【若松】 (787)
289: メガデモを語る fr-08 (783)
376: 【汚物】痛い変数名・関数名【破廉恥】 (768)
459: Perlについて (764)
853: PowerShell -Part 3 (757)
147: delphiで作った有名ソフトって何があるの? (757)
986: a4です。P2P人工知能「T」開発(7) (756)
333: JavaScriptは消滅すべきだったよな (748)
83: 【iPhoneも】Titanium Mobileスレッド【Androidも】 (745)
858: VBSで便利なプログラムを作れスレ 2 (734)
608: Git 16 (734)
78: datファイルを共有するP2Pソフト o2on 17dat (732)
379: Java Web Application Framework総合 ver2 (730)
221: 【C++】マイナーGUIツールキット (724)
134: 静的型付け言語の潜在開発生産性は今の100倍 ×5 (723)
532: クラス名・変数名に迷ったら書き込むスレ。Part28 (715)
305: 【計測】LabVIEW相談室【制御】 (704)
55: GCは失敗。メモリは自分で管理せよ! その2 (704)
67: VRプログラム雑談【Unity/UnrealEngine】【HTC Vive/Oculus Rift/その他VR
118: 【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】 (696)
106: △△もっとStruts2の良さを教えてくださいSsssion6 (689)
755: C++でXML(主にxerces)やろう! (688)
983: Visual Studio 2019 Part2 (687)
249: 【SICP】計算機プログラムの構造と解釈 Part3 (677)
348: mallocの後にfree不要と言うバカいるの?Part2 (672)
356: Ruby>>>>>Java (670)
945: 次世代言語15 Go Rust Bosque Kotlin TypeScript (668)
753: GARMIN社のGPSのプログラム (666)
468: Java 高速GUI SWT 3 (664)
183: 【アンチ】関数型言語は使えない【玩具】 2 (662)
460: sizeof(char)が必ず1でも、省略すべきではない (657)
273: ネットワークプログラミング相談室 Port30 (654)
101: テストしにくいコードをテストする方法 その2 (652)
360: C++/TemplateMetaProgramming (649)
355: こんなプログラミング言語は嫌だ! (645)
222: 「コンパイラ・スクリプトエンジン」相談室16 (638)
205: 【MACRO】Google Apps Script 質問スレ【DRIVE】 (638)
278: C++は難しすぎ 難易度:4 (635)
732: プログラミング未経験→月4万 (633)
443: 俺主催囲碁プログラミングコンテスト (633)
79: HSP総合スレ【part 10】 [無断転載禁止](c)2ch.net (631)
153: Subversion r15 (629)
90: バージョン管理システムについて語るスレ10 (624)
100: Smalltalk総合 Squeak Pharo (623)
234: 【実験台】 Python 3.0 のお勉強 Part 1 【非互換】 (619)
471: 【Java】Wicket【HTML】 (618)
899: Ruby 初心者スレッド Part 65 (615)
397: Visual Studio IDE環境 (615)
976: Excel VBA 質問スレ Part62 (615)
345: ■暗号技術【ROUNDsurea】■ (613)
80: 結局プログラム作るのってWinとLinuxどっちがいい? (612)
49: C/C++の宿題片付けます 170代目 (607)
461: 新言語を開発したい (607)
407: ***Javaのオススメ入門書*** 『創るJava』 3.0 (607)
29: お前らプログラミング言語どうやって覚えたんや? (607)
463: 今まで見た中で一番すげーコメント (605)
69: C言語なら俺たちに聞け パート0001 (605)
833: 自然言語処理スレッド その5 (604)
353: 【マック】Macintoshプログラミング質問箱 (603)
980: 【統計分析】機械学習・データマイニング25 (600)
285: 最も美しいプログラミング言語は? Part6 (600)
248: 【コメント】doxygen【コンソメ】 (599)
953: オブジェクト指向ってクソじゃねぇかよPart4 (597)
84: 【入門】Common Lisp その11【質問よろず】 (595)
384: 訃報: C 言語の開発者、デニス・リッチー氏が死去 (594)
680: 師匠!1週間よろしくお願いするぞ! (586)
783: スレ立てるまでもない質問はここで 149匹目 (571)
326: Microsoft Silverlight その9 (570)
473: 国産オープンソースDIコンテナSeasar2 その16 (569)
640: Xamarin Part6 (565)
771: BASICの宿題はお前にまかせた (562)
431: 日下部陽一著 作ってわかるCプログラミング(第6版) (557)
121: StackOverflowについて語るスレ (550)
120: 疑似乱数2 (543)
266: Message Passing Interface (MPI) 統合スレ (543)
212: JavaScript情報交換所(プログラミング既習者専用) (543)
20: Cygwin + MinGW + GCC 相談室 Part 8 (540)
241: BrainFuck Part.3 (538)
210: GCCについて part10 (538)
186: Vim vs Emacs Part2 (538)
958: WPF(.NET4.x, .NET Core) GUIプログラミング Part23 (537)
893: 文字コード総合スレ Part12 (530)
3: ☆★Java質問・相談スレッド182★★ (519)
383: パチンコ、パチスロの基盤のプログラム 2 (517)
274: VisualBasic6.0 対 VisualBasic .NET 2003 (510)
50: 【独学】一人で勉強する奴らのスレ【自習】 (507)
256: 【SL4】Windows Phone 7 アプリ開発スレ Part4【XNA】 (506)
441: 簡単なプログラム言語って何? (505)
59: Androidプログラミング質問スレ revision53 (504)
884: 【PHP】下らねぇ質問はここに書き込みやがれ 10 (490)
432: COM (487)
6: 古代VBプログラマ質問スレ(Ver.6.0 まで) part65 (484)
392: 【Java】DIコンテナって本当に便利か? (484)
56: Perl初心者スレ(マジレス回答) (478)
363: NullPointerExceptionを「ぬるぽ」と呼ぶスレ6 (477)
89: Julia Juno Jupyter part1 (476)
60: MATLABプログラミング 質問箱 その4 (475)
936: Visual Studio Code / VSCode Part6 (466)
146: アセンブラ 13 (466)
362: 【コボル】COBOL不要論【ただのDSLだよね?】 (459)
381: 今だからこそ2ch代替サービスの実装を考えるスレ (459)
359: Kinect ハック 2台目 (413)
107: ふらっと C#,C♯,C#(初心者用) Part127 (408)
918: 関数型プログラミング言語Haskell Part32 (408)
227: エスパーが質問に答えるスレ (407)
446: 七行プログラミング part6 (401)
142: アセンブラ初心者スレッド 2 (401)
172: OpenMPプログラミング (400)
231: Google Maps API 質問箱 (399)
838: UWSC初心者用スレ (398)
451: クロージャって何がいいの? (397)
145: ゲームプログラムなら俺に聞け33 (395)
41: ●●●●TCL/TKなら俺に聞け 4●●●● (392)
691: Excel Python 質問スレ (389)
467: 「OS自作入門」 (387)
125: Mathematicaプログラミング 質問箱 その1 (386)
288: 文字コードの種類は何故複数あるのでしょうか? (384)
33: スレを勃てるまでもないC/C++の質問はここで 25 [隔離病棟] (382)
573: 本当に必要ものは人工知能ではなくて検索エンジン (381)
373: Borland C++ Compiler オ ワ タ (381)
389: 逆コンパイラCodeReverseを作る (379)
436: Borlandにはやられた... (379)
374: JavaScript 4 (376)
36: 懐かしのMS-DOSプログラミング ver.2 (370)
275: TopCoder (369)
77: 【Java標準GUIライブラリ】 JavaFX スレッド (369)
307: Google App Engine for java (368)
813: 構造化プログラミングはまだ必要ではないのか? (368)
470: 0から始める2chブラウザfor超漢字 "2ch de BTRON" (367)
650: ねねっちと一緒にプログラムを勉強するスレ第3話 (366)
131: 【DI】Java Spring Frameworkを語るスレ 5.0 (366)
99: PHPがいかに駄目言語であるかをちゃんと説明 Part.2 (364)
693: ExcelVBAで勤務表を作ろう (364)
909: Android Studio Part3 (363)
303: くだらないアルゴリズムを考えるスレ (361)
411: Google NaCl プログラミング 2mol (361)
369: プログラマー目指してるんだが色々と教えてくれ (360)
260: 2ちゃんねる互換P2P匿名掲示板の実装を考える 1 (359)
217: C/C++のライブラリ総合スレ (358)
722: 【C++】 DirectX初心者質問スレ Part41 【C】 (354)


 

Visual Studio 2008 Part 22 (308)

人気スレ 上位板 ブックマ-ク見る