g++のコメント文

			to = attack_koma[player][type][pos].pos[i];
			// 移動先が自分の駒でなければ移動可能
			if(in->kifu[to] <= 0)
			{	
                            .....

というプログラムがあって、VC++だとちゃんと動作するけど
g++で実行すると、in->kifu[to] <= 0の条件が無視されて
必ずif文を実行してしまう現象が起きていた。
cygwinでもlinux上でも同じ現象が。とても困っていた。

			to = attack_koma[player][type][pos].pos[i];
			/* 移動先が自分の駒でなければ移動可能 */
			if(in->kifu[to] <= 0)
			{	
                            .....

こうするとちゃんと動くようになった。なんなんだ。
学習はlinuxマシンにやらせているので、いろいろおかしい部分が
ありそうだ。