编译器将人类可理解的语言转换为机器级语言。难道我们不能只用机器级语言编写一个程序,这样程序就可以轻松快捷地执行。
Habi
问问题
246 次
3 回答
2
是的,您可以在 Linux 下使用汇编程序进行编程。
例如,在 Stack Overflow 上检查这个和这个问题。此外,Linux Assembly HOWTO看起来不错。
于 2013-11-08T18:09:46.263 回答
1
编译器将人类可理解的语言转换为机器级语言。难道我们不能只用机器级语言编写一个程序,这样程序就可以轻松快捷地执行。
没有人用机器语言编写程序。 无论如何,普通的二进制可执行文件不仅仅是机器代码,所以尝试这样做是没有意义的。二进制文件包含机器代码,但包含特定的、依赖于操作系统的格式。例如,linux 使用ELF。链接器和加载器可以理解这种格式(在 *nix 上,加载器是内核的一部分)。唯一没有掺杂的机器代码存在于系统内存中。
您可以用汇编语言编写程序,这与机器语言非常相似,但必须编译和链接。换句话说,它与用任何其他编译语言编写程序是一样的。
最后,通过格式化一些机器代码来手动创建二进制文件不会提供任何优势,而且使用起来会让人头疼。你可以把它当作一个学习练习,但不是为了任何真正的目的。
于 2013-11-08T18:32:54.713 回答
0
是的,但是你必须写更多,然后花费更长的时间,所以使用更高级的语言和编译器会更有效地节省你的时间。通常情况下,编译器比人类所能做的要好(这些编译器编写者是非常好的程序员)。
于 2013-11-08T18:06:42.833 回答