如何鏈接C與匯編文件

tick_wu 2006-12-14 08:10:11
.model small
.code
public _min_num
_min_num proc far
push bp
mov bp,sp
mov ax,0
mov cx,[bp+4]
cmp cx,ax
jle exit
mov ax,[bp+6]
jmp ltest
comp: cmp ax,[bp+6]
jle ltest
mov ax,[bp+6]
ltest: add bp,2
loop comp
exit: pop bp
ret
_min_num endp
end


#include<stdio.h>
int extern min_num(int count,int v1,int v2,int v3,int v4,int v5);
main()
{
int i;
i=min_num(5,7,0,6,1,12);
printf("The minimum of five is:%d",i);
}
將匯編文件用masn5生成.obj文件.C文檔是turboc2生成.obj文檔.然後該怎麼把它們鏈接在一起.我用masm5中的link,系統會提示'_printf':unresolved external
.將匯編文件與生成的.obj文件放在turboc2文檔中.直接按ctrl+F9。系統會提示‘
undefined symbol 'min_num' in module M.c要被搞死了。跪求如何鏈接
...全文
198 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
编译器会改名字的,不太好处理
  • 打赏
  • 举报
回复
用objdump或之类的工具可以导出符号表。
yevv 2006-12-15
  • 打赏
  • 举报
回复
用TurboC的汇编器汇编那个汇编文件,这样能保证汇编输出的目标文件和C文件编译生成的目标文件格式一致,不同的工具产生的目标文件不一定兼容
lilo_x 2006-12-15
  • 打赏
  • 举报
回复
yevv(千年伐木) ,说的对!
boland的编译器和microsoft 的编译器不同.
产生的函数名不同,所以才会找不着min_num.
用TC的汇编器编译,或者是用tasm编译asm文件!
jixingzhong 2006-12-14
  • 打赏
  • 举报
回复
将 'min_num' 的实现文件 也编译成一个 obj,
然后连接 三个obj ...
jixingzhong 2006-12-14
  • 打赏
  • 举报
回复
.將匯編文件與生成的.obj文件放在turboc2文檔中.直接按ctrl+F9。系統會提示‘
undefined symbol 'min_num' in module M.c

你的 'min_num' 函数的实现部分呢?

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧