Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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++ 通过DLL在x64上进行内联程序集_C++_C_Assembly_Dll_Inline - Fatal编程技术网

C++ 通过DLL在x64上进行内联程序集

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++编译器不支持这些平台上的内联汇编。当然,这并不是这些平台的固有局限性——它

今天我在网站上看到,ARM和x64处理器不支持内联汇编。因为我不擅长C,C++或ASM,我自己无法测试,但它激发了我的兴趣。p> 我想知道在VisualStudio中是否不可能做到这一点,因为它在MSDN网站上

不管第一个问题的答案如何,我的第二个问题仍然存在:是否可以使用内联ASM编译DLL,然后通过x64 C/C++程序调用DLL以执行内联ASM。 若有,原因为何;若否,原因为何


提前谢谢

根据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=)