在Visual Studio中编写汇编和C

Writing Assembly and C in Visual Studio

本文关键字:汇编 Visual Studio      更新时间:2023-10-16

我看过很多关于这方面的讨论,但我无法让它发挥作用。也许这些信息已经过时了,或者我可能做错了什么。但是,是否可以在Visual Studio中编写和编译汇编程序集和C代码?

是否有适用于这些语言的基本项目模板,我的意思是,就像有VB、C++和C#项目模板用于创建新项目一样?

我正在使用Visual Studio 2012 Ultimate。我还安装了所有Visual Studio速成版。

是否可以在普通C++项目中编写程序集和/或C代码?

如果这是一个愚蠢的问题,我很抱歉,但我想学习更多的低级语言。我觉得如果我能在更低的水平上了解实际发生的事情,我就能更好地理解很多事情。

需要注意的一点是,如上所述,在为x64编译时不能使用内联程序集。

Visual Studio还包括ml.exe(32位)和ml64.exe中的MASM汇编程序。这可能有助于开始使用它们。

开箱即用,VS不包括独立的汇编程序。您可以在C或C++源代码中编写内联程序集,但仅适用于x86目标。对于内联汇编之外的任何东西,您都需要使用一个单独的汇编程序。当然,您可以将汇编程序生成的对象文件链接到您的MSVC项目中。

至于C,MS编译器将编译大致遵循C89标准的代码。但微软一再表示,他们不会将C编译器更新到新的标准。如果MS支持足够了,只需在项目中包含扩展名为.c的文件并进行编译即可。否则,如果MS的支持对您来说还不够,那么您将考虑外部编译器。

更新

我被纠正了。Visual Studio确实附带了独立的Microsoft汇编程序MASM。

如果你只想为一个函数实现一些小东西,你可以通过内联汇编来实现。如果您想编写更复杂的函数,那么您也可以使用外部汇编程序。在这种情况下,您可以将源文件的属性配置为使用外部命令,并且您必须自己编写命令行,以及指定源和目标。