首页
社区
课程
招聘
link问题
2006-9-25 09:37 4236

link问题

2006-9-25 09:37
4236
LINK : error LNK2001: unresolved external symbol _start

我用的是RadAsm汉化增强版,我想是link原因,直接在命令行下用link连接obj文件时会说没有设置入口

所以我想知道怎么回事

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 2367
活跃值: (756)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
小虾 10 2006-9-25 12:19
2
0
源码发上来看一看。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
madofu 2006-9-25 15:54
3
0
assume cs:codeseg
codeseg segment
        mov ax,2000h
        mov ss,ax
        mov sp,0
        add sp,4
        pop ax
        pop bx
        push ax
        push bx
        pop ax
        pop bx
        mov bx,4c00h
        int 21h
codeseg ends
end

连接信息如下:

C:\RadASM\Masm32\Bin\ML.EXE /c /coff /Cp /nologo /I"C:\RadASM\Masm32\Include" "C:\lonker\2.asm"
Assembling: C:\lonker\2.asm
C:\RadASM\Masm32\Bin\LINK.EXE /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"C:\RadASM\Masm32\Lib" "C:\lonker\2.obj"
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup
2.exe : fatal error LNK1120: 1 unresolved externals

构建时发生错误.
总共编译时间 932 毫秒

这个程序片断是王爽的那个汇编教程上的。
雪    币: 215
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
surge 2 2006-9-25 17:29
4
0
用16位版本的link,并要注意参数的意义。
雪    币: 291
活跃值: (208)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
thebutterfly 5 2006-9-25 18:59
5
0
两个问题:
1.编译DOS程序必须使用16位的Link程序, 就是那个Segmented Linker, 不要用32位的Incremental Linker, 从你的编译命令来看, 你用的就是32位的Linker. 如果你没有16位Linker我可以发一份
2.你的程序结尾的END伪指令没有指定入口点

END 入口点
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
madofu 2006-9-25 21:00
6
0
谢谢大家

王爽把伪指令end解释为程序的结束,还是没有进一步说明清楚呀。呵呵
游客
登录 | 注册 方可回帖
返回