源代码

值得学习的C开源项目

给你一囗甜甜゛ 提交于 2020-03-03 00:22:45
                                         C开源项目学习                                                                                           原文: 戳这里   1. Webbench   Webbench 是一个在 linux 下使用的非常简单的网站压测工具。它使用 fork ()模拟多个客户端同时访问我们设定的 URL,测试网站在压力下工作的性能,最多可以模拟 3 万个并发连接去测试网站的负载能力。Webbench 使用C语言编写, 代码实在太简洁,源码加起来不到 600 行。下载链接: http://home.tiscali.cz/~cz210552/webbench.html    2. Tinyhttpd   tinyhttpd 是一个超轻量型 Http Server,使用C语言开发,全部代码只有 502 行(包括注释),附带一个简单的 Client,可以通过阅读这段代码理解一个 Http Server 的本质。下载链接: http://sourceforge.net/projects/tinyhttpd/    3. cJSON   cJSON 是C语言中的一个 JSON 编解码器,非常轻量级,C文件只有 500 多行,速度也非常理想。

eclipse 查看源代码

自作多情 提交于 2020-03-02 02:32:30
文地址: http://blog.csdn.net/sushengmiyan/article/details/18798473 本文作者:sushengmiyan 我们在使用Eclipse的时候,经常是会使用别人的Jar包,然后,通常情况下,我们是不会得到他们的源码的,出发是个开源项目。但是有时候很多异常会从jar包里爆出来,我们没有源代码,就无法去查找具体原因,那么有没有一个工具可以让我们直接就像自己写的代码一样在Eclipse中按住Ctrl+鼠标,就直接查看源码呢? 对,这个工具就是JAD编译器。 看看如何让使用吧!~ 一:下载插件 JAD : http://www.kpdus.com/jad.html#download (选择与 操作系统 对应的版本)网页貌似打不开了,这里给大家上传了一份,免费供大家下载使用 http://download.csdn.net/detail/sushengmiyan/6885693 JadClipse: http://sourceforge.net/project/showfiles.php?group_id=40205 (选择Eclipse支持的版本) 在上面的下载中也保护了JADeclipse插件,就是net.sf.jadclipse_3.3.0.jar 二:安装 1,将下载到的JAD反编译工具解压,将得到的jad

架构实现利器:反射

余生颓废 提交于 2020-02-29 10:32:28
版权声明:本文由韩伟原创文章,转载请注明出处: 文章原文链接: https://www.qcloud.com/community/article/246 来源:腾云阁 https://www.qcloud.com/community 作者介绍:韩伟,1999年大学实习期加入初创期的网易,成为第30号员工,8年间从程序员开始,历任项目经理、产品总监。2007年后创业4年,开发过视频直播社区,及多款页游产品。2011年后就职于腾讯游戏研发部公共技术中心架构规划组,专注于通用游戏技术底层的研发。 通用型软件框架的难题 假设我们希望开发一套通用型的软件框架,这个框架允许用户自定义大量不同的情况下的回调函数(方法),用来实现丰富多彩的业务逻辑功能,例如一个游戏脚本引擎,那么,其中一个实现方式,就是使用观察者模式,以事件的方式来驱动整个框架。用户通过定义各个事件的响应函数,来组织和实现业务逻辑。而框架也提供了自定义事件及其响应函数的入口。在一些实现代码中,我们可能会发现有大量的“注册事件”的代码,或者是使用一个巨大的switch…case…对事件函数进行分发调用。譬如我们想做一个服务器端的基本进程框架,这个框架让用户只需要填写一些回调函数,就能成为一个稳定持续运行的后台服务进程。其中一个部分,就是需要定义程序启动事件,以便用户自定义程序启动要做的事情。那么我们可以定义一个”Init

阅读spring源码

試著忘記壹切 提交于 2020-02-29 03:13:22
读Spring源码之前,你要先清楚,为什么你要用Spring... Spring最基本的功能是做为管理bean的容器,所以我以为应该先从org.springframework.context包了解咯,包括org.springframework.web.context; 然后是org.springframework.beans org.springframework.aop 你看那个从core开始看就可以了 从ApplicationContext Spring中文手册是必须的~~ 1.阅读源码的入口在哪里? 2.入门前必备知识了解:IOC和AOP 一、我们从哪里开始 1.准备工作:在官网上下载了Spring源代码之后,导入Eclipse,以方便查询。 2.打开我们使用Spring的项目工程,找到Web.xml这个网站系统配置文件,在其中找到Spring的初始化信息: [html] view plain copy < listener > < listener-class > org.springframework.web.context.ContextLoaderListener </ listener-class > </ listener > 由配置信息可知,我们开始的入口就这里ContextLoaderListener这个监听器。 在源代码中我们找到了这个类,它的定义是:

Git(GitHub)如何切换到指定 branch分支 或者 tag版本

僤鯓⒐⒋嵵緔 提交于 2020-02-29 02:37:41
原博文链接: http://www.aobosir.com/blog/2016/12/25/git-how-to-clone-code-of-no-master-branch-specified-branch-tag-version/ 切换到指定 branch (分支) 举例 我们的目的是:得到 https://github.com/turtlebot/turtlebot_viz 网址里面的 groovy 分支的源代码: 第一步:git源代码到本地。( 注意: 不是 Download ZIP ,它只是下载master分支的源代码,不会下载所有分支的源代码) git clone git@github.com:turtlebot/turtlebot_viz.git 1 第二步:查看所有分支 1 . 绿色的表示本地当前分支 2 . 红色的表示远程的分支。 3 . origin/HEAD -> origin/hydro 指:远程库的当前分支是 hydro git branch -a 1 第三步:切换到指定分支,比如 groovy git checkout groovy 1 切换到指定 tag (版本) 举例 我们的目的是:得到 https://github.com/ros-drivers/freenect_stack 网址里面 freenect-stack-0.2.2 版本。 克隆 git

龙芯Go!Go!Go!——龙芯平台上构建Go语言环境指南

强颜欢笑 提交于 2020-02-28 07:38:06
一、 初识 Go 语言 Go语言是Google公司于2009年正式推出的一款开源的编程语言,是由Robert Griesemer、Ken Thompson和Rob Pike等世界顶尖计算科学家精心打造的系统编程语言。Go语言最显著的特点是编码简洁迅速、支持高效并发和自动内存管理等。此外,Go语言还面向网络服务器、存储系统和数据库等领域的编程进行了优化设计,并且简化了应用系统的安装和部署。因此,Go语言受到了广大程序员的青睐,越来越多地开始应用于谷歌和百度等知名中外企业的产品中。 Go语言形象标识 对于这样一个在云计算和大数据时代最具发展前景的编程语言,龙芯平台能不能很好地支持呢?今天我们就从Go的源代码开始,逐步构建龙芯平台上的Go语言环境。尽管笔者的实验机器为安装了龙芯开源社区版操作系统Loongnix的龙芯3B迷你电脑,本文的方法适用于所有64位操作系统的MIPS处理器平台。 一、 下载 Go 语言的源代码 为了吸引更多的社区开发力量,Google开源了Go语言的源代码,并托管于世界著名的github网站中。我们可以通过执行以下命令获取Go语言的全套源代码: $ cd ~ $ git clone https://github.com/golang/go.git 上述命令要求您的电脑中安装了git版本控制工具。如果您的电脑中没有预装git,可以通过如下命令快速安装: $ sudo

2020年使用Delphi的25个理由(我觉得四个优点:控件+可视化开发+跨平台+数据库,还有一个编译快,运行快)

China☆狼群 提交于 2020-02-28 06:49:52
25年后从10个使用Delphi的理由到1个至25个使用Delphi 10.3的理由 25年前发布Delphi 1时,我汇总了使用Delphi的十大理由。 这是我精通Delphi原始书的序言中的原始列表: “可以使用许多编程环境,但是Delphi之所以出色,有很多原因。 以下是我以相反顺序使用Delphi的十大理由: 10.以前的Borland Pascal和C++编译器 9.第三方组件和工具 8.编辑器,调试器,浏览器和其他工具 7.库源代码的可用性 6.基于表单和面向对象的方法 5.快速编译器 4.数据库支持 3.与Windows编程紧密集成 2.Delphi的组件技术 1.对象Pascal语言” 现在,经过了这么多年,什么会成为前十名,或者更好的“使用Delphi的25大理由”列表? 这次,我不会以任何顺序对它们进行排序,并保留所有仍适用的内容(提示,全部!): 1. Object Pascal语言 2. 丰富的第三方组件和工具生态系统 3. IDE本身,以及编辑器,调试器和其他工具 4. 库源代码的可用性 5. VCL仍然是本机Windows开发的最佳组件库,迄今为止,它在25年内更加稳定,并且包含所有Windows API,包括COM和WinRT。 6. FireMonkey库具有为在台式机和移动平台上运行的应用程序的UI编写单一源代码的能力,并涵盖5个操作系统 7.

C Primer Plus(第五版)1

筅森魡賤 提交于 2020-02-28 03:44:48
这是C Primer Plus(第五版)的第一章,上传上来主要是方便我进行做笔记,写注释,还有我会删掉一些“废话”等。 1.1 C语言的起源 贝尔实验室的 Dennis Ritchie 在1972年开发了C,当时他正在与Ken Thompson 一起设计 UNIX操作系统 。 1.4 计算机工作的基本原理 现代计算机可分为几个部件。中央处理单元(或称CPU)担负着绝大部分的计算工作,随机访问存储器(或称RAM)作为一个工作区来保存程序和文件;永久存储器,一般是硬盘,即使在计算机关机时也能记下程序和文件;还有各种外围设备(如键盘,鼠标和监视器)用来提供人与计算机之间的通信。CPU负责处理程序,所以我们集中来讨论它的功能。 CPU 的工作非常简单,至少在我们所做的这一简短的描述中是这样的。它从内存中获取一个指令并执行该指令,然后从内存中获取下一个指令并执行,。一个千兆 CPU 可以在一秒种内进行大约一亿次这样的操作,所以 CPU 能以惊人的速度来从事其枯燥的工作。CPU 有自己的小工作区,该工作区由若干个寄存器(registers)组成,每个寄存器可以保存一个数。一个寄存器保存下一条指令的内存地址,CPU 使用该信息获取下一条指令。获取一条指令后,CPU 在另一个寄存器中保存该指令并将第一个寄存器的值更新为下一条指令的地址。CPU 只能理解有限的指令(指令集)。还有

chrome浏览器中 F12 各功能简介

我只是一个虾纸丫 提交于 2020-02-27 11:15:30
首先介绍Chrome开发者工具中,调试时使用最多的三个功能页面是:元素(ELements)、控制台(Console)、源代码(Sources),此外还有网络(Network)等。 *元素(Elements):用于查看或修改HTML元素的属性、CSS属性、监听事件、断点等。 *控制台(Console):控制台一般用于执行一次性代码,查看JavaScript对象,查看调试日志信息或异常信息。 *源代码(Sources):该页面用于查看页面的HTML文件源代码、JavaScript源代码、CSS源代码,此外最重要的是可以调试JavaScript源代码,可以给JS代码添加断点等。 *网络(Network):网络页面主要用于查看header等与网络连接相关的信息。 1、元素(Elements) 查看元素代码:点击如图箭头(或用者用快捷键Ctrl+Shift+C)进入选择元素模式,然后从页面中选择需要查看的元素,然后可以在开发者工具元素(Elements)一栏中定位到该元素源代码的具体位置 。 查看元素属性:可从被定位的源码中查看部分,如class、src,也可在右边的侧栏中查看全部的属性,如下图位置查看 修改元素的代码与属性:可直接双击想要修改的部分,然后就进行修改,或者选中要修改部分后点击右键进行修改,如下图: 注意:这个修改也仅对当前的页面渲染生效,不会修改服务器的源代码

在 Ubuntu 10.10 操作系统中安装 Mono 2.8.2

那年仲夏 提交于 2020-02-27 08:30:12
http://www.cnblogs.com/skyivben/archive/2011/01/07/1929427.html 前言 Ubuntu 10.10 自带了 Mono 2.6.7。而目前最新版本是 Mono 2.8.2。由于 Ubuntu 操作系统中的“阿贴便笺”等软件是用 C# 开发的,因此它们依赖于 Mono 。为了不破坏 Ubuntu 操作系统中这类软件,我们需要并行地安装 Mono 2.8.2,具体做法是安装到 /opt/mono-2.8.2 目录下。这样两个版本的 Mono 就可以共存了。 准备工作 先准备一下编译环境,使用如下的命令来安装: ben@ben-m4000t:~$ sudo apt-get install build-essential automake libtool mono-complete gendarme subversion libpng-dev libtiff-dev libgif-dev libjpeg-dev libexif-dev autoconf bison flex libcairo-dev libpango1.0-dev 上面的 build-essential 软件包是基本的编译环境,包括 C/C++ 编译器。而 mono-complete 是 Mono 的编译环境,包括 C# 编译器。Ubuntu 操作系统默认安装的是