c - Visual Studio 13 中的 NASM 设置

标签 c visual-studio assembly nasm

我正在创建一个库,它需要一些汇编级代码。 我正在使用 NASM 来编写和集成我的 .asm 文件。 现在的问题是,我已经在 VS13 中创建了一个项目。现在我想向我的项目中添加和集成一个汇编级代码。 我已经在我的源目录中添加了一个 .asm 文件,但是当我尝试运行我的测试用例时,编译器无法找到我的汇编代码。

我想知道如何将我的 .asm 文件与我的 .c 文件链接起来。

我的项目结构:

->Project1(生成库)

--->来源

----->文件1.c

----->文件2.c

----->nasm.asm

->Project2(使用库并生成.exe的测试用例)

-->来源

---->主程序

现在,nasm.asm 二进制文件应该与 project1 生成的 .lib 相关联 并且 Project2 应该能够访问 project1.lib

如果问题有点不清楚,我深表歉意,以书面形式表达清楚对我来说有点复杂。如果您需要任何说明或额外信息,请告诉我。

非常感谢

最佳答案

对于你们每个人的汇编文件:

  1. Solution Explorer 中右键单击它并选择Properties
  2. 确保所选配置所有配置或您正在使用的配置(这每次都让我很头疼!)
  3. 配置属性常规中,将项目类型更改为自定义构建工具
  4. 配置属性自定义构建工具常规设置以下项目:

    • 命令行。以此为例:nasm -fwin32 "%(FullPath)"-o %(Filename).obj
    • 输出。这是必须的,VS 检查这个文件。我通常使用 %(Filename).obj
    • 链接对象。如果您使用 obj 扩展名命名输出文件,它们会自动包含在链接阶段。

要检查您是否设置正确,请选择您的程序集文件,右键单击并选择编译

关于c - Visual Studio 13 中的 NASM 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31121355/

相关文章:

c - 如何使用 Apple 的 Core Audio C API 在 OS X 上创建简单的实时 I/O 流?

c - linux内核模块中的线程本地数据

visual-studio - 组织 Visual Studio 解决方案的最佳实践

performance - 减少 Visual Studio 构建时间

c++ - 使用 Intel 的数学内核库进行特征分解的运行时问题

assembly - 如何显示逻辑左移乘以 2^n?

c - 杀死 SDL 2 线程 (C)

c++ - 为什么我的空数组不为空?

assembly - 在 Mac 上编写和学习汇编

c - 基本缓冲区溢出教程