回答
如果您的意思是./
部件,这是为了安全起见。 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程序
- 7. linux的脚本运行的C程序
- 8. 从Linux下的C程序运行多个C程序
- 9. 在Linux中双击运行OpenGL程序
- 10. 在linux mint中运行lex程序
- 11. 程序无法在Linux中运行
- 12. 在Linux中运行Windows程序
- 13. 在Linux中运行Android应用程序
- 14. 如何在Linux中调试正在运行的C++程序?
- 15. 运行C++在linux
- 16. 在Linux中开发的在Linux中运行RoR应用程序
- 17. 在windows中执行linux C++程序
- 18. 在linux容器中运行C++程序(包含TCP IP代码)。
- 19. 在linux中测量c程序的运行时间
- 20. 在Linux中运行程序(用C编写)
- 21. 从perl运行linux中的程序
- 22. 在Linux上运行MPI程序makefile
- 23. 在Linux,Windows上运行程序集
- 24. 运行在C程序
- 25. C++程序在运行时
- 26. 运行Linux下C++在Windows
- 27. C应用程序如何在运行时在Linux环境中自行更新
- 28. 如何运行c#应用程序在Linux上的dll文件
- 29. c程序在windows上运行linux上的segmantation故障
- 30. c#应用程序将在Linux上运行OS
欢迎来到SO。你能不能更精确地提出你的问题。你不明白的是什么? 'a.out'前面的'./'? 'a.out'本身?你在寻找什么样的意义? – 2011-03-19 10:30:43