Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么在Windows C++;项目_C++_Visual Studio 2010_Assembly - Fatal编程技术网

C++ 为什么在Windows C++;项目

C++ 为什么在Windows C++;项目,c++,visual-studio-2010,assembly,C++,Visual Studio 2010,Assembly,我做过维护Windows工具的工作。该工具主要以C++编写,提供GUI,通过COM接口连接本地运行的服务器。在源文件夹中,我看到了很多.asm文件。我知道在一些嵌入式应用程序中,我们可以在C文件中插入一些装配线,以便调用中断或读/写寄存器(我不确定)。项目创建者已经退休,我不明白为什么会有这些.asm文件。为什么我们需要它们?它们是由Visual Studio自动创建的吗?它们只是为了加快编译过程吗? 为了更好地理解,我在下面提供了3张图片。 图1显示了windows资源管理器视图: 图2显示

我做过维护Windows工具的工作。该工具主要以C++编写,提供GUI,通过COM接口连接本地运行的服务器。在源文件夹中,我看到了很多.asm文件。我知道在一些嵌入式应用程序中,我们可以在C文件中插入一些装配线,以便调用中断或读/写寄存器(我不确定)。项目创建者已经退休,我不明白为什么会有这些.asm文件。为什么我们需要它们?它们是由Visual Studio自动创建的吗?它们只是为了加快编译过程吗? 为了更好地理解,我在下面提供了3张图片。 图1显示了windows资源管理器视图:

图2显示了SourceInsight视图。每个asm文件都有一个同名的cpp文件:

图3显示了VS2010项目中的一个视图,不包括asm文件。

项目似乎正在使用
/FAu
编译器选项。生成项目不需要生成的.asm文件。它们是人类可读的汇编程序,可用于检查编译器输出的指令

根据:

创建包含程序集代码的列表文件

使输出文件以UTF-8格式创建,带有一个字节 订单标记。默认情况下,文件编码为ANSI,但如果需要,请使用/FAu 您需要在任何系统上正确显示的列表文件,或者 您正在使用Unicode源代码文件作为编译器的输入


项目似乎正在使用
/FAu
编译器选项。生成项目不需要生成的.asm文件。它们是人类可读的汇编程序,可用于检查编译器输出的指令

根据:

创建包含程序集代码的列表文件

使输出文件以UTF-8格式创建,带有一个字节 订单标记。默认情况下,文件编码为ANSI,但如果需要,请使用/FAu 您需要在任何系统上正确显示的列表文件,或者 您正在使用Unicode源代码文件作为编译器的输入


这些.asm文件很难读取。这些.asm文件具有最近修改的日期值。项目是否启用了/FA或相关选项?它们可能是编译器生成的输出文件。是的,我使用了/FAu开关。那些/FA选项告诉编译器输出汇编文件。建造这个项目不需要他们。也许以前的开发人员喜欢将生成的程序集作为调试辅助工具。这是合理的。非常感谢。这些.asm文件很难读取。这些.asm文件具有最近修改的日期值。项目是否启用了/FA或相关选项?它们可能是编译器生成的输出文件。是的,我使用了/FAu开关。那些/FA选项告诉编译器输出汇编文件。建造这个项目不需要他们。也许以前的开发人员喜欢将生成的程序集作为调试辅助工具。这是合理的。非常感谢。完全正确。这方面的不寻常之处在于将编译器生成的程序集列表文件转储到源代码目录中。默认情况下,VS将把它们与对象文件一起放在临时输出目录中。很明显,有人出于难以想象的原因更改了此设置。完全正确。这方面的不寻常之处在于将编译器生成的程序集列表文件转储到源代码目录中。默认情况下,VS将把它们与对象文件一起放在临时输出目录中。很明显,有人出于难以想象的原因改变了这种设置。