Google
 

Archive for December, 2007

2007-12
30

人性之弱点–奢望

Filed under: 闲言碎语 — woojar @ 7:43 pm

海欣股份(600851)终于在长江证券12月27日上市的当天而见光死,所谓利好出尽就是利空,这可能是每个炒股的人都明白的浅显道理。但是我的个人想当然的美好预期使我没有在26日抛掉手中的股票,这导致了我27日的割肉而出。真是血淋淋的教训,这使我一天就损失了将近%10。

为什么会出现这样的情况呢?大家都知道长江证券27日上市的消息,海欣股份拿有其近%10的股份,无论如何这都是天大的利好消息,在这之前的一周内海欣确实不负众望,长了%20左右。这样的涨势情况,可能众股民也是在基于长江证券上市后的市值预期下而产生的投机,海欣本公司的利润情况却不容乐观,近报一直出现负增长。所以15元的市值已是几千倍的市盈率了。这样的情况我也清楚,但我总是奢望它会在长江证券上市的当天会有所作为,这样的奢望才是我赔钱的真正原因。

现实点吧,不要奢望美好愿望中的事情会成为事实!


Technorati :

2007-12
30

PHP-CMS的发展方向:简单,易用,美观(转)

Filed under: Tech articles — woojar @ 2:06 pm

看点1,服务器一键安装,鼠标点点就搞定:输入数据库参数,在服务器上点一个按钮就完成全部的安装。简单配置一下网站的属性,设置一下广告, ctrl+c 和 ctrl+v 复制粘贴几篇文章,一个网站就出来了。
看点2,本地安装,直接发布到服务器:在你自己的机器上安装好此CMS,本机调试,生成HTML,此系统自带FTP发布功能(当然还有同步之类的功能),将生成的HTML文件同步到虚拟主机空间上。OK,这就结束了。

国内目前流行的免费的php+cms比较

备注:免费CMS的PHP程序下载都可以在他们的官方网站上下载。(有一些不是开源的,但有免费版)
如果您对cms的概量还不很理解,请看这里: 什么是CMS

1.曼波-MAMBO,一个国外的CMS系统,功能很强大,支持添加很多组件,模块;拥有丰富的模板
官方:http://www.mamboserver.com/

2.凌波-Limbo(Lite Mambo),顾名思义,是从Mambo演化而来。其目的是在继承Mambo一些强大的功能和特性的同时,对原Mambo系统进行简化,使之变得更加轻便小巧。同时,Limbo支持三种安装方式:TXT、Mysql、SQLite。
官方:http://www.limbo-cms.com/

3.HBcms :一个以PHP官方推荐的PEAR+SMARTY技术架构的cms,2006年才推出,完全符合cms的发展趋势,简单,易用,美观。我本地测试了一下,很容易上手,特别适合没经验的新人做网站。起码不会被复杂的功能吓倒。当然,它同样有各种复杂的功能,只是看你是否需要用到了。使用PHP官方推荐的PEAR+SMARTY技术,是这个cms能持续发展的一个重要的特点,很多功能都直接使用PEAR的类库完成。安装一步到位,默认附带了一些模板,值得推荐。值得注意的是,官方网站宣称以后要开源,如果真这样,熟悉pear的PHP程序员就容易上手了。
中文版官方:http://www.hbcms.com/

4.SupSite-一款将论坛资源自动转换成门户网站的php程序系统,使用SupeSite,并利用你现有的论坛,你将自动拥有一个功能完备的,资源丰富的站点系统;由论坛变成网站,一切都是自动完成,你不需要任何干涉。让你轻轻松松实现建立网站的目的。
官方:http://www.supsite.net/

5.phpcms-一个综合的网站管理系统,由PHP+MYSQL构架全站生成html,能够快速高效地应用于LINUX和WINDOWS服务器平台,是目前中国LINUX环境下最佳的网站管理应用解决方案之一
官方:http://www.phpcms.cn/

6.风讯网站内容管理系统(FoosunCMS)-是风讯公司积多年经验、通过设计师们精心设计的符合国际要求的网站信息管理系统。
官方:http://www.foosun.cn/

7.DEDE -这是一款开源的cms。功能也比较完善,但数据量一大就很慢了。因为开源,有较多的玩家和拥护者。
官方:http://www.dedecms.com/

8.php168 -PHP168整站系统,代码全部开源,可方便的进行二次开发,功能模块可以自由安装与删除,个人用户免费使用。
官方:http://www.php168.com/

9.帝国网站管理系统-Ecms全称为"帝国网站管理系统",英文译为"Empire CMS"简称"Ecms".Ecms是基于B/S结构,且功能强大而易用的网站管理系统.
官方:http://www.phome.net/

10. 随易全站系统(Cmsez)-Cmsez集成了丰富的功能模块,包括用户管理、新闻发布、信息发布、产品展示、图片管理、附件管理、在线商店、资料下载、多媒体浏览/播放等。
官方:http://www.cmsez.com/

说到免费的PHP CMS系统,再看看目前国外的CMS状况

国外的cms比较发现:通过Alexa统计的几个主要的CMS(Content Management System)工具的最近三个月网站日浏览的统计,这份统计包括Drupal, Joomla, Mambo, Xoops 和 Typo3,很明显可以看出曾经的CMS老大Xoops已经式微,Mambo在变故之后半死不活,Typo3一直都名声平平(不知道Typo3与Typo是什么关系,Typo是基于Ruby on Rails(ROR)的blog系统,有着非常kool的ajax应用,正准备搭一个Typo看看)而相比较而言,Joomla与Drupal却变得越来越 popular,四月中的那次飞跃估计与Drupal的最终推出关系比较大。当然这只是对于各个CMS的流行程度的一个估测值,会有这样那样的bias,譬如可能因为是Drupal的安装使用过于复杂所以用户才不断的到Drupal.org上去问问题,导致Drupal的网站页面访问上升,而Xoops因为发展历史很长,并且使用简单,所以用户在下载安装之后不用经常的去Xoops的网站寻求帮助(呵呵,GRE逻辑题)。但是不管怎样这份Alexa的Pageviews的统计还是能给我们指一指CMS 的流行风向。点这里查看CMS整站系统介绍

如何选择 最优秀的CMS,最好的CMS

现在每个CMS功能介绍上都会说自己的产品如何强大,比如说什么模板体系如何好,缓存技术如何高明,刷新效率,负载容量如何强,操作如何如何简单,容易上手,跟第三方无缝结合,还有功能模块的如何丰富,生成静态发布,信息采集…… 吹牛谁都会,大家都会写,关键是客户如何认为,不用功能很多。另外,CMS系统SEO搜索优化也是比较重要的因素,适用得当,可以给你带来很多搜索引擎的流量。
一句话,适合自己的就是最好的。

2007-12
21

几种开源SIP协议栈对比(转)

Filed under: 闲言碎语 — woojar @ 7:38 pm

[tag]sip stack, open source[/tag]

转自中华视频网
随着VoIP和NGN技术的发展,H.323时代即将过渡到SIP时代,在H.323的开源协议栈中,Openh323占统治地位,它把一个复杂而又先进的H.323协议栈展现在普通程序员的眼前,为H.323普及立下了汗马功劳。而然当在SIP时代,则出现了群雄割据的状况,SIP相对于H.323简单,灵活,于是各种协议栈层出不穷,下面将详细对比最具有代表性的5个开源项目:OPAL,VOCAL,sipX,ReSIProcate,oSIP

OPAL是Open Phone Abstraction Library,是Openh323的下一个版本,它仍然使用了Openh323的体系结构,并在其基础上进行扩展,同时实现了SIP,H.323,但在音频和视频的编码和传输部分有较大改动。OPAL初衷设计是包含任何电话通信协议,所以其底层进行了高度的抽象化,所以也能够很容易的支持MGCP,PSTN和将来会出现的协议。不过由于Openh323的最后一个版本还在开发中,所以原本6月发布的OPAL也被推迟,现有的OPAL还非常不完善,BUG也非常多,不过相信以Openh323的开发班底,一定能让OPAL十分优秀。

CVS : :pserver: anonymous@cvs.sourceforge.net :/cvsroot/openh323/opal
Language : C++
VxWorks port : Yes
Win32 port : Yes
Linux port : Yes
Supports RFC 3261 : Yes
Supports RFC 2327 : Yes
Supports RFC 3264 : Yes
Supports RFC 3263 : No
Supports RFC 3515 : Yes
Supports RFC 3262 : No
Supports RFC 3311 : No
TCP : Yes
UDP : Yes
SIZE : 8MB
License : MPL
Document : None
Samples : UA,GK

VOCAL是vovida.org开发的SIP系统,VOCAL应该是目前功能最完善,使用者最多的开源SIP协议栈了.它不只包括了协议栈,还包括了h323与sip转换网关,对SIP的各种Server的功能支持也非常完善.不过很可惜,不支持windows平台,而且自从vovida被CISCO收购以后就停止了开发,最后的版本是2003年4月的1.5.0。
CVS : :pserver: anonymous@cvs.vovida.org :/cvsroot/vocal
Language : C++
VxWorks port : No
Win32 port : Partial
Linux port : Yes
Supports RFC 3261 : Partial
Supports RFC 2327 : Yes
Supports RFC 3264 :
Supports RFC 3263 :
Supports RFC 3515 : Yes
Supports RFC 3262 :
Supports RFC 3311 :
TCP : Yes
UDP : Yes
SIZE : 6MB
License: Vovida software licencse
Document : Few
Samples : UA,GK,GW

sipX是一个SIP系统,由SIPFoundry开发。sipX是从reSIProcate分离出来的,sipX除了包括SIP stack外,还包括了sipXphone,sipXproxy,sipXregistry等等…,由它们构成了完整的SIP系统,而且sipx还支持嵌入式系统,各个模块可以按需取舍。不过可惜是几乎没有任何开发文档。
SVN : http://scm.sipfoundry.org/viewsvn/
Language : C++
VxWorks port : Yes
Win32 port : Yes
Linux port : Yes
Supports RFC 3261 : Yes
Supports RFC 2327 : Yes
Supports RFC 3264 : Yes
Supports RFC 3263 : Yes
Supports RFC 3515 : Yes
Supports RFC 3262 : No
Supports RFC 3311 : No
TCP : Yes
UDP : Yes
SIZE : <4 Mb
License : LGPL
Document : None
Samples : UA,GK,GW

ReSIProcate同样也是由SIPFoundry开发,ReSIProcate最开始起源于Vocal,由于Vocal开始只支持rfc3254,为了支持最新的rfc3261,ReSIProcate诞生了,但现在,ReSIProcate已经成为一个独立SIP协议栈了,它十分稳定,并且很多商业程序都在使用。
SVN : http://scm.sipfoundry.org/viewsvn/resiprocate/main/sip/
Language : C++
VxWorks port : No
Win32 port : Yes
Linux port : Yes
Supports RFC 3261 : Yes
Supports RFC 2327 : Yes
Supports RFC 3264 : Yes
Supports RFC 3263 : Partial
Supports RFC 3515 : Yes
Supports RFC 3262 : No
Supports RFC 3311 : No
TCP : Yes
UDP : Yes
SIZE : < 2.5 Mb
License : Vovida
Document : Few
Samples : None

oSIP的开发开始于2000年7月,第一个版本在2001年5月发布,到现在已经发展到2.0.9了。它采用ANSI C编写,而且结构简单小巧,所以速度特别快,它并不提供高层的SIP会话控制API,它主要提供一些解析SIP/SDP消息的API和事务处理的状态机,oSIP的作者还开发了基于oSIP的UA lib:exosip和proxy server lib:partysip.
CVS : :ext: anoncvs@savannah.gnu.org :/cvsroot/osip
Language : C
VxWorks port : Yes
Win32 port : Yes
Linux port : Yes
Supports RFC 3261 : Yes
Supports RFC 2327 : Yes
Supports RFC 3264 : Yes
Supports RFC 3263 : Yes
Supports RFC 3515 : No
Supports RFC 3262 : No
Supports RFC 3311 : Yes
TCP : Yes
UDP : Yes
SIZE : 400kb
License : LGPL
Samples : UA,GK

综合上述评测,可以看出5种SIP协议栈各有千秋,OPAL有发展潜力,VOCAL比较完善,sipX兼容性好,ReSIProcate教稳定,oSIP小巧而快速。所以要根据应用的不同选择恰当的协议栈进行研究开发。


Technorati : ,

2007-12
4

Python surpasses Perl for the first time in history(from TIOBE)

Filed under: Tech articles — woojar @ 9:38 am

[tag]programming language, Python[/tag]

TIOBE Programming Community Index for December 2007

December Headline: Python surpasses Perl for the first time in history

The TIOBE Programming Community index gives an indication of the popularity of programming languages. The index is updated once a month. The ratings are based on the world-wide availability of skilled engineers, courses and third party vendors. The popular search engines Google, MSN, Yahoo!, and YouTube are used to calculate the ratings. Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.

The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system. The definition of the TIOBE index can be found here.







Position
Dec 2007
Position
Dec 2006
Delta in Position Programming Language Ratings
Dec 2007
Delta
Dec 2006
Status
1 1 Java 20.049% +0.14% A
2 2 C 13.173% -3.44% A
3 4 (Visual) Basic 10.219% +1.31% A
4 5 PHP 8.393% -0.14% A
5 3 C++ 7.871% -2.54% A
6 7 Python 4.697% +0.93% A
7 6 Perl 4.383% -2.01% A
8 8 C# 3.994% +0.82% A
9 11 Ruby 3.089% +0.76% A
10 10 JavaScript 2.733% +0.17% A
11 9 Delphi 2.673% +0.10% A
12 14 D 1.633% +0.66% A
13 13 PL/SQL 1.394% +0.05% A
14 12 SAS 1.393% -0.84% A
15 18 COBOL 0.894% +0.29% A-
16 15 ABAP 0.875% -0.03% A-
17 17 Lisp/Scheme 0.841% +0.20% A-
18 20 Transact-SQL 0.817% +0.35% A–
19 19 Pascal 0.791% +0.23% A–
20 46 Lua 0.771% +0.67% A-


Original URL: http://www.tiobe.com/tpci.htm


Technorati : ,

2007-12
1

构造arm-linux交叉编译工具链(Tool Chain)(转)

Filed under: Tech articles — woojar @ 7:07 pm

[tag]tool chain, arm[/tag]

I donn’t know the real author of this article. If it’s pirate, I will remove it quickly

Linux kernel package used: (ftp://ftp.kernel.org/pub/linux/kernel/v2.6/)
linux-2.6.17.tar.gz

GNU compiler sources: (ftp://ftp.gnu.org/gnu/)
binutils-2.17.tar.gz
gcc-3.4.6.tar.gz
glibc-2.3.6.tar.gz
glibc-linuxthreads-2.3.6.tar.gz

Patches used: (http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/)
33_all_pr15068-fix.patch
5090_all_divdi3-asm-fix.patch
6200_all_arm-glibc-2.3.6-ioperm.patch
6230_all_arm-glibc-2.3.6-socket-no-weak-lias.patch
gcc_eh.patch.cross

1. Preparation
Create project directory like this:
/root/scholar
|
|–toolchain
| |–binutils-2.17.tar.gz
| |–gcc-3.4.6.tar.gz
| |–glibc-2.3.6.tar.gz
| |–glibc-linuxthreads-2.3.6.tar.gz
|
|–patches
| |–33_all_pr15068-fix.patch
| |–5090_all_divdi3-asm-fix.patch
| |–6200_all_arm-glibc-2.3.6-ioperm.patch
| |–6230_all_arm-glibc-2.3.6-socket-no-weak-lias.patch
| |–gcc_eh.patch.cross
|
|–kernel
|–linux-2.6.17.tar.gz

export PREFIX=/usr/local/arm/scholar

2. Building binutils-2.17
tar -zxvf binutils-2.17.tar.gz
cd binutils-2.17
mkdir arm-linux
cd arm-linux
../configure –target=arm-linux –prefix=$PREFIX –program-prefix=arm-linux-
make
make install

3. Bootstrap GCC (First time compiling GCC without glibc, only pure-C is supported)
tar -zxvf gcc-3.4.6.tar.gz
patch -p1 -d gcc-3.4.6 < patches/33_all_pr15068-fix.patch
cd gcc-3.4.6
vi gcc/config/arm/t-linux (TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC -Dinhibit_libc -D__gthr_posix_h)
mkdir arm-linux
cd arm-linux
../configure –target=arm-linux –prefix=$PREFIX –program-prefix=arm-linux- –disable-threads –disable-shared –enable-languages=c
make
make install

4. Linux kernel header files (This step creates the arm-specified header files for glibc)
tar -zxvf linux-2.6.17.tar.gz
cd linux-2.6.17
make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
make include/linux/version.h
cp -dR include/linux $PREFIX/arm-linux/include/
cp -dR include/asm-generic $PREFIX/arm-linux/include/
cp -dR include/asm-arm $PREFIX/arm-linux/include/
mv $PREFIX/arm-linux/include/asm-arm $PREFIX/arm-linux/include/asm

5. glibc-2.3.6
tar -zxvf glibc-2.3.6.tar.gz
tar -zxvf glibc-linuxthreads-2.3.6.tar.gz –directory ./glibc-2.3.6
patch -p1 -d glibc-2.3.6 < patches/5090_all_divdi3-asm-fix.patch
patch -p1 -d glibc-2.3.6 < patches/6200_all_arm-glibc-2.3.6-ioperm.patch
patch -p1 -d glibc-2.3.6 < patches/6230_all_arm-glibc-2.3.6-socket-no-weak-lias.patch
patch -p1 -d glibc-2.3.6 < patches/gcc_eh.patch.cross
mkdir arm-linux
cd arm-linux
CC=arm-linux-gcc AR=arm-linux-ar RANLIB=arm-linux-ranlib LD=arm-linux-ld ../configure –target=arm-linux –prefix=$PREFIX/arm-linux –host=arm-linux –enable-add-ons=linuxthreads –enable-shared –with-headers=$PREFIX/arm-linux/include
make
make install

6. gcc-3.4.6 full version (with glibc, support C/C++)
cd gcc-3.4.6
Change ./gcc/config/arm/t-linux back to original
cd arm-linux
../configure –target=arm-linux –prefix=$PREFIX –program-prefix=arm-linux- –enable-multilib –with-headers=$PREFIX/arm-linux/include –enable-languages=c,c++
make
make install

自此,整个arm-linux的工具链也就生成了

Issue: I encounted one problem when I cross-compiled arm gcc, the log in the following

checking for arm-linux-gcc… /root/gcc-4.2.2/arm-linux/./gcc/xgcc -B/root/gcc-4.2.2/arm-linux/./gcc/ -B/arm-linux/bin/ -B/arm-linux/lib/ -isystem /arm-linux/include -isystem /arm-linux/sys-include
checking for C compiler default output file name… configure: error: C compiler cannot create executables
See `config.log’ for more details.
make[1]: *** [configure-target-libmudflap] Error 1
make[1]: Leaving directory `/root/gcc-4.2.2/arm-linux’
make: *** [all] Error 2

config.log

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:630: checking host system type
configure:651: checking target system type
configure:669: checking build system type
configure:724: checking for a BSD compatible install
configure:777: checking whether ln works
configure:801: checking whether ln -s works
configure:1866: checking for gcc
configure:1979: checking whether the C compiler (gcc ) works
configure:1995: gcc -o conftest conftest.c 1>&5
configure:2021: checking whether the C compiler (gcc ) is a cross-compiler
configure:2026: checking whether we are using GNU C
configure:2054: checking whether gcc accepts -g
configure:2121: checking for gnatbind
configure:2186: checking whether compiler driver understands Ada
configure:2218: checking how to compare bootstrapped objects
configure:2338: checking for correct version of gmp.h
configure:2351: gcc -c -g -O2 conftest.c 1>&5
configure:2364: checking for correct version of mpfr.h
configure:2378: gcc -c -g -O2 conftest.c 1>&5
configure:2368:18: error: mpfr.h: No such file or directory
configure:2371:36: error: missing binary operator before token “(”
configure: failed program was:
#line 2366 “configure”
#include “confdefs.h”
#include “gmp.h”
#include <mpfr.h>
int main() {

#if MPFR_VERSION < MPFR_VERSION_NUM(2,2,1)
choke me
#endif

; return 0; }
configure:2392: checking for any version of mpfr.h
configure:2402: gcc -o conftest -g -O2 conftest.c -lmpfr -lgmp 1>&5
configure:2396:18: error: mpfr.h: No such file or directory
configure: In function ‘main’:
configure:2398: error: ‘mpfr_t’ undeclared (first use in this function)
configure:2398: error: (Each undeclared identifier is reported only once
configure:2398: error: for each function it appears in.)
configure:2398: error: expected ‘;’ before ‘n’
configure:2398: error: ‘n’ undeclared (first use in this function)
configure: failed program was:
#line 2394 “configure”
#include “confdefs.h”
#include <gmp.h>
#include <mpfr.h>
int main() {
mpfr_t n; mpfr_init(n);
; return 0; }
configure:3513: checking for bison
configure:3513: checking for byacc
configure:3513: checking for yacc
configure:3553: checking for bison
configure:3592: checking for gm4
configure:3592: checking for gnum4
configure:3592: checking for m4
configure:3631: checking for flex
configure:3631: checking for lex
configure:3671: checking for flex
configure:3710: checking for makeinfo
configure:3763: checking for expect
configure:3804: checking for runtest
configure:3852: checking for i686-pc-linux-gnu-ar
configure:3927: checking for i686-pc-linux-gnu-as
configure:4002: checking for i686-pc-linux-gnu-dlltool
configure:4033: checking for dlltool
configure:4077: checking for i686-pc-linux-gnu-ld
configure:4152: checking for i686-pc-linux-gnu-lipo
configure:4183: checking for lipo
configure:4227: checking for i686-pc-linux-gnu-nm
configure:4302: checking for i686-pc-linux-gnu-ranlib
configure:4372: checking for i686-pc-linux-gnu-strip
configure:4442: checking for i686-pc-linux-gnu-windres
configure:4473: checking for windres
configure:4517: checking for i686-pc-linux-gnu-objcopy
configure:4592: checking for i686-pc-linux-gnu-objdump
configure:4704: checking for arm-linux-cc
configure:4704: checking for arm-linux-gcc
configure:4797: checking for arm-linux-c++
configure:4797: checking for arm-linux-g++
configure:4797: checking for arm-linux-cxx
configure:4797: checking for arm-linux-gxx
configure:4890: checking for arm-linux-gcc
configure:3852: checking for i686-pc-linux-gnu-ar
configure:3927: checking for i686-pc-linux-gnu-as
configure:4002: checking for i686-pc-linux-gnu-dlltool
configure:4033: checking for dlltool
configure:4077: checking for i686-pc-linux-gnu-ld
configure:4152: checking for i686-pc-linux-gnu-lipo
configure:4183: checking for lipo
configure:4227: checking for i686-pc-linux-gnu-nm
configure:4302: checking for i686-pc-linux-gnu-ranlib
configure:4372: checking for i686-pc-linux-gnu-strip
configure:4442: checking for i686-pc-linux-gnu-windres
configure:4473: checking for windres
configure:4517: checking for i686-pc-linux-gnu-objcopy
configure:4592: checking for i686-pc-linux-gnu-objdump
configure:4704: checking for arm-linux-cc
configure:4704: checking for arm-linux-gcc
configure:4797: checking for arm-linux-c++
configure:4797: checking for arm-linux-g++
configure:4797: checking for arm-linux-cxx
configure:4797: checking for arm-linux-gxx
configure:4890: checking for arm-linux-gcc
configure:4978: checking for arm-linux-gcj
configure:5071: checking for arm-linux-gfortran
configure:5539: checking for dlltool
configure:5593: checking for arm-linux-dlltool
configure:5849: checking for lipo
configure:5903: checking for arm-linux-lipo
configure:6624: checking for windres
configure:6678: checking for arm-linux-windres
configure:6759: checking where to find the target ar
configure:6792: checking where to find the target as
configure:6825: checking where to find the target cc
configure:6858: checking where to find the target c++
configure:6894: checking where to find the target c++ for libstdc++
configure:6930: checking where to find the target dlltool
configure:6963: checking where to find the target gcc
configure:6996: checking where to find the target gcj
configure:7032: checking where to find the target gfortran
configure:7068: checking where to find the target ld
configure:7101: checking where to find the target lipo
configure:7124: checking where to find the target nm
configure:7157: checking where to find the target objdump
configure:7190: checking where to find the target ranlib
configure:7223: checking where to find the target strip
configure:7256: checking where to find the target windres
configure:7317: checking whether to enable maintainer-specific portions of Makefiles
configure:7366: checking whether -fkeep-inline-functions is supported
configure:7381: gcc -c -g -O2 -fkeep-inline-functions conftest.c 1>&5

28 queries. 10.518 seconds. Powered by WordPress
沪-ICP备07003363号 Stat.