【问题标题】:cling - prevent exiting when piping in data紧贴 - 防止在数据管道中退出
【发布时间】:2012-12-12 02:13:16
【问题描述】:

我正在使用clingrepl: 选项添加到我的makefile 中,这将使我进入repl 以使用我当前的项目。我创建了一个cling_init.cpp,它引入了所有标题并进行了一些基本设置。

然后在我的Makefile:

repl:
    cat cling_init.cpp | cling -std=c++11 // etc ...

问题是当我输入内容时,cling 在评估后退出。我一直在寻找将文件传递给 cling 的选项,但我似乎找不到任何东西。

有没有办法做到这一点?

【问题讨论】:

  • @Robᵩ 读取评估打印循环
  • 问题是当输入流到达 EOF 时,您的 shell 将关闭输入流,而 cling 与手动输入数据然后在结束。你需要一些不是管道的方法。

标签: c++ cling


【解决方案1】:

知道了!您可以像传递库-l 一样传递源文件。

repl:
    cling -std=c++11 -lcling_init.cpp -llibpq.so -lliblog4cxx.so //etc ...

仅供参考,您还需要输入整个库名称才能使其工作。

为了进行额外的设置,我不得不使用静态块:

#include <iostream>

struct ClingInitialize {
  ClingInitialize () {
    std::cout << "initialize" << std::endl;
  }
};

static ClingInitialize staticBlock;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多