3

I have seen a lot of talk about this but I can't get it to work. Maybe the information is outdated or I might have done something wrong. But, is it possible to write and compile Assembly and C code in Visual Studio?

Are there basic project templates available for these languages, I mean, in the same way that there are VB, C++ and C# project templates for creating new projects?

I am using Visual Studio 2012 Ultimate. I also have all of the Visual Studio Express Editions installed.

Is it possible to write assembly and/or C code from within a normal C++ project?

I'm sorry if this is a dumb question, but I want to learn more low level languages. I feel like I would be able to better understand a lot of things if I learn what is actually happening at a much lower level.

4

3 回答 3

6

需要注意的一件事是,如此处所述,为 x64 编译时不能使用内联汇编。

Visual Studio 还包括 MASM 汇编器ml.exe(32 位)和ml64.exe. 可能对开始使用它们有所帮助。

于 2013-06-24T12:21:23.333 回答
3

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

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

更新

我站得更正了。Visual Studio 确实附带了独立的 Microsoft 汇编程序 MASM。

于 2013-06-24T11:59:17.910 回答
0

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

于 2013-06-24T12:01:55.270 回答