分页: 7 / 17

Re: amule-dlp 开发动态(8月31日,暂别之作 - DLP4201 发布)

发表于 : 2011-01-04 12:53
wwkwkj
不懂!

Re: amule-dlp 开发动态(8月31日,暂别之作 - DLP4201 发布)

发表于 : 2011-01-07 19:45
Bill Lee
DLP4202 发布
存放于 svn 版本库中。
修复 StrStrI(LPCTSTR, LPCTSTR) 函数中的 bug. 此 bug 引起部分误杀。

Re: amule-dlp 开发动态(8月31日,暂别之作 - DLP4201 发布)

发表于 : 2011-01-07 19:46
Bill Lee
欢迎 amule-dlp 项目新成员 Orzogc
:em51 :em50 :em11

Re: amule-dlp 开发动态(欢迎 amule-dlp 项目新成员 Orzogc)

发表于 : 2011-01-08 14:50
Bill Lee
DLP4301 发布
本版本由 Orzogc 开发
viewtopic.php?f=73&t=313143
DLP4301更新说明:
1、DLP更新到v43,DLPv43详细信息见:http://emulefans.com/dlp-43/
2、增加SDCv43001部分内容,SDCv43001详细信息见:http://emulefans.com/strict-dlp-chinese-43001/
3、修复gcc-4.5及以上版本编译问题(上游Bug)
4、修复严重误杀VeryCD easyMule的Bug

由于DLP4201有严重误杀VeryCD easyMule的Bug,建议升级到此版本。
注意:由于这次采用了标准的 patch 制作方式,打补丁的命令需要更改为

代码: 全选

patch -p1
补丁已经合并到 svn. 代码树和补丁已经可以在 Google Code 下载。

Re: amule-dlp 开发动态(DLP4301 by Orzogc)

发表于 : 2011-01-12 13:59
rediscover
PPA更新了。

Re: amule-dlp 开发动态(DLP4301 by Orzogc)

发表于 : 2011-01-17 17:25
Bill Lee
发一个不算新闻的消息:
在2007年失踪的 Xtreme Mod 的原作者 Xman 出现了。16. December 2010, 16:53, 他在德语论坛(Google Translate)上打了招呼, stulle、zz_fly等人也获得了 http://xtreme-mod.net/ 的权限,原来的官方网站得以更新。

Reference: http://emulefans.com/dlp-43/

Re: amule-dlp 开发动态(DLP4301 by Orzogc)

发表于 : 2011-01-21 15:16
dychenyi
才高三啊呵呵。 学业这么重,c++也懂不少了。我看了下你的code 有点乱了。。就说说你的注释吧。 把注释删掉吧。 注释是写说明文档和milestone的。绝对不会放测试code。 况且你还发布到google code上。。。
另外 不知道你是用什么编辑工具 就我所知emacs 和vim 都有一些插件 宏帮助,能高亮c++关键字代码 。能用快捷键输入一些格式:头文件 类定义 类实现 的注释都能快速添加 这些工具使你开发得心应手啊。

另外在祝你学业有成, 考个好大学

Re: amule-dlp 开发动态(DLP4301 by Orzogc)

发表于 : 2011-01-23 19:18
Bill Lee
dychenyi 写了:才高三啊呵呵。 学业这么重,c++也懂不少了。我看了下你的code 有点乱了。。就说说你的注释吧。 把注释删掉吧。 注释是写说明文档和milestone的。绝对不会放测试code。 况且你还发布到google code上。。。
另外 不知道你是用什么编辑工具 就我所知emacs 和vim 都有一些插件 宏帮助,能高亮c++关键字代码 。能用快捷键输入一些格式:头文件 类定义 类实现 的注释都能快速添加 这些工具使你开发得心应手啊。

另外在祝你学业有成, 考个好大学
实际上最初开发的时候没有用CMS, 所以移除的代码只能注释掉。而我开 Google Code 项目的时候也就是用了 svn 一个星期而已,对 svn 不太熟悉。

Re: amule-dlp 开发动态(DLP4301 by Orzogc)

发表于 : 2011-01-27 3:58
yuhuayang07
我编译的amule怎么没有中文呢?是不是编译的时候出了什么问题?

Re: amule-dlp 开发动态(DLP4301 by Orzogc)

发表于 : 2011-02-12 18:49
persmule
amule-dlp 开发的下一步就是把 antiLeech 做成动态库了,这个设想已经有了头绪。目前遇到的问题是我不懂 autoconfig, automake 这些,因此我也不知道要怎么改 makefile.am 和 makefile.in 才能让 amule-dlp 和 antiLeech 动态链接。如果您熟悉 makefile, 也许您可以帮助 amule-dlp 的开发。
Emule Xtreme使用DLP的方式并非动态链接而是动态调用,这样才能支持运行中更新DLP等功能。
Emule Xtreme中具体实现如下:antileech.dll单独编译,主程序中通过与antileech.dll中函数同名的函数指针作为接口(详见Xtreme源代码中的dlp.h、dlp.cpp等文件)。
win下dll动态调用的关键在于函数指针和LoadLibrary、GetProcAddress、FreeLibrary三个winapi函数,他们在linux下的等价物分别是定义于dlfcn.h中的dlopen、dlsym和dlclose,在wxwidgets中被封装成了与winapi函数同名的形式。
个人认为amule-dlp最好的实现方式是使用与Xtreme DLP相同的antileech.cpp,通过在antileech.h中包含一个兼容层头文件把其中用到的函数用wxwidgets中的函数实现,将antileech.cpp、antileech.h和兼容层头文件编译为“libantileech.so”(实现antileech.cpp、antileech.h的“跨平台”),然后再将dlp.h、dlp.cpp等用wxwidgets实现,编译为amule主程序的一部分即可。
这样得到的amule也许已经应该算是原版amule的一个mod了吧。

Re: amule-dlp 开发动态(DLP4301 by Orzogc)

发表于 : 2011-02-12 20:24
Bill Lee
persmule, 谢谢你的建议。既然 wxWidgets 提供了跨平台地动态加载 C 库的 API, 那就可以通过抽象类和 extern "C" 的 CreateObject 函数来实现动态加载。不过动态加载并不是最重要的,我想要做成动态链接主要是为了把主程序和 antiLeech 库分开,这样更新的时候比较方便。不过如果要让 aMule 7-24 运行(实际上这是不可能的, aMule 不稳定,能连续运行 48 小时就不错了),那动态加载就是需要的。

至于兼容层我认为是没有多大必要,因为之前 greensea 和我已经做了核心的兼容层(用 ISO C 和 wxWidgets 实现)。现在对 antileech.cpp 的处理主要是转换字符编码,以及少量修改一些不符合 ISO C 语法的部分(M$ 的 VC 不符合标准),借助 vimdiff 和已经修改的版本对比,可以在 5 分钟内完成修改。

Re: amule-dlp 开发动态(DLP4301 by Orzogc)

发表于 : 2011-02-12 21:09
momova
Bill Lee, 我在编译的时候遇到了问题,帮我看看。

在./autogen.sh的时候提示:
Creating pixmaps Makefile.am
./autogen.sh: 70: pushd: not found
./autogen.sh: 73: popd: not found
Running automake --foreign -a -c -f
automake: `configure.ac' or `configure.in' is required

在./configure的时候最后提示:
./configure: line 8581: syntax error near unexpected token `{'
./configure: line 8581: `fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $result$resultstr" >&5'

dpkg-buildpackage -us -uc -b -rfakeroot的时候提示:
checking pkg-config is at least version 0.9.0... yes
./configure: line 8581: syntax error near unexpected token `{'
./configure: line 8581: `fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $result$resultstr" >&5'
make[1]: *** [config.status] 错误 2
make[1]:正在离开目录 `/home/ivan/svn/amule-dlp-read-only'
make: *** [clean] 错误 2
dpkg-buildpackage: 错误: fakeroot debian/rules clean 提供错误退出状态 2

在这之前,有提示make[1]: *** [all-recursive] 错误 1
搜索说需要patch,我就patch了下

代码: 全选

--- aMule-2.2.6/src/utils/wxCas/src/wxcasframe.cpp~    2008-09-06 
+++ aMule-2.2.6/src/utils/wxCas/src/wxcasframe.cpp     2010-04-26 
@@ -285,11 +285,11 @@
 #ifdef __WXMSW__
 
 	memdc.
-	SetFont ( wxFont::wxFont ( 6, wxSWISS, wxNORMAL, wxBOLD ) );
+	SetFont ( wxFont ( 6, wxSWISS, wxNORMAL, wxBOLD ) );
 #else
 
 	memdc.
-	SetFont ( wxFont::wxFont ( 8, wxSWISS, wxNORMAL, wxBOLD ) );
+	SetFont ( wxFont ( 8, wxSWISS, wxNORMAL, wxBOLD ) );
 #endif
 
 	memdc.
然后就出现了上面所说的结果。

Re: amule-dlp 开发动态(DLP4301 by Orzogc)

发表于 : 2011-02-12 21:56
Bill Lee
momova, 首先要说的是,那个 patch 已经被集成进了amule-dlp的代码树(svn23, DLP4301 release )。
另外, ./autogen.sh 是不需要执行的,amule.org 发布的代码树中已经生成了 configure 脚本,你只需要执行 ./configure
在 Google Code 上有 wiki 文章详细说明了从代码树编译的过程。

Re: amule-dlp 开发动态(DLP4301 by Orzogc)

发表于 : 2011-02-12 23:07
persmule
Bill Lee 写了:persmule, 谢谢你的建议。既然 wxWidgets 提供了跨平台地动态加载 C 库的 API, 那就可以通过抽象类和 extern "C" 的 CreateObject 函数来实现动态加载。不过动态加载并不是最重要的,我想要做成动态链接主要是为了把主程序和 antiLeech 库分开,这样更新的时候比较方便。不过如果要让 aMule 7-24 运行(实际上这是不可能的, aMule 不稳定,能连续运行 48 小时就不错了),那动态加载就是需要的。

至于兼容层我认为是没有多大必要,因为之前 greensea 和我已经做了核心的兼容层(用 ISO C 和 wxWidgets 实现)。现在对 antileech.cpp 的处理主要是转换字符编码,以及少量修改一些不符合 ISO C 语法的部分(M$ 的 VC 不符合标准),借助 vimdiff 和已经修改的版本对比,可以在 5 分钟内完成修改。
amule有那么脆啊?看来linux下ed2k还是靠红酒醉emule好些,至少该能跑7-24吧?

Re: amule-dlp 开发动态(DLP4301 by Orzogc)

发表于 : 2011-02-13 0:07
momova
Bill Lee, 我是svn的,重新再configure,会出现make[1]: *** [all-recursive] 错误 1 ,没办法继续了。
看看源码包那个能不能编译吧