使用argv Ubuntu传递文件

时间:2017-11-24 01:34:40

标签: c++ ubuntu

我是ubuntu的新手,我在c ++中的代码如下:

#include <stdio.h>
#include <vector>
#include <iostream>
#include <string>

using namespace std;

int main(int argc,char *argv[]) {
  //commands
}

代码在Windows中完美运行,但现在我试图在ubuntu上运行它,但命令行:

g++ -Wall  code.cpp file.txt

返回错误“文件格式无法识别;视为链接描述文件”

我该怎么做才能运行代码?

2 个答案:

答案 0 :(得分:0)

g ++是编译文件,而不是执行。所以你不需要用g ++传递file.txt。在您提供的命令行中,g ++实际上是在尝试将file.txt编译为c ++代码。您需要在执行代码时提供该文件。因此,您需要两个命令行,如下所示:

g++ -Wall code.cpp
./a file.txt

有关ubuntu的g ++命令的更多详细信息,请访问this link

答案 1 :(得分:0)

看起来你正在混合:编译,链接和执行你的程序。

  1. 在对象文件中编译代码
  2. 将您的目标代码文件链接到一个可执行程序g++ -o myProgram thing.cpp code.cpp(同时执行这两个步骤)
  3. 授予可执行程序chmod u+x myProgram
  4. 执行权限
  5. 执行您的程序并将所需的参数传递给它。 ./myProgram file.txt
  6. The C++ compilation process

    Compiling C++ programs with g++