Windows下使用nasm调用c语言库函数

刚刚还在上篇文章中说过无法在Windows下使用Nasm调用C语言库函数,因为在经过了恩种失败后再加上网上根本就没有这样的文章,所以我一直没搞出来,不过就在刚刚,一个无意间的编译居然成功了,而最让我器笑不得的是在使用nasm进行时候要使用elf文件格式,然后再使用gcc进行链接便华丽丽地成功了- -,当然链接后的程序还是PE格式的可执行文件
好了,只要找到了方法就什么都好说了,其它的东西都是相通的,然后这里我说一下还有一个区别就是刚刚说过的_main和_printf问题,在linux下可以直接使用main和printf标号来进行设置程序的入口点和所调用的子程序名称,但是是在windows下需要加上_这个前缀,不然链接的时候会出错,下面以一个1+2=3的简单程序说明下windows下使用nasm调用c语言库函数的方法(四个参数- -)

编译
nasm -f elf add.asm
gcc -o add add.o
记得一定要是elf哦,其它的我不保证能通过,比如说coff,其它的我没试过,如果你有其它方法请告诉我谢谢

–阅读次数(39)

发表评论

电子邮件地址不会被公开。

*