PRIMESSTEP3 Sample: Demonstrates a Mixed C and ASM Project with a C Header File

The PRIMESSTEP3 sample is a mixed C and ASM project that moves the core algorithm to the .asm file and adds a separate C header and .asm include file to declare the extern function and global data structure.

In the .asm source file, the settings for the Command Line and Outputs boxes of the Custom Build Step tab are included in comments. In addition, the settings for the Additional Dependencies box lists the .asm include file. This assembles the .asm file if either the .asm file or the .asm include file is new than the object file generated by Custom Build Step.

To view these settings, right-click the .asm file and click Properties. These settings, which support including the .asm file in the build, have already been entered for you.

Security noteSecurity Note

This sample code is intended to illustrate a concept, and it shows only the code that is relevant to that concept. It may not meet the security requirements for a specific environment, and it should not be used exactly as shown. We recommend that you add security and error-handling code to make your projects more secure and robust. Microsoft provides this sample code "AS IS" with no warranties.

To get samples and instructions for installing them:

To access samples from Visual Studio

  • On the Help menu, click Samples.

    By default, these samples are installed in drive:\Program Files\Microsoft Visual Studio 10.0\Samples\.

  • For the most recent version of this sample and a list of other samples, see Visual Studio Samples on the MSDN Web site.

To build and run this sample

  1. Open the solution PrimesStep3.sln.

  2. On the Build menu, click Build.

  3. On the Debug menu, click Start Without Debugging.

You can use this sample to explore Visual C++ support for mixed C/C++ and ASM projects, such as using the Custom Build Step tab in the Properties dialog box and debugging .asm files at a source level. You can use the .asm file or project file as a template to incorporate .asm files into a Visual C++ project.