g++ __static_initialization_and_destruction_0(int, int) - 它是什么

2024-03-05

编译 c++ 文件(带有全局静态对象)后,我进入nm输出这个函数:

 00000000 t _Z41__static_initialization_and_destruction_0ii

 __static_initialization_and_destruction_0(int, int)  /* after c++filt */

它是什么?它会调用__cxa_atexit()

我可以禁用此函数的生成(并调用__cxa_atexit())并将所有构造函数和析构函数调用放入.ctors and .dtors部分?


这个文档文件似乎告诉你所有你想知道的关于这些功能的信息:http://www.nsnam.org/docs/linker-problems.doc http://www.nsnam.org/docs/linker-problems.doc

据我所知,gcc 创建了一个__static_initialization_and_destruction_0对于每个需要调用静态构造函数的翻译单元。然后它放置__do_global_ctors_aux进入.ctors部分,然后调用__static_initialization_and_destruction_0在每个翻译单元上。

但问题似乎比这复杂得多; gcc 必须处理存档中的各个目标文件,我认为这就是它们阻止链接器优化这些调用的方式。

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

g++ __static_initialization_and_destruction_0(int, int) - 它是什么 的相关文章

  • 如何在 Visual Studio 2010 中增强 XAML 设计器?

    当我使用 XAML 设计器时 进入设计器和退出设计器是如此困难和缓慢 当我这样做时 Visual Studio 卡了一段时间 有什么方法可以增强 XAML 设计器和编辑器吗 Ant 保存 XAML 文件时非常慢 这通常意味着您可能有复杂的
  • c和java语言中的换行符

    现在行分隔符取决于系统 但在 C 程序中我使用 n 作为行分隔符 无论我在 Windows 还是 Linux 中运行它都可以正常工作 为什么 在java中 我们必须使用 n 因为它与系统相关 那么为什么我们在c中使用 n 作为新行 而不管我
  • 如何读取扩展文件属性/文件元数据

    因此 我按照教程使用 ASP net core 将文件 上传 到本地路径 这是代码 public IActionResult About IList
  • std::cout 和 std::wcout 有什么区别?

    在c 中 有什么区别std cout and std wcout 它们都控制流缓冲区的输出或将内容打印到控制台 或者它们只是相似吗 它们作用于不同的字符类型 std cout uses char作为字符类型 std wcout uses w
  • 使用Physics.Raycast 和Physics2D.Raycast 检测对象上的点击

    我的场景中有一个空的游戏对象 带有 2D 组件盒碰撞器 我将脚本附加到该游戏对象 void OnMouseDown Debug Log clic 但是当我点击我的游戏对象时 没有任何效果 你有什么想法 如何检测我的盒子碰撞器上的点击 使用光
  • Unix网络编程澄清

    我正在翻阅这本经典书籍Unix网络编程 https rads stackoverflow com amzn click com 0139498761 当我偶然发现这个程序时 第 6 8 节 第 179 180 页 include unp h
  • 推导指南中的引用和值之间的差异

    考虑类型A template
  • 如何为 C 分配的 numpy 数组注册析构函数?

    我想在 C C 中为 numpy 数组分配数字 并将它们作为 numpy 数组传递给 python 我可以做的PyArray SimpleNewFromData http docs scipy org doc numpy reference
  • 关于在 Windows 上使用 WiFi Direct Api?

    我目前正在开发一个应用程序 我需要在其中创建链接 阅读 无线网络连接 在桌面应用程序 在 Windows 10 上 和平板电脑 Android 但无关紧要 之间 工作流程 按钮 gt 如果需要提升权限 gt 创建类似托管网络的 WiFi 网
  • 如何在 Linq 中获得左外连接?

    我的数据库中有两个表 如下所示 顾客 C ID city 1 Dhaka 2 New york 3 London 个人信息 P ID C ID Field value 1 1 First Name Nasir 2 1 Last Name U
  • 单击 form2 上的按钮触发 form 1 中的方法

    我对 Windows 窗体很陌生 我想知道是否可以通过单击表单 2 中的按钮来触发表单 1 中的方法 我的表格 1 有一个组合框 我的 Form 2 有一个 保存 按钮 我想要实现的是 当用户单击表单 2 中的 保存 时 我需要检查表单 1
  • 使用 JNI 从 Java 代码中检索 String 值的内存泄漏

    我使用 GetStringUTFChars 从使用 JNI 的 java 代码中检索字符串的值 并使用 ReleaseStringUTFChars 释放该字符串 当代码在 JRE 1 4 上运行时 不会出现内存泄漏 但如果相同的代码在 JR
  • 等待线程完成

    private void button1 Click object sender EventArgs e for int i 0 i lt 15 i Thread nova new Thread Method nova Start list
  • std::async 与重载函数

    可能的重复 std bind 重载解析 https stackoverflow com questions 4159487 stdbind overload resolution 考虑以下 C 示例 class A public int f
  • .NET中的LinkedList是循环链表吗?

    我需要一个循环链表 所以我想知道是否LinkedList是循环链表吗 每当您想要移动列表中的 下一个 块时 以循环方式使用它的快速解决方案 current current Next current List First 电流在哪里Linke
  • 如何在按钮单击时模拟按键 - Unity

    我对 Unity 中的脚本编写非常陌生 我正在尝试创建一个按钮 一旦单击它就需要模拟按下 F 键 要拾取一个项目 这是我当前的代码 在编写此代码之前我浏览了所有统一论坛 但找不到任何有效的东西 Code using System Colle
  • 编译时“strlen()”有效吗?

    有时需要将字符串的长度与常量进行比较 例如 if line length gt 2 Do something 但我试图避免在代码中使用 魔法 常量 通常我使用这样的代码 if line length gt strlen Do somethi
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • 使用 GROUP 和 SUM 的 LINQ 查询

    请帮助我了解如何使用带有 GROUP 和 SUM 的 LINQ 进行查询 Query the database IEnumerable
  • 如何将 Roslyn 语义模型返回的类型符号名称与 Mono.Cecil 返回的类型符号名称相匹配?

    我有以下代码 var paramDeclType m semanticModel GetTypeInfo paramDecl Type Type Where paramDeclType ToString returns System Col

随机推荐

  • OpenCV - 两个二值图像之间的交集

    假设我有两个相同大小的二值图像 如何找到两个二值图像之间的交集 只有两个白色图像 灰色 255 上相同坐标 位置 的像素才会在输出图像 交集 上给出白色像素 您可以使用cvAnd http opencv itseez com modules
  • Java 构造函数是否返回对象引用?

    我知道 Java 的构造函数不能有任何类型 有趣的是它甚至不能是void 对此的合理解释是构造函数返回初始化对象的引用 MyClass myObject new MyClass 的构造函数myClass现在将在实例化对象后返回对象引用并将其
  • 我可以免费获得 sql2008 的 sql profiler 吗?

    是否可以免费获得 sql2008 的 sql profiler 还是必须有许可证才能获得 即它不能与 sql express 一起使用 您可以使用 SQL Developer 版本获取 SQL Profiler 但之前三个答案是怎么写的 S
  • 在 JavaScript 中访问 PHP 变量 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在 JavaScript 或 jQuery 中访问 PHP 变量而不是 https stackoverflow com questions 1808108 how to access php va
  • 如何在服务器端渲染 Three.js?

    如何渲染 Three js 服务器端 目前我们的网站在本地使用 Three js 渲染玩家头像 但这会带来安全问题以及低端计算机的潜在错误 人们可以将代码注入控制台并让它渲染天知道什么 我研究过使用node js 但所有相关文档都很模糊并且
  • 直接从 Angular 客户端订阅 Azure 事件网格主题

    我正在开发一个需要响应来自第三方 WebHook 的事件的应用程序 我选择 Azure Event Grid 作为我选择的事件代理 Angular 作为前端 Asp Net Core 作为后端 在我当前的解决方案中 我使用 HTTP 触发的
  • firebase 中的用户组

    A User定义为 public class User private String email private String uid private List
  • 即使显式设置区域性,也无法在 .NET 7 中重现 .NET Framework 字符串排序顺序

    我在 NET Framework 4 8 上运行一些遗留代码 这些代码对一些产品代码进行排序并将结果放入单个数据库列中 它已经运行了多年 积累了我无法轻易修改的数据 我需要它在 NET 7 上同样工作 代码很简单 Code new 123
  • 如何解决 TypeError: on_delete 必须在 Django 模型上可调用?

    突然我收到一条错误消息TypeError on delete must be callable 我不知道如何解决这个错误 因为我没有看到field models ForeignKey default 1 on delete CASCADE
  • 在R6RS方案中,有没有办法获取当前环境以供eval使用?

    R6RS方案中有没有办法获取当前环境 然后将其作为第二个参数传递给eval 例如 下面的表达式要返回 9 问号应该是什么 let x 4 y 5 eval x y 不 R6RS中没有这样的东西 一些罕见的实现可能支持类似的东西 但绝大多数
  • 如何在 R 中高效地生成向量?

    假设您有一个函数 它接受一个数字作为输入并输出一个向量 但是 输出向量的大小取决于输入 并且您无法在函数之前计算它 例如 采取3N 1著名算法 https en wikipedia org wiki Collatz conjecture 该
  • 如何使用 Spray-json 将 JsArray 转换为案例类序列?

    我有一个变量 var movieArray movieText parseJson 属于哪一类 println movieArray getClass class spray json JsArray 如何将其转换为案例类序列 例如 cas
  • 如何强制 Azure 存储帐户为经典帐户

    我们最近使用 Azure 资源管理器和模板构建了基础设施和应用程序部署框架 为了部署云服务 需要首先设置一个Azure存储帐户 截至最近 这是通过运行来完成的 Switch AzureMode AzureResourceManager Ne
  • 基于视图的 NSOutlineView 中 NSTextField 的委托事件?

    我有一个基于视图的完美功能NSOutlineView在我的项目中使用正确的设置数据源 现在我想允许用户更改某些条目 所以我做了NSTextField在IB中可编辑 对于基于细胞的NSOutlineView你可以使用委托方法outlineVi
  • 如何覆盖 Visual Studio 的菜单加速器快捷方式?

    我是一名基于 Mac 的 Net 开发人员 因此多年来我养成了将某些常用功能重新映射到一组更 Macish 的键盘快捷键的习惯 CUT Ctrl X gt Alt X COPY Ctrl C gt Alt C PASTE Ctrl V gt
  • Android Room SQLite_ERROR 没有这样的表

    我正在尝试使用安卓房间 https developer android com topic libraries architecture room html并在跟随之后本教程 http www vogella com tutorials A
  • 在 persistence.xml 之外定义 jpa 实体类

    有没有办法在 persistence xml 之外定义 jpa 实体类 即在单独的文件中 能够不将 persistence xml 作为外部文件也足够了 提前致谢 史蒂文 编辑 抱歉我没说清楚 这是在 Java SE 环境中 另外 我不想在
  • 调用 AutoFixture 自定义的 Dispose 方法

    我正在使用 AutoFixture 自定义来测试访问 SQL Compact DB 的存储库 测试完成后立即删除该数据库对我非常有帮助 因为数据库是在自定义构造函数中创建的 所以我认为删除它的最佳位置是在 dispose 方法中 我正在想的
  • 如何执行“nslookup主机服务器”

    My C 服务需要定期轮询nslookup host server 目前它产生了一个Process执行批处理脚本 由于性能原因 我正在考虑使用一些进行此检查API 但问题是 例如 使用System Net Dns GetHostAddres
  • g++ __static_initialization_and_destruction_0(int, int) - 它是什么

    编译 c 文件 带有全局静态对象 后 我进入nm输出这个函数 00000000 t Z41 static initialization and destruction 0ii static initialization and destru