Установите исходный код пространства имен std, чтобы понять реализацию (Linux GCC) - PullRequest
0 голосов
/ 30 ноября 2018

Я хочу понять внутреннюю реализацию класса std::runtime_error.

Ответ на векторный исходный код c ++ объясняет, что я обычно могу только просматривать "спецификацию интерфейса" (hфайлы), но почему нет единой реализации.

Я использую Qt Creator на Ubuntu 18.04 с gcc / g ++ в качестве компилятора

Как установить исходный код std (желательнотаким образом, что Qt Creator может напрямую переходить к исходному коду, когда я «следую за символом под курсором»?

1 Ответ

0 голосов
/ 05 декабря 2018

Исходный код libstdc ++ (GNU) можно найти здесь: https://github.com/gcc-mirror/gcc/tree/master/libstdc%2B%2B-v3.

А именно, вот исходный код std::runtime_error: class и функции-члены .

Исходный код libc ++ (обычно используется с Clang): https://github.com/llvm-mirror/libcxx.

Насколько я знаю, Реализация Microsoft недоступна в Интернете, но вы можете найти файлы, если установите MSVC (Visual C ++).


ОБНОВЛЕНИЕ

Для MicrosoftРеализация, вы можете использовать онлайн-компиляторы для изучения исходного кода (хотя это своего рода недружественный для пользователя).См. Например https://rextester.com/NRP17506.

...