※この記事に書いてある「質問」とは、
http://dixq.net/forum/viewtopic.php?f=3&t=6992&p=59345
のことです。
質問に答えるためにVisual Studioというやつを使ってみたのだが...
感想:なんだこれwww
本当の内容はこのVisual Studioの悪口です。(愛用者のかたすみません)
題して、Visual Studioのここが悪い!
・起動が遅い
自分がふつうに使っている他の開発環境と比べて圧倒的な起動の遅さを誇っています。
[table=][tr=][td=]開発環境[/td][td=]クリックしてから使えるようになるまでの時間[/td][/tr]
[tr=][td=]Dev-C++ 4.9.9.2[/td][td=]約9秒28[/td][/tr]
[tr=][td=]C言語を始めよう! 2.0.0.5[/td][td=]約2秒81[/td][/tr]
[tr=][td=]Microsoft Visual Studio[/td][td=]約21秒86[/td][/tr][/table]
文字通り桁が違うwww
・設定がめんどくさい
その質問は音楽をどこに置くかというものであったが、
それ以前に基本の枠組みのコピペでもコンパイルが通らなかったです。
設定の方法が書いてあるとはいえ、
たとえるなら「日本大学生産工学部のOCで意味もわからず指示された通りにANSYSをいじる」、そんな感じでした。
(わかりにくいたとえですみません)
・無駄にプロジェクトを作る必要がある
この質問に答えるには、ソースを1つ書くだけで済みます。
それだけなのに、わざわざプロジェクトを作らなければならないようです。
「新規作成>ファイル」でファイル単体も作れるようですが、それではコンパイルできないようです。
それではただのテキストエディタではないか。(テキスト以外も作れるようだが)
もちろんDXライブラリも使える「C言語を始めよう!」では、そんなものを作る必要はありません。
・意味不明な巨大ファイルが作られる
この質問に答えるために作ったプロジェクトでは、33.7MBの.sdfファイルが作られました。
もしこれがUSBメモリー上で、容量が10MBくらいしかなかったら.....
そしてプロジェクト全体の容量は86.7MBでした。(3.88MBのmp3ファイルを含む)
「C言語を始めよう!」でも、.tdsという変なファイルが作られますが、こちらは384KBです。
大きいことには変わりありませんが、かなりましでしょう。
ちなみにDXライブラリを使うとexeのサイズは2MBくらいになります。
・exeファイルの容量が無駄にでかい
Microsoft Visual StudioでDXライブラリを使ってexeファイルを作ると、3538KBになりました。
全く同じソースで「C言語を始めよう!」だと、2007KBでした。
何と、1MB以上の差があります。
それでも何らかの理由でMicrosoft Visual Studioを使い続けたいという方は、どうぞお使いください。
そうでない方は、自分が使っている以下の開発環境を使ってみてはいかがですか?
・Dev-C++
安定した英語版と不安定な日本語版があります。
英語版に無理やり日本語の言語ファイルを読み込ませると文字化けします。
しかし、Portable版もあり、使いやすいです。
自分のメインの開発環境です。
http://www.bloodshed.net/devcpp.html
日本語版:http://dev-cpp-jp.sourceforge.jp/
・C言語を始めよう!
http://homepage3.nifty.com/aokura/
ちょっとコンパイラの入手が複雑ですが、
バージョン2系統は複数ファイルにも対応していて、そこそこ使えます。
DXライブラリを使うときはこっちの開発環境です。
もちろん龍神録もちょっとプロジェクトを簡易変換し、
エラーメッセージを見ながら多少修正するだけでコンパイルできます。
変換スクリプトも載せておきます。
#!/usr/bin/perl
opendir(DIR,"project");
while($dir = readdir(DIR)) {
if(-d "project/$dir") {
if(open(IN," project/$dir/RyuJin.prj")) {
print OUT "[Settings]\n";
print OUT "ExeName=\n";
print OUT "Options=-W\n";
print OUT "Arguments=\n";
print OUT "Make Option=-a -c\n";
$count=0;
while() {
if($_ =~ /RelativePath=\".*\"/) {
$file=$_;
$file =~ s/^.*RelativePath=\"(.*)\".*$/$1/;
printf OUT "File%03d=%s",$count,$file;
$count++;
}
}
printf OUT "Count=%d\n",$count;
print OUT "Make Clean=0\n";
close(OUT);
} else {
print "出力エラー:" . "project/$dir/RyuJin.prj" . "\n";
}
close(IN);
} else {
print "入力エラー:" . "project/$dir/RyuJin.vcproj" . "\n";
}
}
}
closedir(DIR);
もちろん使いなれたテキストエディタとコマンドプロンプトでもかまいません。