2012-08-10 98 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函數是可能的。這個調用的語法取決於你使用的編譯器。通常情況下,函數名稱在裝配中的顯示方式有所不同,反之亦然。