如何读懂源代码?首先,模型训练的第一步是读取数据。数据从数据集中读取,然后按照BERT模型所需的数据格式进行处理。此步骤涉及构建特定数据处理类和方法,确保数据集与任务兼容,如任务不是MRPC,需要根据任务重新编写数据处理代码。接着,使用TensorFlow对数据进行预处理。数据转换为TF-Record格式,以提高读取速度和方便性。那么,如何读懂源代码?一起来了解一下吧。
可执行程序是源程序经过编译和连接后生成的机器码
exe还是可以读懂的,前提是你掌握该种计算机cpu的指令代码
在Windows中的exe可以有工具反汇编成汇编语言源程序,甚至有能反汇编成c的。
我以前,读代码一般是先看看程序包含哪些头文件,接着作者又定义了哪些宏,声明了哪些全局变量。(注意,除了头文件几乎每个程序都有之外,其他两项不一定都有。)
之后看自定义函数的原型,了解它们各是负责什么工作的(可以猜一猜)。对于具体的实现,先不看。(一般在主函数之后或其他文件里实现)
然后进入主函数,采用“逐行扫描”的阅读方式。直到主函数结束。
最后才去看那些自定义函数的具体实现。
另外,如果程序中还有“类”的话,那我会先去看一看类的接口,就是它能提供哪些操作。具体的实现都是读完主函数之后才看的。
当然这是我的习惯,我想各人有各自的习惯,所以仅供楼主参考,你应该有自己的习惯。
C++程序一般分为几个文件存放。我喜欢先看一看.h头文件里都声明了些什么。特别注意类的接口。然后进入主函数所在的.cpp源文件,从头到尾“逐行扫描”。最后才去看类的接口及自定义函数是如何实现的。
(再没有文档这个总是有的吧?哪怕是个代号) 2.这个项目的性质 3.源代码的规模 有多少行(其中有多少行是注释),总共有多少个文件(每一类文件分别有多少个,每个文件是多少行) 如果是面向对象的,有多少个class,如果是面向过程的有多少个function 4.功能的详细整理功能列表函数名 功能 功能描述 5.功能模块之间的关系 (哪怕没有注释,按名称,调用关系一定能整理清楚) 如果你把我上面列的5点搞清楚了,再来抱怨,我想应该是下面这个样子: 老大给了我一个项目源码让我看,注释都没有,是一个超级留言本,总共有10万行代码,就两个文件,函数不到10个,功能就是注册和留言,连修改删除功能都没有,大家说我看这样的代码有意思吗?我是不是还要待在这里?如果你完成了我上面说的5步,你仍然觉得没什么值得学的,没有什么需要做的,说明你不适合干编程这一行。下边呢就具体的介绍一下心得。当我们学习程序编码时,首先会看一些程序代码例子,然后学例子去修改编写代码;当我们刚进入一个公司,公司会把要维护修改的项目分给我们,让我们修改维护,要想修改编写,首先要读懂项目主要程序;当我们去看一些优秀的开源项目,想从中学习这些项目的设计思想时,我们也要去看项目代码…如此等等,可以说读代码是为了写代码,写出非常优秀的代码。
很少读代码,一般都是自己写或者弄人家已经封装写好的,较容易调用的代码^_^
不过个人认为,首先要知道程序是干什么的,如果有文档,看看文档
这样会容易看很多
对了,VC有个功能可以帮助你看别人的代码。选中变量,右击菜单里有个“转到定义”和“转到参考”的菜单项,点击后会快速跳到变量的定义和使用的代码
生成的程序是不能看到源代码的,不过可以看到那个程序的资源,用E-Code Explorer反汇编调试由易语言编译生成的易格式可执行文件,分析内部结构,查看其中的各项数据。
【功能简介】
1。格式分析:分析易格式可执行文件的总体结构,查看对应项的数据。分别对PE骨骼(PE头)和易格式原体分析,以树形结构清晰的显示,同时辅以详细的分析表格。
2。反汇编分析:快速的静态反汇编易格式可执行文件。提供方便的跳转、调用目标地址的代码预览功能。
3。窗体分析:对易格式可执行文件中包含的窗体数据分析。以树型结构清晰的显示窗体单元的从属结构。详细的控件属性显示、准确的事件处理函数定位、与反汇编模式便捷的切换,让使用者可以立即进入要调试的事件函数领空,避免在runtime的空间里四处打转浪费时间。这一点对于调试非线性事件驱动类型的程序是必须的。
4。符号修饰:可以调用易语言支持库作为符号表,对反汇编后的代码进行修饰,可以直接分析出函数所调用的方法,操作的属性,使用到的常量、基本数据类型、自定义数据类型和窗口单元。极大地提高了代码的可读性。
5。内部数据分析:能够分析出程序使用到的常量、API函数、服务,调用的支持库。
以上就是如何读懂源代码的全部内容,我以前,读代码一般是先看看程序包含哪些头文件,接着作者又定义了哪些宏,声明了哪些全局变量。(注意,除了头文件几乎每个程序都有之外,其他两项不一定都有。)之后看自定义函数的原型,了解它们各是负责什么工作的(可以猜一猜)。对于具体的实现,先不看。内容来源于互联网,信息真伪需自行辨别。如有侵权请联系删除。