gpt4 book ai didi

c++ - 为什么 "./a.out"只运行最后编译的可执行程序而不运行之前的?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:04:54 24 4
gpt4 key购买 nike

我已经在 J​​ava 中学习了前两门类(class),现在必须在 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:" users/username/HelloWorld

授予所有者(我)编辑/打开的权限,之后当我尝试运行 ./HelloWorld.cpp 时,终端开始尝试执行它但反而显示语法错误,即使使用 g++ HelloWorld.cpp 编译它们也是如此并使用它们的 a.out 文件运行它们工作正常。

如果我在一个文件夹中有多个可执行文件,我该如何打开我想要的那个?

最佳答案

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

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

关于c++ - 为什么 "./a.out"只运行最后编译的可执行程序而不运行之前的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52240969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com