Visual Studioでビルド時のファイルオープンエラー

対象はVista以上。俺はWindows Server 2008 R2で発症。

症状はVisual Studioのあらゆるバージョンで、F5とかで実行後にビルドしようとすると以下のようなエラーが発生。そのexeのプロセスが残ってるわけでもなく、ファイルロックはシステムプロセス(pid=4)のみ、explorerから削除は出来たりする。

error LNK1104: ファイル '[ターゲット].exe' を開くことができません。

解決法は”Application Experience”サービスを有効(手動でおk)にしろ、とのこと。

原因他詳細は以下(英語)。
Can’t delete EXE files in Vista / Windows 7 (SOLVED)

経緯は以下。
Visual Studio フォーラム > ビルド時の不明なファイルオープンエラー

そもそもそのサービスを無効にしてしまったのは鯖OSの都合で、別の問題(ファイル共有が有効にならない)を解決するためにセキュリティの構成を作り直したからだと思う。

それにしても初めてMSDNフォーラム使ったw人が多いだけあって、反応も早かった。詳細書いたらちゃんと誘導してくれるし。案外便利だな、なんで今まで使わなかったんやろ?

ブログソフト

ブログソフトWordPressを採用。重くてリッチなMySQL+PHP。

余計な時間を割きたくなかったので最もポピュラーな部類から選ぼうと思って、これとMovable Typeの二者択一。取り敢えず両方動かしてみようと思ったらMovable TypeがDL出来なかったのであっさりWordPressに決定。うちの鯖が王道LAMP構成なので動作に問題はない。

サイトの”インストール”に従ってそのまま問題なく設定、動かしてみると案外使い勝手が良い。ただやっぱり動作は重い。適当にググったらWP Super Cacheとか言う奴の説明があったからそのままreadmeに従ってインストール。面倒だったがこれで速く、なったのか分からない。

次に必須要件のコードハイライト、ググったら『ソースコードをハイライトしてくれるWordPressのプラグイン』って記事発見。コードハイライトプラグインの比較があるので参考にして、そこと同様にSyntaxHighlighter Evolvedに落ち着いた。C++,C#,bash辺りが対応してたらよろしい。それに割かし見た目も良いしコピーできて便利だ。

因みにGoogle ~ってのはGoogle codeにホスティングされてるsyntaxhighlighterを使ってるってだけっぽい。確かに名前がややこしいな。

最後にサンプル。n番目の素数を求める(prime(0)=2)。ちゃんと<iostream>とか出てるねw

#include <iostream>

typedef unsigned long long type;

int main()
{
	type n, p;
	std::cin >> n;

	if(!n--)
		p = 2;
	else
		for(type i = 3; ; i += 2)
		{
			for(type j = 3; j * j <= i; j += 2)
				if(i % j == 0)
					goto noprime;
			if(!n--)
			{
				p = i;
				break;
			}
			noprime:;
		}

	std::cout << p << std::endl;

	return 0;
}