2012-08-10 99 views
0

比方说,我有这样的:调用用户定义的C函数

extern "C" { 
void foo1(); 
void foo2(); 
}; 
void foo1() 
{ 
__asm 
    { 
     ; some stuff 

     ; some other 
    } 
} 

    void foo2() 
    { 
    __asm 
     { 
       ;some other stuff 
       call __foo1 

     } 
    } 

我知道,在一个普通的.asm程序,你会被reuqired说EXTRN __fucntionName,但这是内联汇编,可以内联程序集中用户定义的函数可以这样调用?如何? 我使用VS2008。

+1

你的例子在VS中编译,如果'call foo2' – 2012-08-10 09:24:09

+0

好的,对。现在更简单了。 – AlexandruC 2012-08-10 09:34:14

+0

你应该指定编译器,但似乎罗马做了一个幸运的猜测...... – 2012-08-10 09:51:00

回答

0

从汇编器调用C函数是可能的。这个调用的语法取决于你使用的编译器。通常情况下,函数名称在装配中的显示方式有所不同,反之亦然。