Linux - 你可以在一个终端行中编译并运行一个程序吗?

标签 linux compilation

例如,名为program.c的程序

g++ program.c -o programName
./programName

有什么办法可以合并这两条线吗?

最佳答案

是的,你可以写...

g++ program.c -o programName && ./programName

只有在编译成功时才会尝试运行您的程序。

对于更通用的方法,您可以编写 bash 脚本..

#!/bin/sh
g++ $1 -o $2 && ./$2

然后你可以这样做(前提是它在你的 PATH 上,它是可执行的并且名为 mycompile)...

mycompile program.c programName

要使该程序在您的 PATH 上可用,您可以将其弹出到 bin 目录或 echo $PATH 下的任何目录中。如果您不想这样做,请打开您的 ~/.bashrc 文件并将其父目录添加到您的 PATH 中,其中 PATH="$PATH:your/new/dir"(请记住该文件夹中的所有脚本现在都可以访问)。

确保它是可执行的(使用ls -l mycompile检查),如果没有,您可以使用chmod +x mycompile添加该权限。

关于Linux - 你可以在一个终端行中编译并运行一个程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17713413/

相关文章:

c++ - POSIX 线程中的唯一值

java - Java 中是否可以在没有反射的情况下进行运行时编译的类实例化和使用?

c# - 如何将字符串转换为可运行代码? (在统一中)

c++ - 如何编译 C++ 项目(使用 g++)以在其他计算机上使用?

linux - unix/linux 中的 cron 表达式是否允许指定确切的开始和结束日期

linux - Linux 上的 EGL 支持

.net - IronPython -> .exe 可执行并与所有 DLL 一起分发帮助

visual-c++ - 如何在最新版本的 VC++ 编译器中使用 CodeBlocks?

c - 为什么在等待条件变量时需要 while 循环

java - 在java代码中将Windows风格的路径转换为unix路径