从c ++调用asm

时间:2013-12-16 11:29:42

标签: visual-c++ inline-assembly

我想调用asm文件中的函数定义并从Cpp文件/函数调用此函数。另外,我必须在64位平台上编译项目。

请帮我这样做,因为我对汇编代码不太了解。任何帮助将不胜感激。

由于

2 个答案:

答案 0 :(得分:2)

This file是来自ffdshow的ASM文件,它使用CPUID执行一些工作。它是x64和x86。 YASM用于组装它。

今天大多数人所做的不是编写ASM代码而是使用内部函数。所有SSE / AVX /等都有内在功能。即使是低级别的ring0指令。内部函数允许编译器进行额外的优化,并在32位和64位构建之间共享。

答案 1 :(得分:0)

代码片段会有所帮助,但是如果你想在一个普通的C ++函数中放置内联汇编,你可以把它放在一个asm块中,如下所示:

    void myClass::myFunc() {
    // cpp code
    int a = 0;
    // ...

    // asm code
    __asm {
        mov eax, ebx;
        // ...
    };

    // more cpp code
    // ...
}