リンクと同名シンボル: weak シンボル編 先日の記事では静的リンクの際に同名シンボルの衝突は検出されると書きました。しかし、 weak シンボルが存在すると話は変わります。 次のようなプログラム main.cpp があります。 #include <iostream> class Foo { public: Foo(int x) : x_(x) {} void func() { std::cout << x_ << std::endl; } private: int x_; }; int main () { Foo foo(256); foo.func(); return 0; } このプログラムをコンパイルして実行すると 256 と表示されます。 % g++ -c main.cpp % g++ -o main main.o % ./main 256 ここで、main.cpp とはまった