Запитання з тегом «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
Як був написаний перший укладач?
Я чув про курку і яйце і завантаження. У мене є кілька питань. Що написав перший компілятор, який щось перетворив у двійкові інструкції? Чи складена збірка або переведена у двійкові інструкції? ... Мені буде важко повірити, що вони написали компілятор у двійковій формі.

3
Якою мовою написано компілятор C #?
Я переглянув вихідний код за адресою http://referencesource.microsoft.com/ , і, схоже, весь вихідний код знаходиться в C #. Я також переглянув вихідний код нової платформи компілятора C # ( Roslyn ), і він також знаходиться в C #. Як це можливо? Чи компілятор мови C # написаний на C #? Або …

2
Яка різниця між sjlj vs dwarf vs seh?
Я не можу знайти достатньо інформації, щоб вирішити, який компілятор слід використовувати для складання свого проекту. На різних комп’ютерах є кілька програм, що імітують процес. У Linux я використовую GCC. Все чудово. Я можу оптимізувати код, він швидко збирається та використовує не дуже багато пам'яті. Я роблю власний тест із …

8
Ефективніше використовувати if-return-return чи if-else-return?
Припустимо, у мене є ifзаява з a return. З точки зору ефективності, чи повинен я використовувати? if(A > B): return A+1 return A-1 або if(A > B): return A+1 else: return A-1 Чи слід віддати перевагу тому чи іншому при використанні компільованої мови (C) або сценарію (Python)?


1
Tar targetPatchingOptOut: "Ефективність критична для вбудовування через межі зображення NGen"?
Проходив деякі рамкові класи за допомогою рефлектора та помітив, що ряд методів та властивостей має такий атрибут [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")] Я впевнений, що я також бачив вищезазначений коментар десь ще і ніколи не дотримувався цього. Невже хтось скаже, будь ласка, що це означає у C …


9
Чи може рекурсивна функція бути вбудованою?
inline int factorial(int n) { if(!n) return 1; else return n*factorial(n-1); } Коли я читав це , виявив, що наведений вище код призведе до "нескінченної компіляції", якщо компілятор не обробляється правильно. Як компілятор вирішує, вбудувати функцію чи ні?

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

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.