Am 29.08.2013 22:04, schrieb Martin Nowak:
So the alias trick would only work for functions.
yes
For data the _imp_* symbol would need to be a pointer to the data?
yes
How about LTO, when statically linking it should be possible to optimize
away the indirection.
Rainer Schuetze stated that some linkers are capable of doing this
optimizations. But I don't know aynthing further about this topic.
module libA;
export int var;
int* _imp_var = &var; // created by compiler
module foo;
import libA;
void bar()
{
auto val = var; // creates val = *_imp_var;
}
Yes that would work. Still there must be a reason why microsoft doesn't
do stuff like that in their C++ toolchain. Its certanly going to cost
performance.