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

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

16
Где хранятся статические переменные в 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++; …

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

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

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

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

8
Более эффективно использовать if-return-return или if-else-return?
Предположим, у меня есть ifутверждение с return. С точки зрения эффективности, следует ли мне использовать if(A > B): return A+1 return A-1 или if(A > B): return A+1 else: return A-1 Что лучше выбрать при использовании компилируемого языка (C) или скриптового (Python)?

3
На каком языке написан компилятор C #?
Я посмотрел на исходный код по адресу http://referencesource.microsoft.com/ , и оказалось, что весь исходный код находится на C #. Я также рассмотрел исходный код для новой платформы компилятора C # ( Roslyn ), и он также находится в C #. Как это возможно? Компилятор языка C # написан на C …

2
В чем разница между Слэй против Карлика против Сеха?
Я не могу найти достаточно информации, чтобы решить, какой компилятор мне использовать для компиляции моего проекта. На разных компьютерах есть несколько программ, имитирующих процесс. В Linux я использую GCC. Все отлично. Я могу оптимизировать код, он быстро компилируется и использует не так много памяти. Я делаю свой собственный тест с …


1
TargetedPatchingOptOut: «Производительность критична для встраивания через границы изображений NGen»?
Я просмотрел некоторые классы фреймворка с использованием отражателя и заметил, что некоторые методы и свойства имеют следующий атрибут [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")] Я почти уверен, что видел вышеупомянутый комментарий где-то еще и никогда не следил за ним. Не мог бы кто-нибудь сказать мне, что это означает …


9
Может ли рекурсивная функция быть встроенной?
inline int factorial(int n) { if(!n) return 1; else return n*factorial(n-1); } Когда я читал это , обнаружил, что приведенный выше код приведет к «бесконечной компиляции», если не будет правильно обработан компилятором. Как компилятор решает, встроить функцию или нет?

4
ошибка: записываемое атомарное свойство не может соединить синтезированный сеттер / получатель с определенным пользователем сеттером / получателем
Недавно я попытался скомпилировать более старый проект Xcode (который раньше прекрасно компилировался), и теперь я вижу много ошибок этой формы: error: writable atomic property 'someProperty' cannot pair a synthesized setter/getter with a user defined setter/getter Шаблон кода, вызывающий эти ошибки, всегда выглядит следующим образом: // Interface: @property (retain) NSObject * …

22
Компилятор C для Windows? [закрыто]
В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, …

13
Как заставить компилятор C #, C ++ или Java вычислять 1 + 2 + 3 +… + 1000 во время компиляции?
В недавнем интервью мне задали действительно странный вопрос. Интервьюер спросил меня, как я могу вычислить 1 + 2 + 3 + ... + 1000, просто используя функции компилятора. Это означает, что мне не разрешено писать программу и выполнять ее, но я должен просто написать программу, которая могла бы заставить компилятор …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.