【问题标题】:edit bash command gcc to compile and execute in one line编辑 bash 命令 gcc 编译并在一行中执行
【发布时间】:2015-01-19 18:21:51
【问题描述】:

我想知道这是否可行:

如果你输入gcc filename.c,你将在a.out文件中编译filename.c 如果您输入./a.out,您将执行该文件。

它的复合版本

gcc filename.c && ./a.out

我想在 bash_profile 中编辑此命令,以便在一个简短的命令行中执行此操作。

gcc filename.c 这样做gcc filename.c && ./a.out

【问题讨论】:

  • 如果构建失败会怎样?
  • 如果您的代码完美,或者您的代码失败,您可以对问题进行回应
  • @UniCell 可能是给 stderr 的消息和退出...这里使用 && 似乎非常合理
  • @arco444 我的问题有点讽刺,因为他可以轻松实现。
  • 我不知道如何实现这一点。因为你需要提示文件名

标签: c macos bash gcc


【解决方案1】:

你可以声明一个函数:

gccrun () {
    gcc "$1" && ./a.out
}

不过要小心:如果有人使用 C 文件的完整路径作为参数怎么办?

Makefiles 通常用于这类东西。

a.out: file.c
    gcc $<

run: a.out
    ./a.out

make run 将运行 a.out 重新编译它,如果它的源自上次编译后已更改或不存在。

【讨论】:

  • 非常感谢您的回答。 :D 编码愉快!
  • 我现在想这样做:gcc filename.c -o filename && ./filename.out
  • @Rslnautic:阅读 bash 中的参数扩展并完成它 (${1%.c})。
猜你喜欢
  • 2014-03-27
  • 2012-09-11
  • 1970-01-01
  • 2017-02-09
  • 2016-08-24
  • 2014-02-19
  • 1970-01-01
  • 2019-06-22
  • 2021-03-01
相关资源
最近更新 更多