Добрый день.
Никто не подскажет где можно отыскать исходные коды на реализацию STL под WINDOWS (например реализация <thread>, те реализация функции на которые идет ссылка в этих файлах).
Любой компилятор, допустим GCC.
Здравствуйте, HolyNick, Вы писали:
HN>Добрый день. HN>Никто не подскажет где можно отыскать исходные коды на реализацию STL под WINDOWS (например реализация <thread>, те реализация функции на которые идет ссылка в этих файлах). HN>Любой компилятор, допустим GCC.
скачать гцц, там и будет реализация %)
олсо, то что ты назвал STL на самом деле называется "стандартная библиотека".
Здравствуйте, HolyNick, Вы писали:
HN>Отладчик по хидерам скачет. HN>Я в source code не вижу ни единой ссылки на WIN API.
Win API и STL — вещи сугубо ортогональные, платформенная специфика код STL не интересует — он пользуется платформенно-зависимой реализацией рантайма конкретного компилятора.
Я хочу увидеть, например, реализацию std::thread. Допустим как запускается поток.
Понятно, что под Windows это будет вызов _beginthread(ex)(...) плюс некоторый сопутствующий код. Хотелось бы увидеть этот вызов вместе с сопутствующим кодом.
Есть и другие объекты: std::condition_variable итд...хочется посмотреть как они реализованы с помощью native Windows API.
Здравствуйте, HolyNick, Вы писали:
HN>Я хочу увидеть, например, реализацию std::thread. Допустим как запускается поток. HN>Понятно, что под Windows это будет вызов _beginthread(ex)(...) плюс некоторый сопутствующий код. Хотелось бы увидеть этот вызов вместе с сопутствующим кодом. HN>Есть и другие объекты: std::condition_variable итд...хочется посмотреть как они реализованы с помощью native Windows API.
Но в STL этих вещей может и не быть. И если ты смотришь и не находишь вызовов WinApi в реализации STL, которая идёт под Windows с gcc/mingw, то это может свидетельствовать не о проблеме поиска, а что их там действительно нет.
Например, тот же механизм std::thread может быть реализован через интерфейс pthreads. Понятно, что в конечном итоге это сведётся к каким-то вызовам из WinApi, но эти вызовы будет делать уже библиотека, реализующая интерфейс pthreads, которая не будет иметь никакого отношения к STL.
То есть в этом случае тебе нужно либо смотреть исходный код libpthread, если реализация STL импользует её, либо выбрать другую реализацию STL для изучения — там же есть много версий, среди которых есть и использующие WinAPI (почти) напрямую.
Здравствуйте, HolyNick, Вы писали:
HN>Никто не подскажет где можно отыскать исходные коды на реализацию STL под WINDOWS (например реализация <thread>, те реализация функции на которые идет ссылка в этих файлах).
скачай буст или поставь visual studio
там есть реализация thread
Здравствуйте, HolyNick, Вы писали:
HN>Я хочу увидеть, например, реализацию std::thread. Допустим как запускается поток. HN>Понятно, что под Windows это будет вызов _beginthread(ex)(...) плюс некоторый сопутствующий код. Хотелось бы увидеть этот вызов вместе с сопутствующим кодом. HN>Есть и другие объекты: std::condition_variable итд...хочется посмотреть как они реализованы с помощью native Windows API.
С каких пор _beginthread(ex) это native Windows API?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, HolyNick, Вы писали:
HN>Никто не подскажет где можно отыскать исходные коды на реализацию STL под WINDOWS (например реализация <thread>, те реализация функции на которые идет ссылка в этих файлах). HN>Любой компилятор, допустим GCC.
В Visual Studio исходники STL идут вместо со студией еще с прошлого тысячелетия.
"D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\crt\src\"