• thread_local 线程变量存储.tbss段或.tdata段


    C++11的特性
    编写程序如下,程序摘抄于其他博客。

    #include 
    #include 
    using namespace std;
    
    int globalvar=2;
    
    void tFunc(int a)
    {
            thread_local int g_d=3;
            for(int i = 0; i < a; ++i)
            {
                    g_d++;
            }
            cout<<"thread:"<
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    编译:

    g++ 1.cpp -g -lpthread -o 1
    
    • 1

    然后查看变量所在段:

    objdump -tT 1 | grep -E 'globalvar|g_d'
    
    • 1

    已经初始化,所以在.data和.tdata段
    在这里插入图片描述参考手册:https://docs.oracle.com/cd/E23824_01/html/819-0690/chapter8-5.html

  • 相关阅读:
    排序算法-----归并排序
    设将n(n>1)个整数存放在一维数组R中。设计一个在时间和空间两方面都尽可能高效的算法。将R中保存的序列循环左移P(0<P<n)个位置
    Web自动化测试:selenium如何实现关键字驱动(超详细)
    MySQL日志管理、备份与恢复
    Android flow 每秒异步返回一个值
    python 集合(set)
    机器学习笔记03
    性能评测|影驰RTX4090金属大师系列显卡正式发售!
    云计算【第一阶段(16)】安装及管理程序
    No module named ipykernel解决方案
  • 原文地址:https://blog.csdn.net/GooTal/article/details/126447753