首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我如何才能看到最初为获取此符号而编写的代码?

要看到最初为获取某个符号而编写的代码,可以通过以下几种途径:

  1. 源代码版本控制系统:如果该符号的代码是通过源代码版本控制系统进行管理的,你可以通过查看该符号所在文件的历史记录,找到最早的提交记录,从而看到最初为获取该符号而编写的代码。常见的源代码版本控制系统包括Git、SVN等。
  2. 代码注释和文档:在代码中,开发人员通常会添加注释来解释代码的功能和目的。你可以通过查看代码注释来了解最初为获取该符号而编写的代码的目的和思路。此外,如果有相关的文档或技术文档,也可以查阅相关文档来获取更多信息。
  3. 开发人员交流和讨论:如果你有机会与最初编写该符号的开发人员进行交流或参与相关的开发讨论,他们可能会分享更多关于该符号的背景和设计思路,从而帮助你了解最初的代码。

需要注意的是,获取最初为获取某个符号而编写的代码可能并不容易,特别是对于开源项目或大型商业项目来说。有时候,最初的代码可能已经被修改、重构或删除,或者可能存在多个贡献者。因此,除非你能够直接接触到最初编写该符号的开发人员或者有其他特殊的途径,否则可能无法直接获取到最初的代码。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

浅谈PHP 5中垃圾回收算法演化

可以看到_zvalue_value中只有5个字段,但是PHP中算上NULL有8种数据类型,那么PHP内部是如何用5个字段表示8种类型呢?...:每个内存对象分配一个计数器,当一个内存对象建立时计数器初始化为1(因此此时总是有一个变量引用对象),以后每有一个新变量引用内存对象,则计数器加1,每当减少一个引用内存对象变量则计数器减1,...> 这段代码首先建立了数组a,然后让a第一个元素按引用指向a,这时azvalrefcount就变为2,然后我们销毁变量a,此时a最初指向zvalrefcount1,但是我们再也没有办法对其进行操作...这里特别要指出是,PHP是通过符号表(Symbol Table)存储变量符号,全局有一个符号表,每个复杂类型如数组或对象有自己符号表,因此上面代码中,a和a[0]是两个符号,但是a储存在全局符号表中...在这里,只能大体描述一下算法基本思想。

77370

浅谈PHP5中垃圾回收算法(Garbage Collection)演化

可以看到_zvalue_value中只有5个字段,但是PHP中算上NULL有8种数据类型,那么PHP内部是如何用5个字段表示8种类型呢?...:每个内存对象分配一个计数器,当一个内存对象建立时计数器初始化为1(因此此时总是有一个变量引用对象),以后每有一个新变量引用内存对象,则计数器加1,每当减少一个引用内存对象变量则计数器减1,...> 这段代码首先建立了数组a,然后让a第一个元素按引用指向a,这时azvalrefcount就变为2,然后我们销毁变量a,此时a最初指向zvalrefcount1,但是我们再也没有办法对其进行操作...这里特别要指出是,PHP是通过符号表(Symbol Table)存储变量符号,全局有一个符号表,每个复杂类型如数组或对象有自己符号表,因此上面代码中,a和a[0]是两个符号,但是a储存在全局符号表中...在这里,只能大体描述一下算法基本思想。

63310

C++ 炼气期之数据是主角

根据测试,编写本文时测试代码计算机上 long int和 int描述数字范围是相同,都是 4 B。...这里必然会出现一个问题,在 32 位计算机编写程序时,使用 int 描述了一个32 位数据。如果让程运行在 16 位计算机上,则会出现编译无法通过或丢失数据情况。...类似于我在一家银行存储物件时,银行给了我 4 个存储柜用来存储物件,也把 4 个柜子存满了。 转到另一家银行时,人家说最多只能给我 2 个柜子,这肯定是存不下所有的物件,会发生数据丢失。...问题出现了,必然是要解决,一种解决方案就是程序级解决,在编写程序时,获取到程序运行时计算机机器字,然后根据计算机机器字采用不同数据类型存储。...有符号和无符号问题: 默认情况下,int是有符号,意味着可以存储正数,也能存储负数。如下 2 行代码语义是一样

29320

使用WebRTC开发Android Messenger:第3部分

The exploit 在编写这个BUG时,最初通过修改WebRTC代码并重新编译它来修改发送到目标设备SCTP数据包。...先构建了ringrtc,然后构建了带有符号Signal,然后将所需符号与Frida脚本挂钩在攻击者设备上。尝试了该BUG利用,并且大约90%时间都有效!...也就是说,似乎不可能从Facebook Messenger获取代码,因为它被设置使用RTP数据通道不是SCTP数据通道,并且不接受通过会话描述协议(SDP)更改信道类型尝试。...这足以在两个设备上启用SCTP,因为目标设备会根据攻击者提供SDP确定是否启用SCTP。WebRTC版本也比我该BUG编写版本要老。...特性也可以通过过滤SDP来禁用,但重要是要确保过滤器是健壮并经过彻底测试。 Conclusion AndroidWebRTC编写了一个BUG攻击,涉及usrsctp中两个BUG。

1.5K53

linux常见面试题

Linux是一种基于UNIX操作系统,最初是由Linus Torvalds引入。...开源允许你将软件(包括源代码)免费分发给任何感兴趣的人。然后,人们可以添加功能,甚至可以调试和更正源代码错误。它们甚至可以让它运行得更好,然后再次自由地重新分配这些增强代码。...16)如何知道Linux使用了多少内存? 在命令shell中,使用“concatenate”命令:cat / proc / meminfo获取内存使用信息。...你应该看到一行开始像Mem:64655360等。这是Linux认为它可以使用总内存。...你可以简单地在虚拟桌面之间进行随机播放,不是在每个程序中保持完整程序,不是最小化/恢复所有这些程序。 29)如何在Linux下跨不同虚拟桌面共享程序?

2.4K10

面向 JavaScript 开发人员 ECMAScript 6 指南(1 ):新 JavaScript 中变量声明等功能

最初是为了实现 Netscape Navigator(第一批 Web 浏览器之一)可扩展性创建。...在许多情况下,新标准通过改变代码编写方式不是代码功能来提高效率。这些更新与开发人员已在执行工作关系最紧密 — 还未标准化快捷方式和解决办法。...编译器可以获取人类可读代码并生成可执行代码(比如机器码或中间代码,比如 Java 或 .NET CLR 字节码),transpiler 将人类可读代码转换为另一组源代码。...ECMAScript 6 中表情符号支持已扩展,现在同时支持字符串字面量和变量标识符名称,但是,请不要在您代码中使用表情符号。...实质上,该操作将数组或对象 “解构” 构成部分。 或许通过操作不是通过文字才能更好地了解什么是解构。

86420

系列 | 高性能存储-MySQL数据库之存储过程揭秘

执行这个处理需要针对许多表多条MySQL语句。此外,需要执行具体语句及其次序也不是固定,它们可能会(和将)根据哪些物品在库存中哪些不在变化。 那么,怎样编写代码?...存在一些只能用在单个请求中MySQL元素和特性,存储过程可以使用它们来编写功能更强更灵活代码(在下一章例子中可以看到。) 换句话说,使用存储过程有 3个主要好处,即简单、安全、高性能。...在MySQL处理这段代码时,它创建一个新存储过程 productpricing。没有返回数据,因为这段代码并未调用存储过程,这里只是以后使用创建它。...END定义END//不是END; 。...这样,存储过程体内 ;仍然保持不动,并且正确地传递给数据库引擎。最后,恢复原来语句分隔符,可使用 DELIMITER ;。除符号外,任何字符都可以用作语句分隔符。

2.1K30

9个基本GNU binutils 工具【Linux-Command-line】

(你需要探索如何使用ld命令进行链接) 屏幕快照 2019-11-19 下午6.15.33.png 运行命令后,你应该看到一个名为“a.out”可执行文件: 屏幕快照 2019-11-19 下午6.16.40...系统binutils版本2.27-34, 考虑到Linux发行版多样,你版本可能有不同之处。...为此编写另一个测试程序; 只有这一次才能确保使用gcc“-g”标志进行编译,这将为二进制文件添加其他调试信息,并且包含行号(在此处代码中提供)也将有所帮助: 屏幕快照 2019-11-20 下午...部分中标记为“T”,代表符号变量标记为“D”,其代表初始化data部分中符号。...当然,除非二进制文件已被剥离,否则它们将不包含任何符号,因此nm命令不会很有帮助,如在此处看到: 屏幕快照 2019-11-20 下午1.43.48.png 结论 GNU binutils工具有兴趣分析二进制文件任何人提供了许多选项

4.1K50

多么痛领悟——计算机组成原理第一讲

”系统等都属于操作系统,看到这你应该明白了不少吧,要是还没明白,就再多看几遍,看图理解也行,至少你现在要明白没有安装软件计算机就是一堆废铜烂铁,应用程序必须再操作系统支持下才能运行。...在上面已经详细描述了“软件”,那现在出现了一个问题是人类是如何编写软件呢?就开门见山了,软件是由“编程语言”编写而成。 编程语言前世今生 ?...编程语言 编程语言,看到这几个字后不要急着看官方定义,首先顾名思义,自己先理解,来说说对编程语言理解吧:一眼扫过去,你看到是“语言”二字,对语言大家都不陌生,语言是人类最重要交际工具,是人们进行沟通主要表达方式...比如展现出我们现在所看到丰富多彩文字、图片,那它是如何做到呢?其实当时这个涉及计算机这些先贤们也遇到过这个问题,他们考虑怎么能让这些硬件动起来,怎么让电流给它驱动起来?...5、计算机如何执行你程序 把程序和数据装入到主存储器中 从程序起始地址运行程序 CPU工作非常简单,它从内存中获取一个指令并执行该指令,然后从内存中获取下一个指令并执行。

60740

3个开源行为驱动开发工具

还了解到,这是仅由团队开发人员不是BA或QA员工进行实验,这违背了理解最终用户行为目的。 在谈话中,被鼓励尝试BDD,因此和测试分析师去找老板,说愿意一试。...然后,我们不知道该怎么办,没有指导,没有适当计划,领导团队只是想自动化测试。认为不需要告诉你这个故事是如何结束。事实上,根本没有结束,只是在最初尝试编写行为场景之后缓慢消退。...一个新开始 快进了一年,在另一家公司,拥有自己团队和BDD。知道那里有价值,但也知道它价值比最初出售价值还要深。花了很多时间思考BDD如何对团队以及整个开发团队产生积极影响。...我们方法和成功措施制定了计划。 仍在编写需求(永远不要让任何人告诉您这些场景可以完全替代需求!),但是我们正以更加严格眼光来评估这样做,并评估需求和测试场景重叠之处以及如何精简两者。...每个方案都是一个单独测试。场景被分组功能,与测试套件相当。必须使用Gherkin语法编写方案,Cucumber才能理解和执行方案步骤。

1.1K11

V8中推测优化(Speculative Optimization)介绍

V8 会获取 JavaScript 源代码并将其反馈给所谓 "解析器"(Parser),后者会为源代码创建抽象语法树(AST)表示法。...例如,对于像 o.x 这样属性访问,其中 o 始终具有相同形状(即你始终 o 传递一个值 {x:v},其中 v 是一个字符串),我们会缓存关于如何获取 x 值信息。...图片 最初,add 函数字面被解析树形表示,其中一个子树表示参数声明,另一个子树表示实际函数体。...将使用特殊本征 %OptimizeFunctionOnNextCall() 在非常特定时间点触发 V8 中函数优化。我们经常使用这些内在函数来编写测试,以特定方式对引擎施加压力。...不会在这里详述传递细节,这是一篇单独博文(或一系列单独博文)主题。我们将查看生成机器代码,了解推测优化是如何工作

35120

.NET Standard中配置TargetFrameworks输出多版本类库

可以看到当前类库默认为 netstandard2.0,此时其xml标签为 TargetFramework。...默认加载目标框架显示 .NET Framework 4。 ? 如何才能添加 net45 或者 netstandard2.1 引用呢?...正常来说应该在VS“引用管理器”界面上提供目标框架下拉选择框,可以自由切换选择不同目标框架,但是到目前为止VS没有此功能,VS版本信息如下 ? 希望微软在后续VS版本中能增加功能。...五、编码与DEBUG调试   虽然 .NET Standard 支持编写一套代码编译输出支持多平台,但是实际编码中会遇到很多特殊情况需要使用条件指令进行区分逻辑,比如编写一个扩展方法判断字符串是否空或者...} #endif 上面两段代码预处理符号 NET35、NET40、NET45 是.NET目标框架中预定义预处理符号

2.8K21

唯一可行 iOS 架构

该方案取自 Reenskaug 报告。 ? 其中 Editor 是 Presentation 最初表述。在此方案中,我们可以看到 MVC 不是 3 个部分。它更多地是关于按层不是按类进行分解。...最初,将 Presentation 分为负责向用户显示信息层和负责从用户获取信息层是一个很好主意。稍后您将看到,该原理不适用于 iOS。...这也是开发人员创建自己 Presenter 并将所有逻辑移至这个 NSObject 子类另一个原因。但是我们已经看到了这种方法问题。 我们可以在 Person 类中编写逻辑吗?...好了,在这种情况下,我们将根据 MVC 原理将表示和业务逻辑混合在一个不好类中。很难理解为什么有此代码。我们看不到该代码是针对哪个具体视图编写。最后,很难在不同屏幕上重用模型。...如果在其他页面上以不同方式显示此信息(例如表情符号)怎么办? 现在,该再次重申 MVC 不是模式。是的,我们在 Presentation 层中有一些逻辑,MVC 不会强迫您在现有的类中编写逻辑。

1.2K20

使用 PerfCollect 跟踪 .NET 应用程序

对于预编译为本机代码框架代码,需要调用 crossgen,它知道如何生成从本机代码到方法名称映射。 perfcollect 可以处理大部分细节,但需要 crossgen 可用。...通常,当你创建 .NET 应用程序时,它只为你编写代码生成 DLL,对其余代码使用运行时共享副本。 但是,你也可以生成应用程序所谓“自包含”版本,其中包含所有运行时 DLL。...替代项:禁用预编译代码 如果无法更新 .NET 运行时(以添加 crossgen),或者如果上述过程出于某种原因而无效,可以使用另一种方法来获取框架符号。 你可以指示运行时不要使用预编译框架代码。...如果使用是早期版本 .NET 运行时,则环境变量仍应该使用 COMPlus_ 前缀。 通过更改,你应该会获得所有 .NET 代码符号。...获取本机运行时符号 大多数情况下,你感兴趣是自己代码,perfcollect 默认解析这些代码

1.1K20

系列 | 高性能存储-MySQL数据库之存储过程揭秘

执行这个处理需要针对许多表多条MySQL语句。此外,需要执行具体语句及其次序也不是固定,它们可能会(和将)根据哪些物品在库存中哪些不在变化。 那么,怎样编写代码?...存在一些只能用在单个请求中MySQL元素和特性,存储过程可以使用它们来编写功能更强更灵活代码(在下一章例子中可以看到。) 换句话说,使用存储过程有 3个主要好处,即简单、安全、高性能。...在MySQL处理这段代码时,它创建一个新存储过程 productpricing。没有返回数据,因为这段代码并未调用存储过程,这里只是以后使用创建它。...END定义END//不是END; 。...这样,存储过程体内 ;仍然保持不动,并且正确地传递给数据库引擎。最后,恢复原来语句分隔符,可使用 DELIMITER ;。除符号外,任何字符都可以用作语句分隔符。

1.9K70

面向 JavaScript 开发人员 ECMAScript 6 指南(3):JavaScript 中

JavaScript 开发人员能够编写更加传统面向类代码,但他们会还想支持 ECMAScript 目前所具有的灵活性和开放性。...如果有助于您更快地解释该概念,可以尝试将 ECMAScript 中类视为类型对象:提供类型定义外观存在对象实例。...如果失败,那么它会检查类型对象(在本例中 Author)。接下来,将会检查类型对象 “扩展” 对象 (Person),依此类推,直到返回到最初类型对象,该对象始终是 Object。...对原型委托使用得越多,就越欣赏解决方案优雅之处。所有方面都遵循一个概念,“旧规则” 仍在发挥其作用。...静态属性和字段 如果不考虑回避 对面向对象讨论,任何面向对象讨论都是不完整。当开始在代码中使用类时,知道如何处理全局变量和/或函数至关重要。

65840

笨办法学 Python · 续 练习 33:解析器

看到一棵树,类似于我们之前创建BSTree或TSTree。你看到树了吗?我们从这个文件最上方开始,学习如何将字符转换为树。...在本练习中,将对如何编写 RDP 解析器进行更正式描述,然后让你使用我们上面的 Python 小代码片段来尝试它。 RDP 使用多个相互递归函数调用,它实现了给定语法树形结构。...你会注意到,这些是在练习 33 中让你扫描器创建三个操作,这就是为什么。你需要他们来实现一个 RDP 解析器。 你可以使用这三个函数来编写语法解析函数,从扫描器中获取记号。...这有助于我编写每个解析器代码,稍后可以用于错误报告。在尝试挑战练习之前,你应该研究解析器,甚至可能作为“代码大师副本”。...你可能需要秀阿贵扫描器,使其更智能,才能在行开头匹配INDENT空白字符,并在其他位置忽略它。你还需要跟踪如何多少缩进了多少,同时也记录零缩进,所以你可以“压缩”代码块。

56020

用Hardhat和Ethers引入并测试知名NFT智能合约

因为知道 Bored Ape Yacht Club 使用符号 BAYC,所以我可以使用 Etherscan 搜索该符号: 可以看到这是一个经过验证 ERC-721 代币合约,其名称是我们正在寻找...、符号和地址,此时你可能想知道是否有其他办法以编程方式获取合约代码。...但是现在让我们以手动方式进行,如何使用代码来更有效获取合约代码,可以作为一个练习题 :) 就要完成了第 1 步 - 复制合约代码并将其保存在文件中 - 现在你可以将其放在记事本中或将其保存在某个文件中...第 4 步:合约编写测试 测试是一个深刻复杂主题,因此我们将保持简单,以便你了解一般流程并按照自己步调深入研究该主题。...: 如何找到特定项目的智能合约代码 如何将该代码添加到本地开发环境 如何安装和设置一个简单安全帽开发环境 如何编译合约并为其编写测试 希望这能让你对使用 Hardhat、Ethers、Chai 和 Mocha

1.1K30

如何脱壳加固过Apk并利用其API“走近库”

插件开发大佬们都知道,想让Xposed加载你编写插件核心代码 就必须在assest/xposed_init文件内写入你想要加载核心代码所在包 进入ReverseXposedModule类 可以看到图中两处红线标记处...红线出代码native层代码,native层代码作者并没有开源 编译,运行 踩坑注意:这个工具so文件似乎在5.0以上安卓系统不起作用,所以我特意刷了一个4.4安卓再去安装ZjDroid...现在看到是原dex代码,不是壳dex代码!...可以看到onCreate方法native层方法,但是接着往下看 getInfo方法中有一个利用post请求调用登录接口 请求一下看看什么情况 WTF?返回实体中告诉无权调用接口?!...一定是在onCreate方法中需要进行什么操作才能正常调用接口 可native层代码实在是无能为力 本打算就这么放弃了,最后一次在代码中搜索可能存在接口 其中一处接口让眼前一亮 WTF?!

1.4K20
领券