Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2013, 15:38   #1
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию thread-local storage

Здравствуйте.
Как можно в mingw объявить переменную локальной для потока, аналог thread_local в C++11 или __declspec(thread) в MSVC.
220Volt вне форума Ответить с цитированием
Старый 10.08.2013, 16:11   #2
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию

Извиняюсь, thread_local работает, почему-то QT подчеркивает его красным, подумал что не поддерживается.
220Volt вне форума Ответить с цитированием
Старый 10.08.2013, 16:14   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а чем С++11 в MinGW не угодил?
или АПИшные TLS функции.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.08.2013, 20:10   #4
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию

Как-то странно работает thread_local, набросал примерно такую схему:
Код:
incl.h:
    struct S
    {
        int v;
        S() = default;
        //S(const S&) = default;    // ok       #1
        //S(const S&);              // error    #2
        //S(const S&) = delete;     // error    #3

    };
    extern S thread_local st;
Код:
incl.cpp:
#include "incl.h"
S thread_local st;
Код:
main.cpp:
#include "incl.h"
int main()
{
    st.v = 9;
    return 0;
}
При раскомментированном №2 или №3 выдает: ошибка: undefined reference to `_ZTHN5f_lib2stE.
Это детские болезни или ...?
220Volt вне форума Ответить с цитированием
Старый 13.08.2013, 20:12   #5
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию

Есть ли в g++ альтернатива thread_local?
220Volt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Флешка определяется как USB Mass Storage Device Terran Компьютерное железо 18 28.08.2017 03:19
Intel System Storage SS4200-E. artemavd Свободное общение 4 07.11.2009 17:13