我想知道如何嵌入CINT成C ++代码在Windows 7或Windows NT。
Windows7上,我需要写一个C ++程序,它从一个输入文件中读取一个C ++程序,运行它,并计算有很多行代码在运行过程中被处决。我发现,这样做将是最好的方式(1)更新读出的程序代码,以便一旦执行它的命令的计数器值增加(为命令,如退货或打破计数器的值会在执行前增加),和(2)与C ++解释执行更新的程序,读出计数器值一旦返回。我希望其他的方法来解决这个问题。
我在网上搜索,发现CINT将是正确的解释器使用(虽然旧)。我下载了它从根主页,安装了它,就扔TestApp演示,但它构建了我一个链接错误我没有找到如何解决。因此,我需要你的帮助。
最好的是,如果有人能提供给我一个项目,在Windows的C ++代码中嵌入CINT,所以我可以测试我的机器上,并找到我的错误。
我欢迎任何其他输入居停也。
提前致谢
一个更合理的替代方法是当你读它来修改源文件。例如,当这是你输入:
void foo() {
std::cout << "Hello";
std::cout << " World" << std::endl;
}
你把它转换成这样:
static int LineCounter = 0;
extern "C" int getLineCounter() { return LineCounter; }
extern "C" void foo() {
++LineCounter;
std::cout << "Hello";
++LineCounter;
std::cout << " World" << std::endl;
}
并传递到编译器。它编译成一个DLL,调用LoadLibrary
,GetProcAddress("foo")
和GetProcAddress("getLineCounter")
。