K's Diary


このページは、たわいのない日々のウワゴトを綴るページです。
なんてツマラナソウナページなんだ(笑)

一応、内容毎にタイトルの色を変えています。
緑色はlinuxに関する話題、 黄色はコンピュータゲームに関する話題、 水色はその他の話題になっています。
なお、スタイルシートに対応していないブラウザでは、 色は変わりませんのであしからず。


過去の日記

全てのトピックを表示


'03/10/5

■ cygwinのSTL

最近、cygwin+mingwでWindowsアプリを作ってたりしてるんですが、 一つ気になる点があります。 それは、C++でSTLを使用すると、極端に実行ファイルが大きくなる点です。

例えば、以下のソース。

  #include <string>
  #include <stdio.h>
  
  int main(void)
  {
    std::string a("aaa");
    printf("a = \"%s\".\n", a.c_str());
    return 0;
  }

これをVisualC++でコンパイルすると、実行ファイルのサイズが40k。 しかし、cygwinのgccでコンパイルすると400k近く、なんと10倍近くになります。
いくら最近メモリが増えているからと言って、400kはちょっと…。 と思い、cygwinでC++を使うのを止めました。

そしてしばらくして、今日ふと再チャレンジしてみると、なんと90kに!!
おぉ、頑張ってるな。まだ大きいけど、これからも期待できるな。

…などと偉そうな事を言っていたのですが、ここである事に気付きました。
そういえば、stripしていないよな?あいや、別に服を脱ごうって訳じゃありません。
stripというのは、UNIX系で実行ファイルのデバッグ情報を取り除くコマンドです。 つまり言い換えれば、stripしてなきゃ、デバッグ情報付いたまんまじゃん!!
stripを実行すると、40k。あぁ、やっぱり…。

結局のところ、原因は私の頭にあった訳ね。
今までCでオブジェクト指向なプログラミングを必死になってやってた私って…。

■ Linux閑話

最近暇が無くて、Linuxに触れていません。 うちのRedHat8も、そろそろ変えたいなぁ…。

LinuxFromScratch4.1を始めたけれど、途端に5.0のプレリリース版が出て、 こりゃ5.0が出るのを待った方がいいか?なんて思ったりして。
そもそも、ただでさえLFSは時間がかかるのに、メインで使うためにrpmで パッケージ管理しようなどと企んでいるものだから、 もう何回もコンパイルせねばならん。
何とかならないかな…。

Slackware9.1が出たみたいだけど、LFS5.0が出る間、試してみようかしら?