Board logo

标题: dos下的网络编程 [打印本页]

作者: hustlemon     时间: 2003-7-22 00:00    标题: dos下的网络编程

用bc3.1和wattcp开发包,它自带的例程编译都能通过,连接就出错误:
       linker error:bad object..........,
我的头文件和库文件路径都已经设置了,而且工程中已加入wattcp的库文件,可是无论如何都不成功。
       看到一些帖子说要装packet driver,请问怎么安装?wattcp.cfg怎么配置?放到什么目录?autoexec.bat和config.sys怎么设置?要实现dos下的tcp/ip通信是否必须是实模式dos?我用的是winme和winxp系统,怎么实现实模式dos呐?
       请详细的说一下全部的过程。谢谢了!        [em27]
作者: atong     时间: 2003-9-14 00:00
packet driver 是用来和网卡打交道的驱动程序,一般在网卡的驱动程序盘中可以找到,wattcp.cfg是在运行时才需要的配置文件,需要和运行的程序放在同一目录下,一般只需设置ip地址和掩码两项,格式为
my_ip=192.168.0.1
netmask=255.255.255.0
my_ip和netmask应该设置成你实际的地址和掩码,上面只是例子。
以上两项是运行程序所必须的,但是和编译、链接程序无关。如果在集成环境下无法编译,可以试试在命令行编译,命令为:
    bcc exp1.c -ml -Ic:\bc31\include -Lc:\bc31\lib wattcplg.lib
其中 exp1.c 是源程序名,-I选项为头文件所在目录,-L选项为库文件所在目录,-m选项为编译模式,上例为大模式,所以链接wattcp的大模式库wattcplg.lib,如果要调试程序,可以加上-v选项,随后可以用TD调试。另外,wattcp提供的是C函数库,若要编译C++程序,需要在包含头文件前加入如下指令:
#ifdef _cplusplus
extern "C"{

#include "wattcp.h"
}
#endif
必要时需要打开wattcp.h,在所有函数定义前加上上述语句,并重新编译wattcp库,否则便会在链接时发生错误。
    要实现dos下的tcp/ip通信是否必须是实模式dos,可以用DOS6.22或者启动windows 98的纯DOS模式,windows me和windows xp均不行,这主要是因为packet driver需在实模式下加载。