-
-
[求助]如何在汇编里面使用C语言编写的函数?
-
发表于:
2004-7-17 17:26
5292
-
我用win32汇编写主程序,要用到一些C语言写的函数。我的想法是,将C代码编译为静态库(*.lib)然后在win32汇编代码里面调用、链接。但是我不知道具体如何操作,望大家不吝赐教。
举例:
/* C代码 mylib.c */
void function1(int parm1, int parm2)
{
...............
}
int function2(void *lp)
{
................
}
那么,这里就有几个问题:
1.那个void型的指针在汇编里面是什么类型?
2.汇编的头文件(*.inc)怎么声明?是不是:
function1 proto parm1:word,parm2:word
function2 proto lp:dword
我在实际操作中,用vc++编译C代码生成了lib文件,在汇编源代码里面用includelib加入了生成的库文件,在link项里面也加入了lib文件,但是invoke调用该函数(invoke function1,xx,xx)汇编编译器提示
unresolved external symbol _function@8
....................
还有,考虑到coff格式和OMF格式的区别,用什么编译器来生成lib文件最好?我用watcom生成的lib,masm32不认识(invalid library format; library ignored),所以只好用vc++.net。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)