RAMディスクでコンパイル
最近C言語を始めたのですが、感想としてはHSPと比べて、やっぱりコンパイルが長いですね。
速度の面ではCの方が圧倒的に速いからいいんでしょうけど。
で、このコンパイルというのがクセモノで、ヘタにSDカード上でやるとコンパイルにもの凄く時間がかかります。
しかもSDカードに負担かけまくりですから、壊れやすくなりますね。
事実、部の先輩でUSBメモリの上でコンパイルを幾度となくやっていたところ、USBメモリの読み込みができない事態まで発展してしまったそうな。
それではEeePCのSSD上でやればいいじゃないか、なぁんてことも考えたのですが、どっちにしろ寿命を縮めるのは同じなんですよね。
しかもSSDがぶっ壊れたら損害はさらに大きいですし。
どの記録媒体でやっても、その媒体を傷めるのは自明のことですが、メモリ上で展開してやれば、この問題が回避できるのではないかと考えたわけ。
というわけでRAMディスク上でコンパイルができるようにしてしまいました。
まず、起動するとソースのあるディレクトリ内のデータをすべてRAMディスクにコピーするバッチファイルを作成する。
xcopyを使えば簡単にできるので、詳しいことは割愛する。(コマンドプロンプトで xcopy /? をしてみればググるまでもない)
その後、RAMディスクから元ソースへコピーして保存するためのバッチファイルを作成。
このとき注意すべきなのは、頻繁に書き換えるヘッダファイルとソースコードのみをコピーする設定でバッチファイルを組むことだろうか。
その他の素材なども全部コピーしていたら時間がかかるからね。(ソース以外を変更した場合は手動でコピー)
とりあえず、どのような流れでプログラミングをするかというと、
1.PCの電源を付ける。
2.元ソース→RAMへコピーするバッチファイルを起動。
3.RAMディスク上のソースを編集、コンパイルする。
4.時々Ctrl+Sで保存しておくといいかも。(ただし、これはRAMディスク上のソースが保存されただけであって、元ソースは書き変わっていない)
5.電源を切る前に必ずRAM→元ソースへのコピー用バッチプログラムを走らせる。
6.PCの電源を切る。
5はあまり頻繁に行わない方がいいけれど、最後は絶対に実行しないと電源を切った瞬間にデータが吹っ飛ぶ。
BCCDevelopperなら(VC++とかは知らない)コマンド実行っていうのがあるから、そこから先ほど作ったバッチファイルを実行すればいい。
実行したときのコマンドの履歴も残るので、コマンド実行にショートカットキーを割り当てれば、苦にもならないし、忘れることもない。
因みに、RAMディスク上からコンパイルすると、ものすごく速いですよ〜。
ほとんど気にならないくらい。
一度お試しあれ。
・・・どうしてですます調とため口が混ざってるんだろ。
速度の面ではCの方が圧倒的に速いからいいんでしょうけど。
で、このコンパイルというのがクセモノで、ヘタにSDカード上でやるとコンパイルにもの凄く時間がかかります。
しかもSDカードに負担かけまくりですから、壊れやすくなりますね。
事実、部の先輩でUSBメモリの上でコンパイルを幾度となくやっていたところ、USBメモリの読み込みができない事態まで発展してしまったそうな。
それではEeePCのSSD上でやればいいじゃないか、なぁんてことも考えたのですが、どっちにしろ寿命を縮めるのは同じなんですよね。
しかもSSDがぶっ壊れたら損害はさらに大きいですし。
どの記録媒体でやっても、その媒体を傷めるのは自明のことですが、メモリ上で展開してやれば、この問題が回避できるのではないかと考えたわけ。
というわけでRAMディスク上でコンパイルができるようにしてしまいました。
まず、起動するとソースのあるディレクトリ内のデータをすべてRAMディスクにコピーするバッチファイルを作成する。
xcopyを使えば簡単にできるので、詳しいことは割愛する。(コマンドプロンプトで xcopy /? をしてみればググるまでもない)
その後、RAMディスクから元ソースへコピーして保存するためのバッチファイルを作成。
このとき注意すべきなのは、頻繁に書き換えるヘッダファイルとソースコードのみをコピーする設定でバッチファイルを組むことだろうか。
その他の素材なども全部コピーしていたら時間がかかるからね。(ソース以外を変更した場合は手動でコピー)
とりあえず、どのような流れでプログラミングをするかというと、
1.PCの電源を付ける。
2.元ソース→RAMへコピーするバッチファイルを起動。
3.RAMディスク上のソースを編集、コンパイルする。
4.時々Ctrl+Sで保存しておくといいかも。(ただし、これはRAMディスク上のソースが保存されただけであって、元ソースは書き変わっていない)
5.電源を切る前に必ずRAM→元ソースへのコピー用バッチプログラムを走らせる。
6.PCの電源を切る。
5はあまり頻繁に行わない方がいいけれど、最後は絶対に実行しないと電源を切った瞬間にデータが吹っ飛ぶ。
BCCDevelopperなら(VC++とかは知らない)コマンド実行っていうのがあるから、そこから先ほど作ったバッチファイルを実行すればいい。
実行したときのコマンドの履歴も残るので、コマンド実行にショートカットキーを割り当てれば、苦にもならないし、忘れることもない。
因みに、RAMディスク上からコンパイルすると、ものすごく速いですよ〜。
ほとんど気にならないくらい。
一度お試しあれ。
・・・どうしてですます調とため口が混ざってるんだろ。


