怎么看 EOS 的代码最爽?

进入 EOS 的世界之前,愉快地看系统代码是第一步,试了 Visual Studio / Source Insight / Understand / Sublime 等多款 IDE / 编辑器后,强烈推荐 Source Insight。

Source Insight 是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对 C/C++, C# 和 Java 等程序的分析。Source Insight 能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。 Source Insight 能在你编辑的同时分析你的源代码,为你提供实用的信息并立即进行分析。Source Insight 4.0 版本在 3.5 版的基础上新增了 JSON 语言的解析,对分析 EOS 的 abi 文件非常有用。

安装好 Source Insight, 首先点击 Options -> File Type Options,按下图在 JSON 格式中加入 *.abi 文件。(因为 abi 文件为类 JSON 格式,不加入的话无法自动添加进工程)

点击菜单 Project -> New Project,新建工程。工程名 eos:

确定后,在 Project Source Directory 选择下载的 eos 代码目录:

确定后,点击右侧 Add Tree,即可将所有代码文件加入工程。

打开 eosc/main.cpp,可以看到中间为代码,左侧栏为 Symbol 列表,左下为当前光标所在 Symbol 的定义,右下为当前 Symbol 的调用情况。双击即可跳转至定义或调用。

打开 currency.abi,这是智能合约的 abi (Application Binary Interface) 文件,格式与 JSON 类似,所以第一步我们设置了在软件中将其解析为 JSON。 左侧 Symbol 栏已经按照 JSON 进行了解析,方便理解。

有了 Source Insight,以后可以畅游 EOS 代码了~

原文地址:http://blog.51cto.com/13625500/2083594

时间: 2024-10-13 14:26:57

怎么看 EOS 的代码最爽?的相关文章

[2014.5.18][SuperPixel] 也看Greg.Mori.代码的配置与执行

SuperPixel最初由Xiaofeng Ren提出(ICCV 2003),但我在网络上尚未找到有关这个最初想法的源代码:比较容易获得的倒是Greg Mori(CVPR 2004,ICCV 2005)基于Xiaofeng Ren算法做的代码https://www.cs.sfu.ca/~mori/research/superpixels/.代码包分为32bit版和64bit版. 这个代码用到了C与M混合编程,并非是拿来即可运行的,在代码和matlab的配置上还是有一定需要注意的问题. 搜索了下,

很多事情就像看A片,看的人觉得很爽,做的人未必。

http://m.jingdianju.com/wzgs/shenghuo/201307185135.html 转载自: 从这个角度上来说,我不太赞成过于关注第一份工作的薪水,更没有必要攀比第一份工作的薪水,这在刚刚出校园的学生中间是很常见的. 正常人大概要工作35年,这好比是一场马拉松比赛,和真正的马拉松比赛不同的是,这次比赛没有职业选手,每个人都只有一次机会. 刚进社会的时候如果进500强公司,大概能拿到3k -6k/月的工资,有些特别技术的人才可能可以到8k/月,可问题是,5年以后拿多少?

为什么学习C语言这么久,看的懂代码,做不出题没项目

我看得懂别人的程序,可是我自己却写不出来,我应该怎么办啊?你了解这些嘛? 你只是能从别人书写的代码知道每一步都做些什么吧? 你明白别人的解题思路吗? 你知道别人为什么要用那样的算法吗? 如果你看着题目,你能写出实现同一功能的代码吗? 你能知道别人在写这个程序的过程中会遇到什么样的问题吗? 你能在看了别人的程序之后写出比他好的代码吗? 你能用另一种算法写出实现同一程序的代码吗? 你真的能看懂别人的程序吗?创一个小群,供大家学习交流聊天如果有对学C++方面有什么疑惑问题的,或者有什么想说的想聊的大家

看数据结构写代码(63) 堆排序

// HeapSort.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <cstdlib> #define LIST_MAX_SIZE 100 //顺序表 struct sqList{ int base[LIST_MAX_SIZE]; int len; }; typedef sqList Heap;//顺序表作为堆排序的基本类型 //初始化顺序表 void initHeap(Heap * list,int * arr

看数据结构写代码(6)双向链表的实现

双向链表 只是 比 单链表 多了 一个 指向 前驱的 指针,在插入 和 删除 元素的 时候 得多处理一些.其余 没什么 区别. 而循环链表 的 尾指针 不再 指向 NULL,而是 指向 头指针,这样 既可以循环遍历,又节省 存储空间 . 每种链表 都有 好处,至于 如何 取舍,得看需求. 下面 奉上 双向链表的实现代码: // DoubleLinkList.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <stdlib.h

Java进阶知识点2:看不懂的代码 - 协变与逆变

要搞懂Java中的协办与逆变,不得不从继承说起,如果没有继承,协变与逆变也天然不存在了. 我们知道,在Java的世界中,存在继承机制.比如MochaCoffee类是Coffee类的派生类,那么我们可以在任何时候使用MochaCoffee类的引用去替换Coffee类的引用(重写函数时,形参必须与重写函数完全一致,这是一处列外),而不会引发编译错误(至于会不会引发程序功能错误,取决于代码是否符合里氏替换原则). 简而言之,如果B类是A类的派生类,那么B类的引用可以赋值给A类的引用. 赋值的方式最常见

不得不看的Java代码性能优化总结

前言 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了.代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨:但是如果有足够的时间开发.维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的. 代码优化的目标是:

看opengl写代码(3) 实现矩阵的旋转

参考   opengl编程指南   P17    直接上代码: <span style="font-size:18px;">// doubleBuffer.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <gl/glut.h> static GLint spin = 0; void init(){ glClearColor(0.0,0.0,0.0,0.0); glShadeModel(

看数据结构写代码(66) 败者树

计算机的 内存 是 有限的,无法 存入 庞大的数据.当 遇到 大数据需要排序时,我们 需要 将 这些 数据 分段 从 硬盘里 读到 内存中,排好序,再 写入到 硬盘中,这些段 叫做 归并段.最后将 这些 分段 合并 成 一个 最终  完整 有序的 数据. 这里 操作的 时间 =  内部 排序 时间 +  外存读写时间 + 内部归并所需时间. 其中 外存 读写时间 最耗时,外存读写时间 = 读写次数 * 读写数据的时间 ,读写 数据的时间 因 设备 性能 而 影响,我们 无法控制,我们 只能 控制