直接从命令行使用C ++命令

时间:2013-12-16 08:47:38

标签: c++

我想问一下,你有什么方法可以简单地使用'std :: cout<< “你好,世界”;'直接来自命令行。
就像你安装了python一样,

$python
print 'Hello world'
Hello world

无论如何都可以为C ++做这样的事情吗?

4 个答案:

答案 0 :(得分:8)

cling这是一个交互式C ++ shell。我没有用它,但它可能符合你的需要。

这是一个更加扩展的响应:我花了一段时间来构建cling,主要是因为我没有按照完全的说明并设置源树以包含应该具有的内容包括在内。以下是我用来构建和安装cling的步骤(构建发行版本对我不起作用):

svn co -r 191429 http://llvm.org/svn/llvm-project/llvm/trunk llvm
cd llvm/tools
svn co -r 191429 http://llvm.org/svn/llvm-project/cfe/trunk clang
git clone http://root.cern.ch/git/cling.git
cd ..
cat tools/cling/patches/*.diff | patch -p0
./configure --enable-targets=host --prefix=/opt/cling
mk -j8
sudo - make install

在此之后,我得到了一个C ++ shell。当然,我的第一次互动并不完全成功,因为cling页面说它包含一些标题。我原以为它肯定会包括<iostream>但事实并非如此。这是一个简单的交互,但是:

$ /opt/cling/bin/cling 

****************** CLING ******************
* Type C++ code and press enter to run it *
*             Type .q to exit             *
*******************************************
[cling]$ #include <iostream>
[cling]$ std::cout << "hello, world\n";
hello, world
[cling]$ #include <iterator>
[cling]$ std::copy(s.begin(), s.end(), std::ostream_iterator<char>(std::cout));
hello, world
[cling]$ .q

答案 1 :(得分:0)

我不这么认为,C ++需要先编译,Python是一种解释语言。

所以你不能有一个调用

的脚本
cout<<"Hello world"; 

没有先编译代码。

答案 2 :(得分:0)

Python是一种解释语言: http://en.wikipedia.org/wiki/Interpreted_language

C ++是一种编译语言: http://en.wikipedia.org/wiki/Compiled_language

所以没有。 遗憾

答案 3 :(得分:0)

如果您正在使用GCC和Cygwin或Linux,您可以执行以下操作:

echo -e '#include <iostream>\n int main(void) {std::cout << "Hello world";}'|g++ -xc++ - && ./a.out && rm a.out