一个把Linux C移植到Windows VS 的问题。

almeydifer 2006-10-16 10:52:50
如下:
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

这三行代码要换在windows VS里的话,应该用些什么库替换。

这三行代码应该改成什么样?

可以改么?相应的函数也要改么??
...全文
433 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
almeydifer 2006-10-17
  • 打赏
  • 举报
回复
程序当中有一句:

f = fopen("/dev/urandom", "r");
if (!f) {
printf("Cannot open /dev/urandom device, change the config file.\n");
exit(1);
}

那么这个/dev/urandom应该在windows里对应着一个什么文件啊,该如何改?
almeydifer 2006-10-17
  • 打赏
  • 举报
回复
谢谢wanfustudio(雁南飞:不慕虚名务潜修)

现在可以编译成功了,但是运行的时候又出了个问题。

can not open /dev/urandom device,change the config file.
almeydifer 2006-10-17
  • 打赏
  • 举报
回复
问题解决!
jixingzhong 2006-10-16
  • 打赏
  • 举报
回复
得看你用了写什么咚咚 ~~~

一般 windows.h 就可以了~~~~
有些函数可以用 API 代替。
飞哥 2006-10-16
  • 打赏
  • 举报
回复
应该针对你使用的函数,你把这几个头文件去掉,看报什么错

再根据那些函数,来声明头文件
你用socket?
加个windows.h就可以了吧
windows.h涵盖了 win*.h,包括 winsock,winsock32.h
-----------------
windows的函数跟linux下有区别
查看msdn再说

不过很简单
飞哥 2006-10-16
  • 打赏
  • 举报
回复
bzero:初始化得
可用memset 代替
#include <string.h>或者 #include<memory.h>
void *memset(void *s, int c, size_t n);
----------------------------
inet_ntoa:地址转换
inet_addr
可用同名函数
#include <winsock32.h>或者#incldue<windows.h>
Header: Declared in Winsock2.h.
Library: Use Ws2_32.lib.
----------------------------

如果参数类型不一致,请参考SDK
inet_ntoa
The inet_ntoa function converts an (Ipv4) Internet network address into a string in Internet standard dotted format.

char* FAR inet_ntoa(
struct in_addr in
);
inet_addr
The inet_addr function converts a string containing an (Ipv4) Internet Protocol dotted address into a proper address for the IN_ADDR structure.

unsigned long inet_addr(
const char* cp
);
void *memset(void *s, int c, size_t n);


FigoZhu 2006-10-16
  • 打赏
  • 举报
回复
查一下msdn,看看win下的socket如何操作。
almeydifer 2006-10-16
  • 打赏
  • 举报
回复
大伙看看这出错信息,应该加些什么库和头文件啊?
almeydifer 2006-10-16
  • 打赏
  • 举报
回复
gnp.obj : error LNK2019: 无法解析的外部符号 _inet_ntoa@4,该符号在函数 _main 中被引用
gnp.obj : error LNK2019: 无法解析的外部符号 _bzero,该符号在函数 _solve 中被引用
gnp.obj : error LNK2019: 无法解析的外部符号 _inet_addr@4,该符号在函数 _read_basic_data 中被引用
E:\My Documents\Visual Studio 2005\Projects\GNPView\Debug\GNPView.exe : fatal error LNK1120: 3 个无法解析的外部命令
  • 打赏
  • 举报
回复
用socket的话
需要winsock2.h的

33,311

社区成员

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

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