Вопросы с тегом «compiler-construction»

Тег compiler-construction следует применять к вопросам, касающимся программирования компиляторов, или к вопросам о детальной внутренней работе компиляторов. НЕ ИСПОЛЬЗУЙТЕ для вопросов об * использовании * определенных компиляторов или ошибках компиляции.

699
Учимся писать компилятор [закрыто]

Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека. Закрыто 5 лет назад . Ответы на этот вопрос - работа сообщества . Отредактируйте...

493
Что такое двоичный интерфейс приложения (ABI)?

Я никогда не понимал, что такое ABI. Пожалуйста, не указывайте мне статью в Википедии. Если бы я мог это понять, я бы не стал публиковать такие длинные сообщения. Это мое мышление о различных интерфейсах: Пульт дистанционного управления - это интерфейс между пользователем и телевизором. Это...

417
Как работает процесс компиляции / компоновки?

Как работает процесс компиляции и компоновки? (Примечание. Предполагается, что это будет вход в FAQ по C ++ в Stack Overflow . Если вы хотите критиковать идею предоставления FAQ в этой форме, то публикация в meta, с которой все это началось, будет подходящим местом для этого. Этот вопрос...

284
Скомпилированные и интерпретированные языки

Я пытаюсь лучше понять разницу. В Интернете я нашел много объяснений, но они имеют тенденцию к абстрактным различиям, а не к практическим последствиям. Большая часть моего опыта программирования была с CPython (динамический, интерпретируемый) и Java (статический, скомпилированный). Однако я...

276
Почему Java переключается на непрерывные целочисленные объекты, кажется, работает быстрее с добавленными случаями?

Я работаю над некоторым Java-кодом, который должен быть сильно оптимизирован, так как он будет работать в горячих функциях, которые вызываются во многих точках моей основной логики программы. Часть этого кода включает в себя умножение doubleпеременных 10на произвольные неотрицательные int...

238
Clang против GCC - который производит лучшие двоичные файлы? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 3 года назад . Улучшить этот вопрос Я в настоящее время использую GCC, но я недавно...

217
Как Go компилируется так быстро?

Я гуглил и ковырялся на сайте Go, но, похоже, не могу найти объяснения необыкновенному времени сборки Go. Являются ли они продуктами языковых возможностей (или их отсутствием), высоко оптимизированным компилятором или чем-то еще? Я не пытаюсь продвигать Go; Мне просто...

211
Не удалось загрузить файл или сборку… Неверный параметр

Недавно я встретил следующее исключение в решении C #: Ошибка 2 Не удалось загрузить файл или сборку 'Newtonsoft.Json, версия = 3.5.0.0, Culture = нейтральный, PublicKeyToken = b9a188c8922137c6' или одну из ее зависимостей. Неверный параметр. (Исключение из HRESULT: 0x80070057 (E_INVALIDARG)) Это...

204
Написание компилятора на своем родном языке

Интуитивно кажется, что компилятор языка Fooсам по себе не может быть написан на Foo. Более конкретно, первый компилятор для языка Fooне может быть написан на Foo, но любой последующий компилятор может быть написан для Foo. Но так ли это на самом деле? У меня есть очень смутные воспоминания о...

193
Чтение GHC Core

Ядро является промежуточным языком GHC. Чтение Core может помочь вам лучше понять производительность вашей программы. Кто-то попросил у меня документацию или учебные пособия по чтению Core, но я не мог найти много. Какая документация доступна для чтения GHC Core? Вот что я нашел до сих пор: Пишите...

186
Как GCC и G ++ загружаются?

Это беспокоило меня некоторое время. Как GCC и G ++ компилируются сами? Я предполагаю, что каждая ревизия компилируется с ранее созданной ревизией. Это правда? И если это так, значит ли это, что самые старые версии g ++ и GCC были написаны на...

180
Где хранятся статические переменные в C и C ++?

В каком сегменте (.BSS, .DATA и т. Д.) Исполняемого файла хранятся статические переменные, чтобы избежать конфликта имен? Например: foo.c: bar.c: static int foo = 1; static int foo = 10; void fooTest() { void barTest() { static int bar = 2; static int bar = 20; foo++; foo++; bar++; bar++;...

174
Компиляция с g ++ с использованием нескольких ядер

Быстрый вопрос: что такое флаг компилятора, позволяющий g ++ порождать несколько экземпляров самого себя, чтобы быстрее компилировать большие проекты (например, 4 исходных файла за один раз для многоядерного...

168
Как компилятор C # обнаруживает типы COM?

РЕДАКТИРОВАТЬ: я написал результаты в виде сообщения в блоге . Компилятор C # обрабатывает COM-типы магическим образом. Например, это утверждение выглядит нормально ... Word.Application app = new Word.Application(); ... пока не поймешь, что Applicationэто интерфейс. Вызов конструктора для...

168
Разобрать файл .py, прочитать AST, изменить его, а затем записать измененный исходный код

Я хочу программно редактировать исходный код Python. По сути, я хочу прочитать .pyфайл, сгенерировать AST , а затем записать обратно измененный исходный код Python (т. Е. Другой .pyфайл). Существуют способы синтаксического анализа / компиляции исходного кода Python с использованием стандартных...

166
Как был написан первый компилятор?

Я слышал о курице, яйце и начальной загрузке. У меня есть несколько вопросов. Что написал первый компилятор, который преобразовал что-то в двоичные инструкции? Сборка скомпилирована или переведена в двоичные инструкции? ... Мне было бы трудно поверить, что они написали компилятор в двоичном...