C++ 通过DLL在x64上进行内联程序集
今天我在网站上看到,ARM和x64处理器不支持内联汇编。因为我不擅长C,C++或ASM,我自己无法测试,但它激发了我的兴趣。p> 我想知道在VisualStudio中是否不可能做到这一点,因为它在MSDN网站上 不管第一个问题的答案如何,我的第二个问题仍然存在:是否可以使用内联ASM编译DLL,然后通过x64 C/C++程序调用DLL以执行内联ASM。 若有,原因为何;若否,原因为何C++ 通过DLL在x64上进行内联程序集,c++,c,assembly,dll,inline,C++,C,Assembly,Dll,Inline,今天我在网站上看到,ARM和x64处理器不支持内联汇编。因为我不擅长C,C++或ASM,我自己无法测试,但它激发了我的兴趣。p> 我想知道在VisualStudio中是否不可能做到这一点,因为它在MSDN网站上 不管第一个问题的答案如何,我的第二个问题仍然存在:是否可以使用内联ASM编译DLL,然后通过x64 C/C++程序调用DLL以执行内联ASM。 若有,原因为何;若否,原因为何 提前谢谢 根据MSDN的规定,VC++编译器不支持这些平台上的内联汇编。当然,这并不是这些平台的固有局限性——它
提前谢谢 根据MSDN的规定,VC++编译器不支持这些平台上的内联汇编。当然,这并不是这些平台的固有局限性——它只是VC++版本中没有实现的一个功能,其他编译器(如gcc)对它的支持很好。没有什么奇怪的,它不是一个标准的特性(如:C或C++标准所要求的特性),它只是一个普通的扩展。p>
不过,即使是VC++,你也不需要去做一个DLL,你可以把你的ASM文件组装到一个对象模块中,并把它与其他的(例如C或C++编译器)一起链接到一个可执行文件中。事实上,这是他们建议混合使用C/C++和汇编语言的过程——微软汇编语言本身总是和VC++一起提供的
MSDN不是这个问题的正确收件人吗?我们不是Microsoft支持论坛。我没有使用MSDN论坛的经验,我在这里也没有。其次,我不知道这个“问题”是否与MS有关,或者它是否在一般情况下是不可能的。Inline-assmbly不是C语言的一部分。所以,这当然是MS特有的。你不知道MSDN论坛:非sequitur。这不是争论。谢谢你的回答!。。。因为size\u t
是无符号的
。)汇编程序不同于C/C++编译器本身,但它随Visual Studio一起提供。内联汇编是编译器的扩展,因此根本没有标准化。仅仅因为两个编译器都支持它,并不意味着您可以在两个实现中使用相同的构造/语法。@LPs:justice=)