gpt4 book ai didi

c - 初始化了什么?

转载 作者:太空宇宙 更新时间:2023-11-04 06:41:51 24 4
gpt4 key购买 nike

正在学习ffmpeg项目

在其中一个示例程序中:

/* must be called before using avcodec lib */
avcodec_init();

/* register all the codecs */
avcodec_register_all();

我想知道这两个函数在内部做了什么我使用 gdb 查看创建了哪些全局变量,但没有找到任何变量

其实我的问题不是针对 ffmpeg 库的这是关于使用外部C库在那些库中应该创建了一些变量,我怎样才能找到这些变量?

我正在使用 Netbeans 作为 IDE

提前致谢

最佳答案

如果它们是外部库,则根本不可能看到变量。无论如何,一个好的库不会有很多全局可访问的变量。它们中的大多数将是静态的或本地的,然后您无法访问它们,因此它们对您来说并不重要。

文档,如果有任何好处的话,应该声明您可以访问和使用的所有变量、函数等。头文件也是一个很好的信息来源,尽管它们并不总是告诉您如何使用您所看到的内容。而且,就像在这种情况下一样,如果您可以获得源代码,那也是一个很好的信息来源,尽管如果图书馆内容广泛,您可能需要很长时间才能开始看透。

添加

如果库是使用调试信息编译的,并且您有源代码,您可能能够看到它是如何工作的并检查各种变量(本地、静态、全局)。对您隐藏信息主要不是为了保密,这样做是为了让您无法访问 私有(private)信息和(可能无意中)损害其保留的私有(private)数据的完整性。正如我在评论中所说,这称为封装,IMO 是一种良好的编程 (tm) 实践。

关于c - 初始化了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6819073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com