源代码

Source Insight使用教程

孤街醉人 提交于 2019-12-01 14:45:04
作为一个开放源代码的操作系统, Linux 附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是 Linux 内核的组织极为复杂,同时,又不能像 windows 平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段来弄清楚整个程序的组织结构,使得 Linux 内核源代码的阅读变得尤为困难。 当然 Linux 下的 vim 和 emacs 编辑程序并不是没有提供变量、函数搜索,彩色显示程序语句等功能。它们的功能是非常强大的。比如, vim 和 emacs 就各自内嵌了一个标记程序,分别叫做 ctag 和 etag ,通过配置这两个程序,也可以实现功能强大的函数变量搜索功能,但是由于其配置复杂, linux 附带的有关资料也不是很详细,而且,即使建立好标记库,要实现代码彩色显示功能,仍然需要进一步的配置(在另一片文章,我将会讲述如何配置这些功能),同时,对于大多数爱好者来说,可能还不能熟练使用 vim 和 emacs 那些功能比较强大的命令和快捷键。 为了方便的学习 Linux 源程序,我们不妨回到我们熟悉的 window 环境下,也算是“师以长夷以制夷”吧。但是在 Window 平台上,使用一些常见的集成开发环境,效果也不是很理想,比如难以将所有的文件加进去,查找速度缓慢,对于非 Windows 平台的函数不能彩色显示

Source Insight 使用

淺唱寂寞╮ 提交于 2019-12-01 14:43:17
一、简介: Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。Source Insight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。 Source Insight不仅仅是一个强大的程序编辑器,它还能显示referencetrees,class inheritance diagrams和call trees。Source Insight提供了最快速的对源代码的导航和任何程序编辑器的源信 息。Source Insight提供了快速和革新的访问源代码和源信息的能力。与众多其它编辑器产品不同,SourceInsight能在你编辑的同时分析你的源代码,为你提供实用的信息并立即进行分析。 看有些同事用vim,我真有点受不了,为什么那么不开化呢,要与时俱进呀,同志们。 作为一个开放源代码的操作系统, Linux 附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是 Linux 内核的组织极为复杂,同时,又不能像 windows 平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段来弄清楚整个程序的组织结构,使得 Linux 内核源代码的阅读变得尤为困难。 当然 Linux 下的 vim 和 emacs

Linux软件安装调试 源代码包编译安装和 二进制包配置

拥有回忆 提交于 2019-12-01 10:17:12
Linux 下源代码 (C 语言 ) 如何编译 ( 安装 ) 1. 先安装源代码编译的软件 gcc , make , openssl 如下: yum install -y gcc make gcc-c++ openssl-devel 检查系统中是否已经安装 gcc:rpm -qa | grep gcc / rpm -ql gcc 2 、三步走编译安装 linux 源代码 1.生成编译配置文件(Makefile) 2.开始编译(make) 3.开始安装(make install) 安装 httpd-2.2.9.tar.gz 源代码: 1) 减压并 cd 到对应目录 2) ./configure --prefix=/usr/local/apache 3) make / make -j4 4) make install 安装路径设置为/usr/local/apache 3 、卸载源代码安装的软件   1 、结束当前源代码进程   2 、删除源代码 1、结束进程 pstree|grep httpd pkill httpd 2、删除源代码 cd /usr/local/ 直接删除源代码 rm -rf apache/ linux 下源代码安装 nodejs: 下载 nodejs 源码包 减压到 usr/local/nodejs 目录 ./configure make / make -j4

whereis命令使用说明

北城余情 提交于 2019-12-01 09:58:50
1、命令概述 whereis命令用来定位命令的二进制程序、源代码文件和man手册页等相关文件的路径。 2、命令语法 whereis【选项】 【命令名】 3、命令选项 -b:查找二进制程序或命令 -B:从指定目录下 查找二进制程序或命令 -m:查找man手册文件 -M:从指定目录下 查找man手册文件 -s:只查找源代码文件 -S:从指定目录下 查找源代码文件 -u:搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。 -l:输出有效查找路径 4、命令示例 4.1查找 ifconfig 相关路径 1 [root@localhost ~]# whereis ifconfig 2 ifconfig: /usr/sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz 4.2 -b:查找二进制程序或命令 1 [root@localhost ~]# whereis mv 2 mv: /usr/bin/mv /usr/share/man/man1/mv.1.gz 3 [root@localhost ~]# whereis -b mv 4 mv: /usr/bin/mv 5 [root@localhost ~]# whereis -m mv 6 mv: /usr/share/man/man1/mv.1.gz 来源: https://www

调试 ASP.NET Core 2.0 源代码

亡梦爱人 提交于 2019-12-01 08:55:26
在Visual Studio 2017中可以通过符号以及源链接,非常方便对 ASP.NET Core 2.0中源代码进行调试。在这篇文章中,我们将重点介绍如何使用源链接对ASP.NET Core源进行调试。 什么是源链接? 和我一样,您可能已经注意到在编译代码时,会创建的PDB文件。这些文件保存了符号信息,这些信息可以选择用于支持对外部源代码的调试。某些类型的符号文件可能包含一些源代码或源代码的映射。 很长一段时间以前,Microsoft已经托管了符号服务器,它们保存Microsoft产品(如.NET Framework和ASP.NET Core)已发布的符号文件。Visual Studio支持动态下载符号。为此,您必须禁用“调试” -> “常规”选项中的“启用仅我的代码”选项。默认情况下,此选项在Visual Studio中是启用的。 有关符号、符号服务器等的更多信息,请参阅此MSDN链接。 源链接允许您在符号文件中嵌入被调用方法的名称和位置清单,它可以识别包含代码的文件以及可以从哪里检索文件。ASP.NET Core(不是.NET Core)现在支持源链接,并提供到GitHub上托管代码的链接。 启用和使用源链接 首先的要求是将Visual Studio 2017更新到最新的版本(15.3),该更新添加了源链接的支持。如果安装此项,在“调试” -> “常规”选项中,您将看到

MariaDB:安装、配置、JAVA源代码样例

落花浮王杯 提交于 2019-12-01 08:40:41
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自麦克尔·维德纽斯的女儿玛丽亚(英语:Maria)的名字 1.设置yum源 参考:https://downloads.mariadb.org/mariadb/repositories/ 选择操作系统的类型、版本、MariaDB的版本,会自动生成yum源 # MariaDB 5.5 RedHat repository list - created 2014-02-20 01:40 UTC # http://mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/5.5/rhel6-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 2.安装mariaDB(Installing MariaDB

CefGlue获取网页源代码

倾然丶 夕夏残阳落幕 提交于 2019-12-01 07:29:55
1.编写一个CefStringVisitor类: public class MyStringVisitor : CefStringVisitor { private readonly TaskCompletionSource<string> taskCompletionSource; public MyStringVisitor() { taskCompletionSource = new TaskCompletionSource<string>(); } protected override void Visit(string value) { taskCompletionSource.SetResult(value); } public Task<string> Task { get { return taskCompletionSource.Task; } } } 2.在页面加载完成的事件中使用: private static void OnWebBrowserFrameLoadEnd(object sender, FrameLoadEndEventArgs e) { MyStringVisitor taskStringVisitor = new MyStringVisitor(); e.Frame.GetSource(taskStringVisitor); string

分析一套源代码的代码规范和风格并讨论如何改进优化代码

柔情痞子 提交于 2019-12-01 07:24:50
一般来说,我们对Java web的理解为,我的前台通过Ajax发出一个请求(requset)数据到Servlet,然后在Servlet进行一系列的处理之后传入到DAO层,与数据库内的数据进行匹配等一系列操作,然后对传来的数据返回一个响应(response)到Servlet然后在通过Ajax获取相应的结果。 这个时候,是不是有个疑问,Servlet的作用只是为了接受请求和返回响应的请求,那么在书写的时候,把大堆的业务逻辑写在Servlet中,这就显得特别的繁琐,而且代码的可读性较差,所以就引入另一个东西叫做Service(服务),这个时候,我们我们就把写在Servlet中处理的业务逻辑的代码写到service中,使Servlet只是接收和响应请求的一个东西。那么具体该怎么做呢? 1、dao方法中先去定义一个接口(书写所有的dao方法),这样是为了使代码更加清晰,逻辑层次更加明了,代码的可读性也大大提高。 2、Servlet只负责接受请求和返回响应 3、Service把业务逻辑都放到service中去实现 4、Service层的书写规范:先定义一个接口,然后去实现这个接口的实现类 5、书写步骤: (1)、定义接口,在接口中书写该接口中提供的方法 (2)、实现该接口的实现类,alt +enter(接口名上面)提示声明实现类 (3)、类名声明为接口名+impl 说明是DAO方法的实现类

分析一套源代码的代码规范和风格并讨论如何改进优化代码

Deadly 提交于 2019-12-01 07:21:04
工程实践题目与自然语言处理相关,其中主要项目涉及到聊天机器人的实现,于是在Github上下载了一个封闭领域的聊天机器人,并据此进行源代码的分析 Github地址: https://github.com/dennybritz/chatbot-retrieval/ 以下是项目的文件目录结构 可以看到,文件夹主要分为models,notebooks,scripts三部分,其中,主要的类存放在scripts文件夹中,命名很清晰,hparams,models,test,train,让人能够很清楚地知道该文件包含的内容及作用。 以下是部分代码片段 可以看到,作者拥有良好的编码风格,例如,将所需使用的库在文件开头统一导入,同时,也在关键步骤之前写明了注释字符串。函数命名,例如get_features,很清晰。 让人可以从函数名读出其作用,方便学习,大部分函数命名采取下划线连接相关词的形式。这也是我们编码时应当学会的,尽量避免使用指向不明的变量、函数名,这样也有利于后来的人阅读,维护代码。 关于Python的编码规范: python编码规范可以由阅读PEP-8文档得知,其中比较著名的就是缩进四个空格了,这也是PEP-8规范之一,现在在Pycharm中也可以查看PEP-8编码规范 列举一些常用的代码规范: 1.文件名、模块名和包名采用小写字母并且以下划线分隔单词的形式;   以本文项目为例:udc

分析一套源代码的代码规范和风格并讨论如何改进优化代码

风格不统一 提交于 2019-12-01 07:18:36
我的工程实践题目是文本摘要,下面是github上一套基于keras的代码 目录文件及其命名 demo的主体结构,其中有data,very_large_data,models,reports几个模块和主要的函数模块 函数名称和变量名称 每行代码的最长字符不超过80个,一屏可以看完,不需要左右移动 本页一级类或方法之间空2行,二级类和方法之间空1行 类命名:所有单词的首字母大写,且不使用特殊字符,下划线,数字 方法命名:全小写字符或者下划线,多单词用下划线连接,但下划线不能做首字符 常量命名:以大写字母开头且全为大写字母,下划线,数字 单行注释:# 顶格,空一格后写注释 多行注释:三对双引号或者三对单引号 导入:先导入python包,然后导入第三方包,最后导入自定义包 空格:赋值和运算符前后各空一格,作为参数符号时候不空格 全局变量名:没有特殊要求,不要使用全局变量 来源: https://www.cnblogs.com/zhangheng-cn/p/11667865.html