BC++ 调用LIB文件

yuchongjike 2010-01-26 12:09:41
我用的是Borland C++年,在写DOS程序.
写了一个DOS下的Socket类.
但调用的时候不能编译,说是没有声明那个函数
(CSDN里面不知道怎么加附件)

主程序:

#include <stdio.h>
#include "dcsocket.h"

void main()
{
char cMAC[20] = {0};
DCSocket DosSocket;

if(!DosSocket.Initialize())
{
printf("Initialize socket library error");
}
else
{
DosSocket.GetMac(cMAC);
printf("Local MAC:%s",cMAC);
}
}


LIB头文件

#ifndef __DSOCKET_H_
#define __DSOCKET_H_

#define SOCK_STREAM 1
#define SOCK_DGRAM 2

class DCSocket //编译调用程序的时候提示不能这样声明
{
public: //Operations
DCSocket();
~DCSocket();
int Initialize();
int Create(int nSocketType=SOCK_STREAM);
int Close();
int Bind(char* psAddress,unsigned int nPort);
int Listen();
int Accept(char* psAddress);
int Connect(char* psAddress,unsigned int nPort);
int Send(char* psText,int nLength);
int Recv(char* psBuff,int nLength);
int SendTo(char* psAddress,unsigned int nPort,char* psText,int nLength);
int RecvFrom(char* psAddress,unsigned int nPort,char* psBuff,int nLength);
int IsConnected();
int DataReady();

public: //Attributes
int GetIPFromDHCP(char* ptBuff);
void GetMac(char* ptBuff);
void GetHostIP(char* ptIPAddr);
void SetHostIP(char* ptIPAddr);
char* GetIPByName(char* HostName);
void LoadCfgFile(char* filename);

private:
int m_hSocket;
};

extern DCSocket DosSocket;

#endif
...全文
110 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuchongjike 2010-02-02
  • 打赏
  • 举报
回复
三种模式都设置了.
LIB文件可以编译出来,但运行主程序什么提示都没有
traceless 2010-01-28
  • 打赏
  • 举报
回复
。。。Error存储站~~~~
z569362161 2010-01-28
  • 打赏
  • 举报
回复

三种存储器模式:small,compact,large.
一个函数的存储器模式确定了函数的参数和局部变量在内存中的地址空间
small:内部ram
compact, large:外部RAM
extern int func(int I,float f) large; /*指定large模式*/
int large_te(int I,int k) /*未指定,按默认的large模式处理*/
{
return(mtest(I,k)+2);
}
dos5gw 2010-01-28
  • 打赏
  • 举报
回复
你在bc下按alt+p, 打开工程.prj文件,把哪个.lib添加进工程
dos5gw 2010-01-28
  • 打赏
  • 举报
回复
dos下的BC,分编译模式的,比如samll,large,huge等
像dos下的库,也有对应编译模式的,你的库是对应large模式的话,你的整个prj都得用large模式
yuchongjike 2010-01-26
  • 打赏
  • 举报
回复
偶用的是Borland C++,写DOS程序,不是用C++ Builder写windows程序

我的那个类这样写正常吗(LIB文件是已经编译出来了)?
昵称很不好取 2010-01-26
  • 打赏
  • 举报
回复
VC采用的lib内文件格式与BCB下采用的lib格式不一样
VC下可用的第三方lib,想换成可在BCB下用的DLL或lib,需要使用coff2omf.exe命令行工具转换。

64,281

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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