回 帖 发 新 帖 刷新版面

主题:刚学DOS,极简单的程序却通不过,大家来帮帮我,谢了

我在C7.00下写了极短的几行代码:
int addint(int x)
{
    return x++;
}
并编译成intlib.obj文件后转到VBDOS下输入指令:
link /information /q intlib.obj , , , vbdosqlb.lib得到结果如下

Microsoft (R) Segmented Executable Linker  Version 5.31.009 Jul 13 1992
Copyright (C) Microsoft Corp 1984-1992.  All rights reserved.

Definitions File [nul.def]: LINK : warning L4045: name of output file is 'intlib.qlb'
**** PARSE DEFINITIONS FILE ****
**** PASS ONE ****
\lib\intlib.lib(intlib.cpp)
\lib\intlib.lib(intlib.cpp)
**** LIBRARY SEARCH ****
vbdosqlb.lib(..\rt\ulstart.asm)
vbdosqlb.lib(\mrt\common\fixups.ASM)
vbdosqlb.lib(..\rt\rtutil.asm)
vbdosqlb.lib(..\rt\rtmint1.asm)
vbdosqlb.lib(..\rt\ultort.asm)
vbdosqlb.lib(..\crt\crt0stub.asm)
vbdosqlb.lib(..\crt\execve.asm)
vbdosqlb.lib(..\rt\erbcproc.asm)
vbdosqlb.lib(..\rt\ulutil.asm)
vbdosqlb.lib(..\rt\error.asm)
vbdosqlb.lib(..\rt\rtmint3.asm)
vbdosqlb.lib(..\crt\freeheap.asm)
vbdosqlb.lib(..\rt\rtenexit.asm)
e:\dos\C700\LIB\SLIBCE.lib(chkstk.asm)
e:\dos\C700\LIB\SLIBCE.lib(chkstk.asm) : error L2025: _STKHQQ : symbol defined more than once
e:\dos\C700\LIB\SLIBCE.lib(chkstk.asm) : error L2025: __aaltstkovr : symbol defined more than once
e:\dos\C700\LIB\SLIBCE.lib(chkstk.asm) : error L2025: __chkstk : symbol defined more than once
**** ASSIGN ADDRESSES ****
  1 segment "_TEXT" class "CODE" length 33fH bytes
  2 segment "_DATA" class "DATA" length 4aH bytes
  3 segment "CONST" class "CONST" length 0H bytes
  4 segment "_BSS" class "BSS" length 0H bytes
  5 segment "XMSSEG" class "CODE" length ad5H bytes
  6 segment "FAR_BSS" class "FAR_BSS" length 0H bytes
  7 segment "FAR_DATA" class "FAR_DATA" length 0H bytes
  8 segment "NULL" class "BEGDATA" length 42b0H bytes
  9 segment "CDATA" class "DATA" length eH bytes
10 segment "XIQC" class "DATA" length 2H bytes
11 segment "XIB" class "DATA" length 0H bytes
12 segment "XI" class "DATA" length 0H bytes
13 segment "XIE" class "DATA" length 0H bytes
14 segment "XPB" class "DATA" length 0H bytes
15 segment "XP" class "DATA" length 0H bytes
16 segment "XPE" class "DATA" length 0H bytes
17 segment "XCB" class "DATA" length 0H bytes
18 segment "XC" class "DATA" length 0H bytes
19 segment "XCE" class "DATA" length 0H bytes
20 segment "XECIB" class "DATA" length 0H bytes
21 segment "XECI" class "DATA" length 0H bytes
22 segment "XECIE" class "DATA" length 0H bytes
23 segment "DBDATA" class "DATA" length eH bytes
24 segment "BC_SAB" class "BC_SEGS" length 0H bytes
25 segment "BC_SA" class "BC_SEGS" length 4H bytes
26 segment "XOB" class "BSS" length 0H bytes
27 segment "XO" class "BSS" length 0H bytes
28 segment "XOE" class "BSS" length 0H bytes
29 segment "NMALLOC" class "BC_VARS" length 2H bytes
30 segment "ENMALLOC" class "BC_VARS" length 2H bytes
31 segment "STACK" class "STACK" length 0H bytes
32 segment "C_ETEXT" class "ENDCODE" length 0H bytes
33 segment "_BSS" class "DATA" length 1eH bytes
**** PASS TWO ****
\lib\intlib.lib(intlib.cpp)
\lib\intlib.lib(intlib.cpp)
vbdosqlb.lib(..\rt\ulstart.asm)
vbdosqlb.lib(\mrt\common\fixups.ASM)
vbdosqlb.lib(..\rt\rtutil.asm)
vbdosqlb.lib(..\rt\rtmint1.asm)
vbdosqlb.lib(..\rt\ultort.asm)
vbdosqlb.lib(..\crt\crt0stub.asm)
vbdosqlb.lib(..\crt\execve.asm)
vbdosqlb.lib(..\rt\erbcproc.asm)
vbdosqlb.lib(..\rt\ulutil.asm)
vbdosqlb.lib(..\rt\error.asm)
vbdosqlb.lib(..\rt\rtmint3.asm)
vbdosqlb.lib(..\crt\freeheap.asm)
vbdosqlb.lib(..\rt\rtenexit.asm)
e:\dos\C700\LIB\SLIBCE.lib(chkstk.asm)
**** WRITING DOS EXECUTABLE ****

There were 6 errors detected
谁告诉我怎么回事啊!可能我根本没弄明白BASIC中怎么调用C的过程?[em10]

回复列表 (共3个回复)

沙发

请先看看科技文献出版社 黄玉瑞等。。写的《实用编程技巧大全》
里面把如何在QB中调用C说得极其详细!

板凳

klstg笑呵呵地对经九十五狼抱拳打揖:“久仰阁下大名,如雷灌耳,今日相见,三生有幸!”但具体方法能否贴上来啊,现在这种书很难搞到啊

3 楼

我是个很偶尔的机会出差到外地,在一个计算机图书馆里看到的!
因为我在程序中不用C,而是调用汇编,所以我就重点看了如何调用汇编,而且做了笔记,C的方面对我没有用所以就不记得了 !
建议你去一些图书馆里找找看,肯定能找到,有书名还怕不好找啊!

我来回复

您尚未登录,请登录后再回复。点此登录或注册