Skip to content

Instantly share code, notes, and snippets.

@torarnv
Created September 20, 2010 16:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save torarnv/588176 to your computer and use it in GitHub Desktop.
Save torarnv/588176 to your computer and use it in GitHub Desktop.
#include "base.h"
Base::Base() {}
Base::~Base() {}
class Base
{
public:
Base();
virtual ~Base();
};
#include "base.h"
namespace {
class LocalToTranslationUnit : public Base {
public:
LocalToTranslationUnit() {}
};
}
void CLASS()
{
LocalToTranslationUnit local;
}
all: compile
clean:
rm -f *.o *.dylib *.app
compile: lib
lib: clang-lib gcc-lib
clang: clang-lib
clang-lib:
clang++ -c base.cpp -o base.clang.o -fvisibility=hidden -fvisibility-inlines-hidden
clang++ -c derived.cpp -o foo.clang.o -fvisibility=hidden -fvisibility-inlines-hidden -DCLASS=Foo
clang++ -c derived.cpp -o bar.clang.o -fvisibility=hidden -fvisibility-inlines-hidden -DCLASS=Bar
clang++ -dynamiclib base.clang.o foo.clang.o bar.clang.o -o libfoo.clang.dylib
gcc: gcc-lib
gcc-lib:
g++ -c base.cpp -o base.gcc.o -fvisibility=hidden -fvisibility-inlines-hidden
g++ -c derived.cpp -o foo.gcc.o -fvisibility=hidden -fvisibility-inlines-hidden -DCLASS=Foo
g++ -c derived.cpp -o bar.gcc.o -fvisibility=hidden -fvisibility-inlines-hidden -DCLASS=Bar
g++ -dynamiclib base.gcc.o foo.gcc.o bar.gcc.o -o libfoo.gcc.dylib
nm:
nm *.o | c++filt
nm *.dylib | c++filt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment