[cfe-users] using Clang for runtime compilation of a class
Georg Bartels via cfe-users
cfe-users at lists.llvm.org
Sat Oct 3 00:30:39 PDT 2015
Dear Clang Users,
I have a particular programming problem, and several discussion forums
suggested Clang as a possible solution. Being totally new to Clang and
its community, is this the right place to ask questions about how to use
Clang for a particular programming task? If not, where should I turn to?
In case this is the right forum for such questions, I continue
describing my problem. Basically, I want to compile a class which
inherits from a virtual interface class at runtime of my program. The
program should then create an instance of this new class and use it
through its interface.
Let me quickly sketch an example. The static version of my program would
look like this:
class Base
{
public:
virtual int calc() const;
};
class Derived: public Base
{
public:
virtual int calc() const
{
return 42;
}
};
int main()
{
std::cout << Derived().calc() << std::endl;
return 0;
}
The dynamic version (with two fuzzy lines of code) shall look like this:
class Base
{
public:
virtual void calc() const;
};
int main()
{
std::string code = read_derived_code();
// two fuzzy lines for which I am looking for a solution
SomeCompiledObjectClass o = compile(code);
Base* d = SomeFactoryClass(o).createInstance();
std::cout << d->calc() << std::endl;
return 0;
}
Is Clang the right tool for solving my two fuzzy lines of code? If yes,
which class should have a look at? If not, do you maybe know about
another library/compile which can achieve this task?
Thanks a lot for your help!
Cheers,
Georg.
More information about the cfe-users
mailing list