精华内容
下载资源
问答
  • 开源代码怎样获取

    2016-05-08 13:20:00
    开放源代码(Open source code)也称为源代码公开,指的是一种软件发布模式。 开放源码软件保证所有人可以得到这些代码。这意味着没有一个公司可以完全独占它。开放源码意味着自由选择的权力,而自由选择意味着...

    开放源代码(Open source code)也称为源代码公开,指的是一种软件发布模式。      

    开放源码软件保证所有人可以得到这些代码。这意味着没有一个公司可以完全独占它。开放源码意味着自由选择的权力,而自由选择意味着激发更多创新的能量。

    它把控制权交还给使用者和客户。您可以查看系统运作的所有源码,或进行修改,或从中汲取相关的知识。系统缺陷和漏洞可以更快地被发现并加以修正。并且,当客户不满意一个供应商的服务,他们可以选择更好的服务提供商来建设他们的信息基础设施。没有技术的壁垒,也没有市场的垄断。开放源码的模式可以帮助开发出更高质量,更安全,更易用的集成软件。它的确使软件开发的步伐迈得更加快速,并有效降低了成本。

    使用开源软件来获取开源代码,例如:GNU 、Linux、 X11 、TeX、Apache、Zope、Plone、Eclipse等。

     

    转载于:https://www.cnblogs.com/axdw/p/5470438.html

    展开全文
  • 大话设计模式(带目录完整版)[中文PDF+源代码] 通篇都是以情景对话的形式,用多个小故事或编程示例来组织讲解GoF(设计模式的经典名著——Design Patterns: Elements of Reusable Object-Oriented Software,中译本...
  •  目前在中国,对于开源软件的商业运作问题存在两个严重问题,一是依然按照传统商业软件的模式来运作开源软件,从国际开源社区那里免费地获取源代码,稍微修改后变成自己的产品,然后出售软件许可。二是紧抱“自由...

     目前在中国,对于开源软件的商业运作问题存在两个严重问题,一是依然按照传统商业软件的模式来运作开源软件,从国际开源社区那里免费地获取源代码,稍微修改后变成自己的产品,然后出售软件许可。二是紧抱“自由软件”的陈旧概念,认为软件产品就应该“自由”地使用,低估了软件产品和服务的价值,与全球正在积极推进的知识产权保护做法背道而驰。
             到底开源软件能否赚钱,又如何用其赚钱?希望本专题对开源有志之士能够有所帮助。

    ● 揭密:开源软件七大盈利模式
    开源软件在发展历程中,已经不仅仅是开放源代码的免费软件。开源软件与商业并不冲突,它是一种新兴的商业模式。与传统的商业软件相比,开源软件采用了开放源代码、免费分发等形式,减少了营销与销售成本,更易于广泛传播。

    在开源软件领域中,常见的盈利模式一共有7种。下面让我们来逐一列举和分析。
    ● 盈利模式之一:多种产品线
    如 MySQL 产品就同时推出面向个人和企业的两种版本,即开源版本和专业版本,分别采用不同的授权方式。开源版本完全免费以便更好的推广,而从专业版的许可销售和支持服务获得收入。
    ● 盈利模式之二:技术服务型
    JBoss就是这种模式的典型代表。JBoss 应用服务器完全免费,而通过提供技术文档、培训、二次开发支持等技术服务而获得收入。
    ● 盈利模式之三:应用服务托管(ASP)
    例如,PHP Live! 就是一种构架于 PHP、MySQL 之上的开源软件,它可为企业用户提供实时交谈服务。目前已经有数十家公开提供 PHP Live! 托管服务的应用服务提供商。
    ● 盈利模式之四:软、硬件一体化
    比如 IBM HP 等服务器供应商巨头,通过捆绑免费的 Linux 操作系统销售硬件服务器。SUN 公司近期将其 Solaris 操作系统开放源码,以确保服务器硬件的销售收入,也是这种模式的体现。
    ● 盈利模式之五:附属品
    O'Reilly集团是销售开源软件附加产品公司的典型案例,他出版了很多优秀的开放源代码软件的参考资料。
    ● 盈利模式之六:品牌战略、服务至上
    康比尔公司的 Compiere ERP & CRM 软件是这种模式的典型案例。
    ● 盈利模式之七:市场策略
    比如,微软宣称部分的公开 Office 的源代码,就是执行这种策略。
    事实上,一家公司可能混合采用其中的几种盈利模式,比如康比尔公司不仅采用了第六种品牌策略,同时也采用了第二种提供技术服务的方式。 在开源软件大潮的冲击之下,包括微软在内的商业软件公司,也开始认可开源软件"软件成为服务"的本质。
    正如 Navica 公司 CEO 本纳德·高登所说,"短短两三年间,任何人在选择任何企业软件之时,都开始考虑一个问题:是否有开源软件可作替代?"
    ● 开源软件的商业化问题探讨
    下面所列的开源软件的商业模式与上篇文章所列虽然在细节上有所不同,但其本质却是相通的,现在就让我们看看其具体内容吧:
     1、免费软件+收费硬件
    比如IBM、SUN、HP等公司,在开源软件领域投入巨大,但这一切并非是做善事,它们可以从配置了开源软件的硬件中获得巨额回报。
     2、免费知识+收费书籍(培训)
    比如著名的开源软件出版商O'Reilly公司,就不遗余力地联系各开源软件权威人士,组织各种开源软件的会议,虽然知识是免费的,但承载知识的书籍却是收费的。
     3、免费程序+收费实施
    像中间件、ERP和SCM等企业级信息系统,免费提供这种系统的程序代码,以提供收费的技术服务来赚钱。JBoss就是这种模式的典型代表。
     4、免费社区版+收费企业版
    Redhat自Redhat Linux 9.0后将原桌面操作系统转为Fedora项目,借Fedora Core Linux在开源社区的声望而促进Redhat Enterprise Linux AS/ES/WS服务器产品线的销售。
     5、开源软件+商业软件
    比如Novell就将自己原来丰富的中间软件和应用软件迁移到Linux平台上,通过与Linux的捆绑为客户提供高价值的综合解决方案。红旗和Turbolinux也在积极加强与应用软件厂商的联系或自己开发商业软件,通过附加更多的商业软件来增加收入。
     6、免费软件+收费专业服务
    典型代表是SourceLabs公司和SpikeSource公司。这些公司并不主推自己的产品品牌,而是与多方开源软件厂商或社区合作。
    现在,IBM在开源,SUN在开源,Oracle在开源,微软也在开源——虽然是极不情愿的。等到某一天,微软完全开源了,国内的这些“开源软件”企业还有什么卖点可以向政府和媒体鼓吹呢?
    ● 剖析:开源软件能够赚到钱吗?
    中科红旗的总裁赵晓亮曾经用一个关于饮水的比喻来解释开源软件企业是如何赚钱的,大意是人每天都要喝大量的水,但饮水是在不同的环境下、不同的条件下进行的。虽然原料都是水,但性质已经发生了改变。而且水的加工程序越多,大家喝起来就越放心。
    Linux厂商也是同样的价值,大家的源头都是水,但水经过加工、处理,已经与原生态发生了很多变化,而且让喝水的人产生了很多安全感。安全感来自对生产瓶装水的厂商的品牌、技术实力的信任度,来自于对正规大厂的服务能力、可持续发展的信任度等。因此,开源基础上的商业模式,应该就是服务的模式,通过增值服务来收取费用。
    展开全文
  • 怎样设置Samba文件服务器以使用Windows客户端 ...不同于其它SMB/CIFS网络协议部署(如HP-UX的LM服务器,OS/2的LAN服务器,或者VisionFS),Samba(及其源代码)是可以自由获取的(终端用户无需付费),允许在...

    怎样设置Samba文件服务器以使用Windows客户端

    根据Samba项目网站所述,Samba是一个开源/自由软件套件,提供了到SMB/CIFS客户端的无缝文件和打印服务。不同于其它SMB/CIFS网络协议部署(如HP-UX的LM服务器,OS/2的LAN服务器,或者VisionFS),Samba(及其源代码)是可以自由获取的(终端用户无需付费),允许在Linux/Unixt服务器和Windows/Unix/Linux客户端之间互操作。

    出于这些理由,Samba在不同操作系统(除了Linux)共存的网络中首选的文件服务器解决方案——最常见的结构是多个微软Windows客户端访问安装有Samba的Linux服务器,该情形也是本文将要解决的问题。

    请注意,另外一方面,如果我们的网络仅仅是由基于Unix的客户端(如Linux,AIX,或者Solaris,等等)组成,我们可以考虑使用NFS(尽管在此种情况下Samba仍然是可选方案),它可以提供更快的速度。

    在Debian和CentOS中安装Samba

    在我们开始安装之前,我们可以使用操作系统中的包管理系统查询Samba的信息:

    在Debian上:

    
    
    1. # aptitude show samba

    在CentOS上:

    
    
    1. # yum info samba

    在下面的屏幕截图中,我们可以看到‘aptitude show samba’的输出(‘yum info samba’会产生类似的结果):

    现在让我们来安装Samba吧(下面的截图来自Debian 7[Wheezy]服务器上的安装):

    在Debian上:

    
    
    1. # aptitude install samba

    在CentOS上:

    
    
    1. # yum install samba

    添加用户到Samba

    对于4.x之前的版本,需要建立一个本地Unix帐号以便将其添加到Samba:

    
    
    1. # adduser <username>

    接下来,我们需要添加用户到Samba,使用带有‘-a’选项的smbpasswd命令来完成,该命令指出后面的用户名将被添加到本地smbpasswd文件中。我们将被提示输入密码(该密码无需和本地Unix帐号的密码相同):

    
    
    1. # smbpassword -a <username>

    最后,我们将赋予用户xmodulo到我们系统上某个目录的访问权限,该目录将被用于作为此用户的Samba共享(如有需要,也可以共享给其它用户)。要完成该工作,请使用文本编辑器(如Vim)打开/etc/samba/smb.conf文件,导航到文件末,然后创建一个带有描述名称的区块(使用方括号将其括起来),如[xmodulo]:

    
    
    1. # SAMBA SHARE
    2. [xmodulo]
    3. path = /home/xmodulo
    4. available = yes
    5. valid users = xmodulo
    6. read only = no
    7. browseable = yes
    8. public = yes
    9. writeable = yes

    我们现在必须重启Samba—以防万一—使用testparm命令来检查smb.conf文件的语法错误:

    
    
    1. # service samba restart
    2. # testparm

    如果有错误,在testparm结束后会报告。

    在Windows 7计算机上将Samba共享映射为一个网络驱动器

    在计算机上右击,然后选择“映射网络驱动器”:

    输入安装了Samba的机器的IP地址,后跟共享名(就是smb.conf文件中方括号括起来的那个名称),然后确保选中了“使用不同的凭据连接”:

    输入先前用‘smbpasswd -a’设置的用户名和密码:

    进入计算机,然后检查网络驱动器是否被正确添加:

    作为测试,让我们从Samba的手册页创建一个pdf文件,然后保存到/home/xmodulo目录:

    接下来,我们可以验证该文件是否可以从Windows读取:

    然后检查我们是否能够用默认的pdf阅读器打开它:

    最后,让我们看看我们是否能在Windows中刚刚映射的驱动器上保存文件。我们将打开change.log文件,该文件列出了Notepad++的功能:

    然后试着将它作为普通文本文件(.txt扩展名)保存到Z:\;然后让我们看看该文件是否能在Linux中看到:

    启用磁盘配额

    作为第一步,我们需要验证当前内核是否已经编译为支持配额:

    
    
    1. # cat /boot/config-$(uname -r) | grep

    每个文件系统最多有5种类型,能够强制使用的配额限制:用户软限制,用户硬限制,组软限制,组硬限制,以及宽限期限。

    我们现在将为/home文件系统启用磁盘配额,在/etc/fstab文件对应的/home文件系统行现存的默认选项后添加usrquota和grpquto挂载选项,然后重新挂载文件系统以令修改生效:

    接下来,我们需要在/home目录创建两个文件以用于作为用户和组配额的数据库文件:aquota.useraquota.group。然后,我们将生成启用配额后每个文件系统的当前磁盘使用表:

    
    
    1. # quotacheck -cug /home
    2. # quotacheck -avugm

    尽管已经为/home文件系统启用磁盘配额,我们还没有给任何用户或组设置权限。检查现有用户/组的配额信息:

    
    
    1. # quota -u <username>
    2. # quota -g <groupname>

    在这最后几步中,使用quotatool命令来为每个用户和/或组来分配磁盘配额(注意,该任务也可以使用edquota来完成,但是quotatool更为直接,更不易犯错)。

    要为用户xmodulo设置软限制为4MB,硬限制为5MB,xmodulo组为10MB/15MB:

    
    
    1. # quotatool -u xmodulo -bq 4M -l '5 Mb' /home
    2. # quotatool -g xmodulo -bq 10M -l '15 Mb' /home

    我们可以在Windows 7中看到结果(4.00MB中有3.98MB空闲):

    原文发布时间:2014-08-21

    本文来自云栖合作伙伴“linux中国”

    展开全文
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    软件工程ppt 建议没有基础或者兴趣的同学别下载 因为软件工程理解需要耐心和能力 主讲:邱焕耀 经历 华南理工大学,博士,计算机控制 曾任职以下公司: 中国民航信息广州公司(香港上市)技术总监 广州金鹏集团...
  • PDF电子书 + 源码 第1章 开发工具与调试 如何快速地规范代码缩进格式 ...如何给软件加密和解密 如何使程序在开机时就自动运行 如何创建快捷方式 如何删除快捷方式 如何在程序中用代码注册和卸载ocx控
  • C) 数据条目、数据流条目、数据处理条目、数据文件条目 D) 数据流条目、数据文件条目、数据池条目、加工条目 9. 在需求分析阶段主要采用图形工具来描述的原因是(B C)。 A) 图形的信息量大,便于描述规模大的...
  • 你还可以发送邮件“send design pattern source”到design-patterns-source@cs.uiuc.edu获取书中的示例代码部分的源代码。    另外我们有一个专门的网页报道最新的消息与更新:    ...
  • /usr/lib之类的目录下,c程序里直接写#include 时,能直接去找到它们,在VC里,同样的,最简单的方法就是将oSIP2源码包中的Include目录下的 osipparser2目录直接拷到我们的Windows下默认...
  • [内容提要] 本文主要说明怎样获取emacs的最新源代码,emacs的编译环境,在不同平台(Ubuntu & Windows)从最新的源码编译与安装emacs的过程与步骤;以及插件cedet、ecb、cscope、jde编译安装过程。重点讲述windows下的...

    [内容提要] 本文主要说明怎样获取emacs的最新源代码,emacs的编译环境,在不同平台(Ubuntu & Windows)从最新的源码编译与安装emacs的过程与步骤;以及插件cedet、ecb、cscope、jde编译安装过程。重点讲述windows下的编译环境配置。

    我们要想在开发优秀的软件,必须要有优秀的开发工具。想必国人用windows习惯了,不用说首选必是MS visual studio,可以非常方便的开发自己的项目,但是只能在windows下使用。如果你的项目代码是跨平台的,vs将无武之地。Emacs是最古老的编辑器,也是世界上最强大的IDE。像OpenOffice.org这样大型跨平台的包括C++/C、JAVA、python、C#、甚至VBA多语言编译的项目,正是emacs显示其强大功能,无所不包的地方。

    正所谓“工欲善其事,必先利其器”,我们如何利用和改造emacs,使之成为我们开发的利器。本篇是打造高效的跨平台的OpenOffice.org开发环境系列之一--Emacs 24 的编译与安装,讲述如何从源代码编译安装emacs,重点讲述windows xp使用mingw编译emacs24的环境配置和所需的附加组件,以及插件编译安装。

    1. 获得emacs源码

    由于Emacs开发团队把版本控制系统从CVS转换为Bazzar,因此,这里我们以ubuntu和winodows xp 如何获取gnu emacs源码。

    Ubuntu Lucid

    安装 Bazaar

    下面的安装命令为你安装bazaar 和相关依赖软件。
    $ sudo apt-get install bzr

    从仓库检出代码
    $ cd ~
    $ bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk emacsrc

    windows xp

    如果你的windows系统安装了python2.6, 从下载地址:http://launchpad.net/bzr/2.1/2.1.1/+download/bzr-2.1.1.win32-py2.6.exe 下载bazaar for python,或者包括全部依赖组件的安装文件:http://launchpad.net/bzr/2.1/2.1.1/+download/bzr-2.1.1-setup.exe 。详细安装过程请参考[3.]
    检出代码同ubuntu。
    当然你希望在linux和windows 下使用同一份源代码,关于使用相同源代码请参考本文emacs 编译部分的说明。

    更新源码

    如果你要更新emacs到最新代码,只需在emacs检出代码目录下用以下命令即可:
    bzr pull 

    在更新到最新版本,你可以看到emacs的版本信息,如下所示:
    :/developdir/emacsrc$ bzr pull
    Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/
    +N admin/unidata/BidiMirroring.txt
    ...
    M test/ChangeLog
    All changes applied successfully.
    Now on revision 100623.

    [注:]由于trunk分支在不断更新中,有可能你下的那个revision编译有些问题,解决办法:一是回滚到以前某个revision,版本100434在windows 和ubuntu 下编译通过;二是等再下一个revision。

    编译emacs之前的准备

    请仔细阅读emacsrc 目录下的INSTALL && INSTALL.BZR 文件,一般你只需按照上面说的做就可以编译安装emacs了。

    Ubuntu Lucid

    在ubuntu编译emacs非常简单,用apt-get即可简单完成emacs编译环境的构建。

    $ sudo apt-get install build-essential
    $ sudo apt-get build-dep emacs23

    windows xp

    在windows使用MinGW来编译emacs。

    1. MinGW/MSYS编译环境

    安装MinGW 5.1.6 和MSYS基本系统(1.0.14.1)、binutils、gcc4.4.0 、w32api。

    1. MinGW 安装

    安装mingw5.1.6 ,安装目录在c:/mingw,如果安装在其他目录,注意msys的环境中要一致。

    1. 基本安装

    直接将msysCORE-1.0.11-bin.tar.gz解压到c:/msys/1.0目录下。或使用msys安装向导(MSYS-1.0.11.exe) 安装,

    编辑 "C:/msys/1.0/etc/fstab" 文件, 注意用 'LF 行结束符。得到如下形式:

    c:/mingw /mingw

    1. 更新MSYSCORE 到1.0.14

    2. 安装MSys Developer Tooltkit

    下载:http://downloads.sourceforge.net/mingw/msysDTK-1.0.1.exe。安装在目录 C:/msys/1.0 下

    1. AutoTools in MSYS

    更新 autoconf, automake and libtool 记住解压到 C:/Msys/1.0

    1. gcc 4.4.0 安装

    使用sf网站的GCC 4.4.0, 下载地址: http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/gcc-full-4.4.0-mingw32-bin-2.tar.lzma/download 注意libtools工具有一个bug,使用文本编辑器编辑 MinGW/lib/gcc/mingw32/4.4.0/libstdc++.la文件(line should be library_names='')

    1. Emacs 图形支持库

    如果想要编译的emacs能够显示jpeg,tiff,gif,svg,xpm等格式的文件,或是想有一个漂亮的工具栏,那么就需要编译支持图形库的emacs。把需要的图形库头文件放在nt/inc目录下或是其他地方,然后把其路径使用-I包含进来,并把他们的dll文件与编译后的emacs放在一起。所有的图形库可以去http://gnuwin32.sourceforge.net/ 下载,包括: jpeg-dev_8-1_win32.zip、jpeg_8-1_win32.zip、libpng-dev_1.4.0-1_win32.zip、libpng_1.4.0-1_win32.zip、librsvg-dev_2.26.2-1_win32.zip、librsvg_2.26.2-1_win32.zip、libtiff-dev_3.9.1-2_win32.zip、libtiff_3.9.1-2_win32.zip、xpm-nox-4.2.0-lib.zip、xpm-nox-4.2.0-bin.zip、xpm-nox-4.2.0-dep.zip

    详见《构建MSYS--GCC4.4.0编译环境》

    1. makeinfo环境

    下载MiKTeX 2.8,并安装。下载地址: http://ftp.ctex.org/mirrors/CTAN/systems/win32/miktex/setup/basic-miktex-2.8.3761.exe 在编译插件时加入miktex的路径。

    @panshi /d/SoftEnv/emacs240/site-lisp/elib
    $ export PATH=$PATH:/d/SoftEnv/emacs240/bin
    @panshi /d/SoftEnv/emacs240/site-lisp/elib
    $ export PATH=/e/SoftEnv/MiKTeX/ 2.8/miktex/bin:$PATH

    编译与安装emacs

    环境配置好了,接下来的编译安装就很简单了。

    Ubuntu Lucid

    配置:
    ./configure --prefix=/opt/emacs240 CPPFLAGS="-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0"

    编译与安装:
    运行以下命令,即可在ubuntu系统上安装emacs,并且在开始面板菜单,应用程序->编程中看到emacs 了。

    bzr pull
    make bootstrap
    cd lisp
    make autoloads
    cd ..
    make
    make dist
    sudo make install

    其中make dist 制作emacs source 发行包,在$emacsrc目录下生成emacs-$version将emacs源码打包,这样可以实现不同平台源码共用。

    安装后运行效果图emacs24-run-20100421

    windows xp

    configure

    emacs 需要在dos环境下进行configure,然后将makefle文件转换成unix形式。在 cmd shell 下执行如下命令
    configure --with-gcc --no-cygwin --no-debug --with-svg --prefix d:/SoftEnv/emacs240 --cflags -ID:/SoftEnv/gtk+/include/gtk-2.0 --cflags -IC:/MinGW/include --cflags -IC:/msys/1.0/include --cflags -IC:/msys/1.0/local/include --cflags -ID:/SoftEnv/gtk+/include/glib-2.0 --cflags -ID:/SoftEnv/gtk+/lib/glib-2.0/include

    dos2unix makefile

    1. 编译安装

    在mingw下编译与linux一样。

    bzr pull
    make bootstrap
    make info
    cd lisp
    make autoloads
    cd ..
    make install #将emacs安装在 d:/SoftEnv/emacs240目录下

    1. 增加对图像的支持

    虽然我们在编译emacs时已经增加了对png、svg等图形的支持,但安装后的emacs找不到相关库文件的路径,最好将libtiff3.dll等exe、dll文件copy到安装目录的bin目录下。下面是是否有image支持的运行emacs开始界面的区别。

    image image

    1. 注册 Emacs

      假定你安装emacs 的目录是d:/SoftEnv/emacs240。首先从emacs bin目录下运行addpm.exe。既可以双击运行该程序,或在cmd下运行。调用addmp.exe将在windows注册数据库创建一个键值,告诉emacs在那儿找到支持文件,并且在开始菜单中创建一个文件夹,和连接到runemacs.exe快捷方式。以后可以方便地运行emacs了。

    2.  

    插件安装

     

    Cscope安装

    对于浏览源代码来说,在 Emacs 里面也有很多工具可用,比如自带的 etags 就不错,不过功能不如 Cscope 强大。它最初是由 Bell 实验室开发,并且多年以来一直是 AT&T Unix 商业发行版的一部分。它已经被用于管理超过两千万行代码的工程。本文主要讲述编译安装cscope,至于如何建索引,怎样使用cscope阅读代码,请参考《打造高效的跨平台的OpenOffice.org开发环境之三--Emacs定制与扩展》《打造高效的跨平台的OpenOffice.org开发环境之四--编辑与浏览OOo代码》

    under unbuntu install cscope

    a. download source :

    使用wget下载已打包的cscope或直接从cscope cvs代码仓库checkout。

    wget http://219.239.26.18/download/2367991/3051978/2/bz2/0/68/1261726543872_580/cscope-15.7a.tar.bz2

    or:

    cvs -d:pserver:anonymous@cscope.cvs.sourceforge.net:/cvsroot/cscope login
    cvs -z3 -d:pserver:anonymous@cscope.cvs.sourceforge.net:/cvsroot/cscope co -P cscope

    b. build && install cscope

    # ./configure
    # make
    # sudo make install // 需要root权限

    c. install cscope emacs plugins

    cscope/contrib/xcscope/

    cscope-indexer脚本位于/usr/bin目录下,xcscope.el被置于emacs默认的load-path

    :/usr/local/bin$ sudo cp /media/develop/OpenSource/emacs/emacs_plugin/cscope/contrib/xcscope/cscope-indexer ./
    :/usr/local/share/emacs$ ls ../../bin/

    b2m cscope-indexer ebrowse emacs-24.0.50 etags ocs
    cscope ctags emacs emacsclient grep-changelog rcs-checkin

    $ sudo cp /media/develop/OpenSource/emacs/emacs_plugin/cscope/contrib/xcscope/xcscope.el /usr/share/emacs/site-lisp/

    :/usr/local/share/emacs$ ls site-lisp/
    cedet ecb elib jdee subdirs.el xcscope.el

    d. 在~/.emacs.d/init.el文件中加入下面的语句。

    ;;cscope integration
    (require 'xcscope)

    至此,cscope安装完成,可以使用了。

    Under Windows install cscope

    windows下和linux类似,只是从源码编译安装很麻烦,就用编译好的cscope.exe sort.exe,将这两个文件以及 cscope-indexer文件copy到emacs bin目录下。同样cp xcscope.el 到 emace site-lisp目录。

     

    CEDET安装

     

    1、下载cedet的cvs版本

    cvs -d:pserver:anonymous@cedet.cvs.sourceforge.net:/cvsroot/cedet login
    cvs -z3 -d:pserver:anonymous@cedet.cvs.sourceforge.net:/cvsroot/cedet co -P cedet

    2、编译

    方法一:用emacs编译*.el ,不编译online help
    ../../bin/emacs -Q -l cedet-build.el -f cedet-build

    在emacs中打开cedet-build.el文件,然后
    M-x eval-buffer
    M-x cedet-build-in-default-emacs
    编译过程中如果发生超过emacs堆栈大小的错误,退出emacs再重新编译即可。

    方法二:
    cd cedet
    touch `find . -name Makefile` (cvs版本不需要这个)
    a) make

    b) make EMACS=<your favorite emacs>

    c) make MAKEINFO=/usr/local/bin/makeinfo

    d) make MAKEINFO=echo
    如果出现下面的错误请用d)来编译,或者修改错误文件。这个错误是由于文件格式不符合makeinfo要求。
    /usr/local/share/emacs/site-lisp/cedet/eieio//eieio.texi:729: Cross 引用到不存在 Classes”(也许字段不正确?).
    makeinfo:由于错误删除宏输出文件“/usr/local/share/emacs/site-lisp/cedet/eieio/eieio.info”;用 --force 保留宏输出。

    如果编译过程中发生类似找不到loaddef文件,custom-autoload以及其他奇怪的错误,执行:
    a) make clean-autoloads
    b) make clean-all
    然后再重新编译。编译错误还有可能是make版本引起的,请使用GNU make,或者使用windows下的安装方法。

    3、简单配置:

    ;; Load CEDET
    (load-file "E:/OOEnv/emacs240/site-lisp/cedet/common/cedet.el")

    JDEE安装

     

    JDEE 安装要求:

    源码下载:

    svn co https://jdee.svn.sourceforge.net/svnroot/jdee jdee

    编译前的准备

    Update the Emacs Lisp load path

    编译jdee 需要speedbar, eieio, and semantic bovina 以及elib 包,在安装好以上包的同时,需要更新lisp加载路径,如下所示:

    (add-to-list 'load-path (expand-file-name "E:/OOEnv/emacs240/site-lisp/cedet/semantic"))
    (add-to-list 'load-path (expand-file-name "E:/OOEnv/emacs240/site-lisp/cedet/speedbar"))
    (add-to-list 'load-path (expand-file-name "E:/OOEnv/emacs240/site-lisp/cedet/eieio"))
    (add-to-list 'load-path (expand-file-name "E:/OOEnv/emacs240/site-lisp/jdee/lisp"))
    (add-to-list 'load-path (expand-file-name "E:/OOEnv/emacs240/site-lisp/elib"))

    Ensure that the JDEE is loaded at Emacs startup

    (require 'jde)

     

    编译步骤

    Ubuntu:

    1、配置java classpath

    请参考: http://ant-contrib.sourceforge.net/#install

    2、参照jde/doc/install.html的说明,创建供ant使用的文件:~/.jdee-config.properties ,内容如下所示:

    cedet.dir=/usr/local/share/emacs/site-lisp/cedet
    elib.dir=/usr/local/share/emacs/site-lisp/elib
    prefix.dir=/usr/local/share/emacs/site-lisp/jde
    build.bin.emacs=emacs
    config.time=2010/05/22 02/:51

    3、Configure and build with ant

    修改 build.xml使之符合java antlr的要求,并和你的antlr.jar一致,由于release-info 编译通不过,又不影响使用,所以去掉 release-info的打包,下面的diff 是我的修改

    ==============================================================

    --- build.xml (版本 239)

    +++ build.xml (工作副本)

    @@ -196,7 +196,7 @@

     

     

    -

    +

     

    out="${build.release.properties.xml}"

    style="${build.release.properties.xsl}">

    @@ -245,7 +245,7 @@

    windowtitle="JDEE ${project.version} Java API"/>

     

    -

    +

    description="create the "source" distribution, which includes binaries, the docs, and the Java source">

     

    :/developdir/emacsrc/site-lisp/jdee$ ant -p //查看ant 编译选项

    ant clean-all
    ant configure
    ant build
    ant bindist
    ant install

    如果install有错误,请编译好的dist下的jdee-2.4.1 copy到site-lisp目录下,并更名为jdee

    ECB安装

     

    安装要求:

    1. Emacs版本:要求 >= 21 。这个不成问题,我们使用的是24.0

    2. CEDET套件: 从 http://cedet.sourceforge.net可以得到,按照 http://cedet.sourceforge.net/setup.shtml 上面的说明安装好。Emacs 24.0 已经将cedet包含在内,如果你要使用最新的cedet,也可以将内嵌cedet 屏蔽掉。

    3. 对java 代码的可选项: 如果编辑java代码,希望ECB很好工作,最好安装JDEE 包 ( http://jdee.sourceforge.net) 。

    简单配置:

    ;; Load ECB

    (add-to-list 'load-path "E:/OOEnv/emacs240/site-lisp/ecb")

    (require 'ecb)

    (require 'ecb-autoloads) ;Fast loading

    注意这个段要加在cedet配置的后面

    linux 编译

    修改Makefile 文件

    CEDET=/usr/local/share/emacs/site-lisp/cedet

    :/developdir/emacsrc/site-lisp/ecb$ make

    :/developdir/emacsrc/site-lisp/ecb$ make all

    如果在make 时出现以下错误:

    ...

    Directories-window”(也许字段不正确?).texi:1497: Cross 引用到不存在的节点“ECB

    Methods-window”(也许字段不正确?).ecb.texi:1193: Cross 引用到不存在的节点“ECB

    edit-area”(也许字段不正确?).ecb//ecb.texi:975: Cross 引用到不存在的节点“The

    /developdir/emacsrc/site-lisp/ecb//ecb.texi:112: Cross 引用到不存在的节点“Intera ECB commands”(也许字段不正确?).

    makeinfo:由于错误删除宏输出文件“/developdir/emacsrc/site-lisp/ecb/html-help/index.html”;用 --force 保留宏输出。

    mv: 无法 stat “html-help/index.html”: 没有那个文件或目录

    make: *** [online-help] 错误 1

    请在make 时使用参数如下,并安装好texinfo软件,错误大多是texi文件的格式问题,@变量定义不能跨行,错误修改方法是让@变量在一行内。这些错误不影响ecb的使用,只是online help不好使。

    make ecb EMACS=emacs CEDET=/usr/local/share/emacs/site-lisp/cedet

     

    总结

    本文主要讲述emacs以及在openoffice.org开发中用到的需要编译的插件cedet、cscope、jde、ecb等在ubuntu、windows的编译与安装。详细说明不同平台下的环境配置,以及编译过程中出现问题时处理方法。至于如何定制与配置,将在另一篇文章中讲解。

    进一步的工作,由于emacs在开发中,不断增加很多新特性和新功能,需要写一个包括源码下载编译,以及插件安装配置的脚本。

     

    参考文献:

    1. Emacs Wiki http://www.emacswiki.org/
      BzrForEmacsDevs http://www.emacswiki.org/emacs/BzrForEmacsDevs
      Bazaar on Windows - Quick install guide http://wiki.bazaar.canonical.com/WindowsInstall
      compile-emacs-from-cvs-on-windows http://derekslager.com/blog/posts/2007/01/emacs-hack-3-compile-emacs-from-cvs-on-windows.ashx
      Building Emacs on MS Windows http://www.ourcomments.org/Emacs/w32-build-emacs.html
      Emacs 编辑环境 http://www.ibm.com/developerworks/cn/aix/lp/emacsnew.html
      Emacs中文网 http://emacser.com/
      cscope的主页: http://cscope.sourceforge.net/
      http://cedet.sourceforge.net/setup.shtml
      http://jdee.sourceforge.net/install.html
      http://ecb.sourceforge.net/docs/Install-and-first-steps.html#Install-and-first-steps
      http://emacser.com/install-cedet.htm

    展开全文
  • Squid 中文权威指南

    2011-08-19 13:38:16
    如果web 访问不可行,你能从ftp://ftp.squid-cache.org 的FTP 服务器获取源代码,或者使用其他FTP 镜像。要获取当前版本,请访问pub/squid-2/DEVEL 或 pub/squid-2/STABLE目录。FTP 镜像也在许多国家有,你能用同样...
  • 例如,受人欢迎的Windows替代品——开放源码的Linux,准确地讲它与逆向的立场相去甚远,因为整个操作系统以及在其上运行的大部分软件源代码都是开放的。逆向开发源码的产品是没有意义的——直接读源代码就好了,...
  • reversing :逆向工程解密

    热门讨论 2012-09-04 11:40:49
    例如,受人欢迎的Windows替代品——开放源码的Linux,准确地讲它与逆向的立场相去甚远,因为整个操作系统以及在其上运行的大部分软件源代码都是开放的。逆向开发源码的产品是没有意义的——直接读源代码就好了,...
  • Reversing:逆向工程揭密

    热门讨论 2010-06-21 17:27:22
    这时候,我逐渐明白这是一种威力强大的技术,因为这意味着不管我有什么样的有关要处理软件的问题,我都可以非常容易地找到答案,即使我没有看过任何相关的文献资料或者正在处理的程序的源代码。本书就是要为每一个对...
  • 这时候,我逐渐明白这是一种威力强大的技术,因为这意味着不管我有什么样的有关要处理软件的问题,我都可以非常容易地找到答案,即使我没有看过任何相关的文献资料或者正在处理的程序的源代码。本书就是要为每一个对...
  • │ 9.PortReady的源代码在哪里有下载,怎样编译? │ │ 答:点普工作室主页上有下载,网址是:http://dotpot.533.net 。源代码包内含有图形版│ │ 本 LCC-Win32源程序、图形版本VC源程序和控制台版本源程序。你...
  • 端口扫描PortReady 1.6

    2010-07-30 02:21:35
    │ 一、软件简介 │ │ │ │ Dotpot PortReady 是一个多线程的端口扫描工具,用于进行狂速端口扫描。它具有极快的速度│ │和方便友好的操作界面,能快速地对大网段范围进行 Connect方式端口扫描。同时具有获取端口...
  • 端口扫描PortReady1.6

    2008-11-09 11:37:50
    │ 一、软件简介 │ │ │ │ Dotpot PortReady 是一个多线程的端口扫描工具,用于进行狂速端口扫描。它具有极快的速度│ │和方便友好的操作界面,能快速地对大网段范围进行 Connect方式端口扫描。同时具有获取端口...
  • 2、为了应对百度封杀淘客站,在html源代码中 通过加密的方式 彻底隐藏所有的淘宝链接(包括商品链接,店铺链接、图片链接、类目链接等) ,使搜索引擎无法识别是否为淘客站 3、增加商家店铺浏览功能,即在淘客站 就...
  • 同时具有SQL防注入功能,当用户在地址栏恶意进行特殊符号输入时,QuickWAP会自动停止源代码的运行,极大的提高了服务器的安全性。  6.集多种技术、语言于一体,将实用性、易用性发挥的淋漓尽致。  QuickWAP的...
  • CVE-2019-13051-Pi-Hole路由端去广告软件的命令注入&权限提升 D-Link DIR-859 - RCE UnAutenticated (CVE-2019–17621) Huawei HG255 Directory Traversal[目录穿越]|本地备份文件 D-Link Devices - ...
  • 1.3.2 免费开放源代码 11 1.3.3 熟悉和廉价的开发工具 11 1.3.4 合理的开发人员学习曲线 12 1.3.5 强大的应用程序开发支持 12 1.3.6 丰富、安全的应用集成 12 1.3.7 无障碍发布 13 1.3.8 为应用程序...
  • asp.net知识库

    2015-06-18 08:45:45
    页面一postback,它就显示页面的最顶端,怎样让它定位在某一位置? 如何保证页面刷新后的滚动条位置 清除网页历史记录,屏蔽后退按钮! 如何传值在2个页面之间 :要求不刷新父页面,并且不能用Querystring传值 Asp...
  • 同时具有SQL防注入功能,当用户在地址栏恶意进行特殊符号输入时,QuickWAP会自动停止源代码的运行,极大的提高了服务器的安全性。  6.集多种技术、语言于一体,将实用性、易用性发挥的淋漓尽致。  QuickWAP的开发...
  • 本卷的特点是使用大量的源代码来讲述TCP/IP协议族中的各协议是怎样实现的。这些内容对于编写TCP/IP网络应用程序的程序员和负责维护基于TCP/IP协议的计算机网络的系统管理员来说,应当是必读的。 参加本书翻译的有:...

空空如也

空空如也

1 2 3 4 5
收藏数 93
精华内容 37
关键字:

怎样获取软件源代码