“为什么?”/a、 “出去”;只运行上一个编译的可执行程序,而不运行上一个? 我已经用java做了我的前两门课程,现在必须在C++中使用数据结构。我正在尝试打开我编译的不同文件

“为什么?”/a、 “出去”;只运行上一个编译的可执行程序,而不运行上一个? 我已经用java做了我的前两门课程,现在必须在C++中使用数据结构。我正在尝试打开我编译的不同文件,c++,C++,它们只是两个文本略有不同的“Hello,world!”程序 当我打字时: g++ HelloWorld.cpp 创建文件“a.out”,我通过在命令提示符中键入./a.out来运行该文件 现在我编译了第二个可执行程序HelloWorldII.cpp,a.out文件只运行该程序 当我尝试运行./HelloWorld.cpp时,我的权限被拒绝,因此我键入: sudo chmod 744 /Users/username/HelloWorld sudo chown -R "$garyjones:"

它们只是两个文本略有不同的“Hello,world!”程序

当我打字时:

g++ HelloWorld.cpp
创建文件“a.out”,我通过在命令提示符中键入./a.out来运行该文件

现在我编译了第二个可执行程序HelloWorldII.cpp,a.out文件只运行该程序

当我尝试运行./HelloWorld.cpp时,我的权限被拒绝,因此我键入:

sudo chmod 744 /Users/username/HelloWorld
sudo chown -R "$garyjones:" users/username/HelloWorld
要使我成为无法工作的文件夹的所有者,请键入:

sudo chmod 744 /Users/username/HelloWorld
sudo chown -R "$garyjones:" users/username/HelloWorld
为了给所有者(me)编辑/打开的权限,在此之后,当我尝试运行./HelloWorld.cpp时,终端开始尝试执行它,但却显示了语法错误,即使使用g++HelloWorld.cpp编译它们并使用它们的a.out文件运行也可以


如果一个文件夹中有多个可执行文件,如何打开所需的文件?

编译和链接代码时,默认情况下,可执行文件名为
a.out
-您应该在链接中添加一个参数来命名它


如果不这样做,它们都将被命名为
a.out
,当然会相互覆盖-只有一个文件具有该名称。

尝试执行纯ascii文本文件是很奇怪的。您不理解执行模式的含义。您不熟悉g++。似乎您不知道编译器如何从源文件生成可执行文件的过程

这是我的建议

  • 谷歌搜索g++或其他编译器的基本用法。选择你最喜欢的 这是暂时的解决办法

    g++ <source file> -o <executable filename>
    
  • 弄清楚文件权限的确切含义
  • a.out文件名有其传统的原因,我建议您探究一下。真有趣
    *.cpp文件需要编译为二进制可执行文件,然后才能执行。输出参数为
    -o
    。e、 g.
    $g++HelloWorld.cpp-o HelloWorld