gpt4 book ai didi

c++ - 通过 DLL 在 x64 上进行内联汇编

转载 作者:行者123 更新时间:2023-11-30 18:49:26 37 4
gpt4 key购买 nike

今天我读到了MSDN网站上指出,ARM 和 x64 处理器不支持内联汇编。由于我不擅长 C、C++ 或 ASM,所以我无法自己测试它,但它激发了我的兴趣。

我想知道是否无法在 Visual Studio 中执行此操作,因为它位于 MSDN 网站上。

无论我的第一个问题的答案如何,我的第二个问题仍然存在:是否可以使用内联 ASM 编译 DLL,然后通过 x64 C/C++ 程序调用该 DLL 来执行内联 ASM。如果是这样,为什么,如果不是:为什么不。

提前致谢!

最佳答案

根据 MSDN 的规定,VC++ 编译器在这些平台上不支持内联汇编。当然,这不是这些平台的固有限制 - 它只是这些版本的 VC++ 中未实现的功能,其他编译器(例如 gcc)支持它就很好。没什么奇怪的,它不是一个标准功能(如:C 或 C++ 标准所需的功能),它只是一个常见的扩展。

尽管如此,即使使用 VC++,您也不需要制作 dll - 您只需将 asm 文件组装到对象模块中,并将其与其他文件链接在一起(例如由 C 或 C++ 生成)编译器)转换为单个可执行文件。事实上,这是他们推荐的混合 C/C++ 和汇编的过程 - Microsoft 汇编器本身一如既往地与 VC++ 一起提供。

关于c++ - 通过 DLL 在 x64 上进行内联汇编,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42814998/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com