在共享库中使用全局变量

2023-11-27

我正在用 C 编写一个应用程序,它使用全局变量(日志文件结构)。在我的应用程序中,我在运行时动态加载共享库,并且我想使用指向相同日志文件结构的全局变量来记录共享库。

这在简单的方法中似乎是不可能的:

  • 将全局变量声明为 extern 将不起作用,因为 dlopen() 表示全局变量是未定义的符号
  • 再次定义全局变量将起作用,但“新”变量将与可执行文件中的“原始”变量不同

任何关于如何解决这个问题的提示都会很棒。

谢谢你!


您需要编译您的主应用程序-rdynamic标志(例如:gcc -g -rdynamic -o main main.c,并在动态库中声明全局变量extern.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在共享库中使用全局变量 的相关文章

随机推荐

  • 检查字符串是否包含空格

    我正在尝试检查字符串中是否有空格 以下内容对我不起作用 if skpwords contains lcase query And Mid query InStrRev query then end if 检查字符串是否包含字符 或子字符串
  • Rails:激活 SSL 支持会让 Chrome 感到困惑

    Rails 应用程序有一个很好的配置选项 config force ssl true 然而 似乎仅仅将其设置为 true 并不能让 HTTPS 连接正常工作 更重要的是 在尝试 但失败 连接到之后https 本地主机 3000对于 Chro
  • Iterator.remove() IllegalStateException

    在下面的代码中 我有一个 try catch 块 它尝试使用 Iterator 从 Vector 中删除元素 我创建了自己的课程QueueExtendingVect延伸Vector并实施Iterator 变量qev1是类的一个实例Queue
  • 如何将 IEnumerable> 转换为 IObservable

    是否有内置方法将 IEnumerable gt 转换为 IObservable 顺序并不重要 重要的是我得到的东西 尽管最好是在它们完成的时候 如果它还不存在 那么实现它的好方法是什么 我相信这会起作用 tasks Select t gt
  • 读/写二进制文件

    我只是想从二进制文件中读取 写入 我一直在关注this教程 它可以工作 除了它似乎正在将内容写入 txt 文件 我在测试时将文件命名为test bin 但记事本可以打开它并正确显示它 所以我认为它实际上不是一个二进制文件 我已经告诉它它是一
  • kotlin 如何使 setOnClickListener 接受函数作为参数

    在 kotlin 中 我们可以使用setOnClickListener 像这样 view setOnClickListener println Hello 但是如果我定义自己的接口 我只能传递匿名对象 如下所示 obj setMyListe
  • 如何在Python中的文件中写入新行

    我有一个这样的文件 word number word number 我只想保留 保留这些单词 再次换行中的一个单词 word word 到目前为止我的代码 f open new file txt w with open initial fi
  • 查找 SQL 中的所有整数间隙

    我有一个数据库 用于存储我从外部源获取的游戏不同比赛的信息 由于一些问题 数据库中偶尔会出现空白 可能缺少 1 个 ID 到几百个 ID 我想让程序提取丢失游戏的数据 但我需要先获取该列表 以下是表格的格式 id pk identity G
  • 更改“多选”下拉框中所选项目的背景颜色? [复制]

    这个问题在这里已经有答案了 我想为多选下拉框中的所选项目赋予黄色 选择后默认背景是灰色的 如何执行此操作HTML CSS 这个问题是关于多选但对于单选请参考 相关但不重复 如何将背景颜色应用于选定的选项 我们可以简单地借助以下 CSS 来完
  • Laravel 5.1 视图未找到

    这似乎是 Laravel 中时不时出现的一个问题 我正在编写一个 CRUD 控制器 以配合它 但是经过测试 我得到了InvalidArgumentException in FileViewFinder php line 137 View b
  • 如何在 Firebase 托管中实现 .htaccess 配置?

    我的域中有一个 htaccess 配置 允许我的应用程序与路由完美配合 当您刷新 Angular 2 应用程序无法解析路线时 它可以避免错误 我当前的配置是这个
  • 如何在 PyQt 中使用 pdf.js 查看器渲染 PDF?

    我尝试在我的项目中添加 pdf js 查看器文件 它可以在 Chrome Mozilla Safari 等浏览器中运行 但它不会加载 node webkit 和 PyQt webkit 中的某些页面 我正在尝试使用 iframe 加载文件
  • 为什么只将数据存储在平衡二叉搜索树的叶节点中?

    我买了一本关于计算几何的好小书 在到处阅读时 我经常偶然发现这种特殊的二叉搜索树的使用 这些树是平衡的 应该只在叶节点中存储数据 而内部节点应该只存储引导搜索到叶节点的值 下图显示了该树的示例 其中叶子是矩形 内部节点是圆形 我有两个问题
  • JQuery 使用 .each() 延迟

    您有什么想法可以使用 JQuery 的延迟方法和一个函数来检测所有更改的表单并将每个表单作为 Ajax 帖子提交吗 如果我只列出大量表单提交 我可以得到同样的结果 但如果我使用 form changed each function retu
  • 预填充 HTML 表单文件输入

    我有一个 VBScript 它可以检查 HTML 表单 用固定值填充它 然后提交它 到目前为止它工作正常 但现在我需要设置将在表单数据中上传的文件的位置 我相信如果我将位置设置为该值 它就会起作用 但事实并非如此
  • 强制WebView在某个网络上运行

    是否可以强制WebView通过指定的方式加载 URLNetwork 我的设备打开了两个网络连接 wifi 和移动数据 移动数据网络被设置为传出连接的默认网络 因此连接管理器返回移动数据网络connectivityManager getAct
  • UIPickerView 与 NSDictionary

    我是一名 NET 程序员 也是 Objective C 的新手 我正在尝试制作一个 UIPickerView 它的作用类似于 NET 下拉列表 用户看到文本列表并选择一个 所选值 即 ID 将在代码中使用 我已经浏览了近半天试图弄清楚这一点
  • != 在 jade/pug 中起什么作用?

    在下面的翡翠代码中如何工作 messages extends layout block content spacer container row col lg 8 col lg offset 2 col md 10 col md offse
  • 将自定义 NSURLProtocol 与 UIWebView 和 POST 请求结合使用

    在我的 iOS 应用程序中 我使用 UIWebView 和自定义协议 带有我自己的 NSURLProtocol 实现 我非常小心地确保每当我加载 url 时 我都会将类似的内容加载到我的 UIWebView 中 myprotocol mys
  • 在共享库中使用全局变量

    我正在用 C 编写一个应用程序 它使用全局变量 日志文件结构 在我的应用程序中 我在运行时动态加载共享库 并且我想使用指向相同日志文件结构的全局变量来记录共享库 这在简单的方法中似乎是不可能的 将全局变量声明为 extern 将不起作用 因