QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1650|回复: 3

liveva中的代码小细节问题

[复制链接]
发表于 2005-7-29 21:10:11 | 显示全部楼层 |阅读模式
我本来想下libeva后在windows下编译成dll,但是发现代码中出现了些许不和谐的地方。列举如下:

1,无法打开包含文件:“inttypes.h”: No such file or directory
估计该文件是linux下特有的,而不是平台无关的。

2,char str[i+2];

很多形如以上数组的声明。数组大小居然有变量。

我下的是
http://ovh.dl.sourceforge.net/sourceforge/evaq/eva-0.3.0.tar.bz2

3,“初始化” : 截断常数值
/** QQ default encoding */
const short QQ_IM_ENCODING_GB = 0x8602;

编译提示 “初始化” : 截断常数值,不太明白为什么。
 楼主| 发表于 2005-7-29 21:16:16 | 显示全部楼层
4,常量的使用与硬编码

int LoginPacket::putBody(unsigned char *buf)
{
        memcpy(buf, iniKey, QQ_KEY_LENGTH);

        int pos = 16;

...
}

为什么 不  
int pos = QQ_KEY_LENGTH?
回复

使用道具 举报

发表于 2005-7-29 23:05:08 | 显示全部楼层
inttypes.h是C99中的,gcc3.3中已经带了,
可变数组C99也支持的,当然gcc早就支持了
你应该换个新点的编译器(比方说mingw),或者将那些重定义一下
回复

使用道具 举报

发表于 2005-7-30 09:50:31 | 显示全部楼层
windows 上, 你看着自己改吧。
我基本就没有在windows上编译过, 所以根本不知道在windows上的结果, 另外,
我个人始终认为在windows下,腾讯的客户端是最好的。我们的目标是提供一个
Linux下KDE桌面的QQ客户端而已。 libeva部分最初设计来跨linux下的各种环境的,
而非跨平台的。 当然,在可能的情况下,我们还是会尽量支持windows下的编译。

我装不起 MS-WIN + MS-Office + MS-Visual Studio, 所以, 我没法测试,
要是发现什么问题,还请大家告知。

另外,据我了解的情况, Miranda IM 的QQ 插件正在基于libeva来实现, 所以
我想,libeva在windows下编译也不是什么大问题。还有几个win 下的挂机程序
也都编译成功了。 可能你使用VC++ 7.0 可以吧。 Hopefully。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 01:54 , Processed in 0.101691 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表