回答
如果您的意思是./
部件,这是为了安全起见。 Windows默认将当前目录附加到PATH,这是不好的(存在DLL注入风险,等等)。 如果您的意思是a.out
部分,它只是一个名称(来自格式a.out的名称),您可以通过修改gcc -o参数来更改该名称。
其他的方法。格式“aout”(不再用于任何现代系统)的名称来自文件名“a.out”,它是unix系统上“汇编输出”的传统文件名。 – 2011-03-19 14:33:39
该名称代表"assembler output",并且(并且仍然是)编译器生成的可执行文件的默认名称。之前需要./
的原因是因为当前目录(.
)不在$PATH
中,因此必须明确给出可执行文件的路径。
当像bash这样的shell运行一个可执行文件时,可执行文件必须位于您的PATH
环境变量bash
中才能找到并运行程序。
./
前缀是指定可执行文件完整路径的简写方式,因此bash不需要咨询PATH变量(通常不包含当前目录)来运行它。
[供a.out
(简称“汇编输出”),它是用于像gcc
一个编译器的默认可执行输出如果没有指定输出文件名。]
gcc -o mynewprogram mynewprogram.c
a.out的是默认名称编译器。 AFAIK这是因为链接过程被跳过,它不被编译为对象或库。
不知何故,这并没有描述*背后的*意思。 – 2011-03-19 10:25:45
这只是语法,请原谅我。 – Bytemain 2011-03-19 10:28:00
这将是值得你多看一点C和C程序的编写方式编译。
本质上,源代码被发送到预处理器,其中相同#define
和#include
指令被加载(例如,到存储器)。因此,您要使用的任何库都已加载,例如
#include <math.h>
将基本上“粘贴”的math.h
在在该点它被定义的内容插入源代码。
一旦所有的这些东西已经扩大了,在编译将您的源代码转换为目标代码,这是在二进制代码的来源。 a.out是输出的默认名称,如果您未指定生成名称。
- 1. 在Linux/MacOSX中运行C程序
- 2. 在Windows和Linux上运行C++程序
- 3. 运行在C Linux命令++程序
- 4. 编译C++程序在Linux上运行
- 5. MPI程序运行在Linux
- 6. 在Linux中运行Android应用程序
- 7. 在Linux中运行Windows程序
- 8. 在Linux中双击运行OpenGL程序
- 9. 程序无法在Linux中运行
- 10. 在linux mint中运行lex程序
- 11. 从Linux下的C程序运行多个C程序
- 12. 如何在Linux中调试正在运行的C++程序?
- 13. 运行C++在linux
- 14. 在linux容器中运行C++程序(包含TCP IP代码)。
- 15. 在Linux中运行程序(用C编写)
- 16. 从perl运行linux中的程序
- 17. 运行Linux下C++在Windows
- 18. C++程序在运行时
- 19. 运行在C程序
- 20. 如何运行c#应用程序在Linux上的dll文件
- 21. C#VS2010程序编译+在Linux上运行MONO
- 22. 使现有的C#Windows应用程序在Linux上运行
- 23. c#应用程序将在Linux上运行OS
- 24. C#运行程序
- 25. 运行C#程序
- 26. 从命令行运行Java程序Linux
- 27. Linux上的运行时执行程序
- 28. C在Linux中的C++图形程序
- 29. C++:在linux shell脚本中运行gdb
- 30. 在Linux中运行C脚本(.h)
欢迎来到SO。你能不能更精确地提出你的问题。你不明白的是什么? 'a.out'前面的'./'? 'a.out'本身?你在寻找什么样的意义? – 2011-03-19 10:30:43