linux Development Tools 包括哪些软件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux Development Tools 包括哪些软件相关的知识,希望对你有一定的参考价值。
非常多,有几十个,大家主要使用其中的gcc, make等编译工具,你可以用/usr/bin/system-config-packages工具(Redhat)查Development-->Development Tools-->Details 参考技术A 编辑器:vi:老牌编辑器,在各个unix和unix-like平台都可以找到 。
emacs:GNU项目开发的编辑器,功能强大扩展性强,绝对不是一个编辑器那么简单 。
代码打补丁工具:
diff & patch:一对好搭挡,diff用来生成代码补丁,而patch则用来给代码打补丁 。
项目构建工具:
make(Makefile):常用的项目构建工具,用一个Makefile就可以从整个项目的代码中构建各个目标 。
autotool(包括Autoconf, Automake 和 Libtool):方便在项目中生成标准的Makefile,为许多自由和开源软件项目所使用 。
版本控制工具:
cvs:老牌的版本控制工具,适用于集中式版本控制,为许多项目服务过,现在略显疲态
subversion:一个为了代替cvs而开发的工具,解决了cvs的一些诟病 。
GNU Arch:GNU项目开发的版本控制工具,属于分布式版本控制工具 。
git:Linus Torvalds为内核版本控制所开发的工具,当然也适用于普通应用程序,也属于分布式版本控制工具 。
C库:
glibc:GNU项目开发的C库,很庞大和全面,是许多自由和开源软件的基石。
uclibc:为嵌入式系统所开发的C库,比glibc小得多,但是对glibc保持很高的兼容,基于glibc的软件很容易移植到uclibc上 。
newlib:另一个为嵌入式系统所开发的C库 。
diet libc:同样是为嵌入式系统所开发的C库 。
二进制和目标文件处理工具:
binutils:GNU项目所开发的二进制和目标文件处理工具包,包括多种开发过程所需的工具:连接器、汇编器、一系列的二进制和目标文件处理工具还有一个性能分析器。
编译器:
gcc:GNU
项目所开发的全能编译器,它支持的语言包括C、C++、Objective-C、Fortran、Java和Ada,它支持的处理器包括i386、
MIPS、ARM、PowerPC、IA64等等,此外你还可以为它添加其他语言前端和其他处理器后端。gcc性能不俗,还支持交叉编译,为这个星球;)
许多软件项目所采用。
源代码调试器:
gdb:GNU项目所开发的源代码调试器,功能强大,是程序员的好助手 。
内存管理检查器:
valgrind:非常优秀的内存检查器,可以程序中的内存错误。另外还可以对cache的使用和堆(也可以包括栈)的使用进行分析,能够优化代码 。
调用跟踪器:
strace:系统调用跟踪器,可以跟踪程序所调用的系统调用 。
ltrace:动态库调用跟踪器,可以跟踪程序所调用的动态库接口 。
性能分析器:
gprof:binutils中带的性能分析器,可以优化代码,提高程序速度 。
qprof:另一个性能分析器,支持动态库的性能分析和多线程、多进程性能分析
oprofile:一个系统范围的性能分析器,使用内核模块和一个后台进程进行数据采集,不但可以获得某个进程的性能分析数据还可以获得内核的性能分析数据。
上下文 com.google.appengine.tools.development.DevAppEngineWebAppContext 启动失败
【中文标题】上下文 com.google.appengine.tools.development.DevAppEngineWebAppContext 启动失败【英文标题】:Failed startup of context com.google.appengine.tools.development.DevAppEngineWebAppContext 【发布时间】:2015-04-27 07:51:43 【问题描述】:我正在使用 Spring MVC、google app engine、admin sdk、cloud sql。 我想将 (preferncesDao) dao 类访问到过滤器中。 下面是我的过滤器
public class NameSpaceGoogleSecurityFilter implements Filter
@Autowired
IPreferencesDao preferncesDao;
public void init( FilterConfig filterConfig ) throws ServletException
SpringUtils.init(filterConfig.getServletContext());
preferncesDao = SpringUtils.getPreferncesDao();
下面是我的 SpringUtils 类。
public class SpringUtils
private static ApplicationContext appContext;
private static IPreferencesDao preferncesDao = null;
public static void init(final ServletConfig config)
init(config.getServletContext());
public static void init(final ServletContext context)
if(appContext==null)
appContext =
(ApplicationContext) context.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
public static IPreferencesDao getPreferncesDao()
if(preferncesDao==null)
preferncesDao=(IPreferencesDao) appContext.getBean("preferncesDao");
return preferncesDao;
protected SpringUtils()
throw new UnsupportedOperationException();
当我开始构建过程时,它会抛出异常
Failed startup of context com.google.appengine.tools.development.DevAppEngineWebAppContext
java.lang.NullPointerException.
Nullpointer at line preferncesDao=(IPreferencesDao) appContext.getBean("preferncesDao");
如何解决上述错误?将 dao 对象放入过滤器是否正确?如果不是正确的方法是什么?
【问题讨论】:
【参考方案1】:需要在web.xml中添加下面的标签
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
【讨论】:
【参考方案2】:这纯粹表明缺少 ContextLoaderListener。
所以在 web.xml 中添加以下代码
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
更多详情请咨询this link
【讨论】:
以上是关于linux Development Tools 包括哪些软件的主要内容,如果未能解决你的问题,请参考以下文章
linux Development Tools 包括哪些软件
Linux之一次性安装开发工具:yum groupinstall Development tools
yum groupinstall "Development Tools" 批量安装软件