Запитання з тегом «compiler»

Компілятор - це комп'ютерна програма, яка перетворює вихідний код, написаний однією мовою програмування, на іншу мову комп'ютера.

5
Як написати дуже базовий компілятор
Удосконалені компілятори, як gccкомпілюють коди в машиночитані файли відповідно до мови, якою написано код (наприклад, C, C ++ тощо). Насправді вони інтерпретують значення кожного коду відповідно до бібліотеки та функцій відповідних мов. Виправте мене, якщо я помиляюся. Я хочу краще зрозуміти компілятори, написавши дуже базовий компілятор (можливо, на C) для …
214 c  compiler  compilation  gcc 

10
Чи компілятор Кена Томпсона все ще є загрозою?
Кен Томпсон Хак (1984) Кен Томпсон окреслив метод пошкодження бінарного компілятора (та іншого компільованого програмного забезпечення, як скрипт входу в системі * nix) у 1984 році. Мені було цікаво дізнатися, чи вирішила сучасна компіляція цей недолік безпеки чи ні. Короткий опис: Перепишіть код компілятора, щоб він містив 2 недоліки: При …
156 linux  unix  compiler  hacking 

5
Чому Java взагалі не має оптимізації для хвостової рекурсії?
З того, що я прочитав: Причина полягає в тому, що не просто визначити, який метод насправді буде називатися так, як ми маємо спадщину. Однак чому Java принаймні не має оптимізацію хвостових рекурсій для статичних методів і не застосовує належний спосіб викликати статичні методи за допомогою компілятора? Чому Java взагалі не …

12
Чи варто використовувати генератор парсера чи слід накладати власний спеціальний лексер та код парсера?
Які конкретні переваги та недоліки кожного способу роботи над граматикою мови програмування? Чому / коли я повинен катати свою? Чому / коли я повинен використовувати генератор?

6
Яким чином відбувається вивезення сміття мовами, які складаються на місцях?
Після перегляду декількох відповідей на переповнення стека, зрозуміло, що деякі натільно складені мови мають збір сміття . Але мені незрозуміло, як саме це працювало б. Я розумію, як збирання сміття могло працювати з інтерпретованою мовою. Збірник сміття просто працює поруч з інтерпретатором і видаляє невикористані та недоступні об'єкти із пам'яті …

11
Чому саме програмне забезпечення ОС?
Я намагаюся визначити технічні деталі, чому програмне забезпечення, яке виробляється на мовах програмування для певних операційних систем, працює лише з ними. Наскільки я розумію, що двійкові файли є специфічними для певних процесорів завдяки специфічній для процесора мовою мови, яку вони розуміють, і різним наборам інструкцій між різними процесорами. Але звідки …

5
Чи інтерпретується або компілюється Python?
Це просто цікаво, що я мав, читаючи про інтерпретовані та складені мови. Ruby , без сумніву, є інтерпретованою мовою, оскільки вихідний код обробляється інтерпретатором на місці виконання. Навпаки, C - це компільована мова, оскільки спершу потрібно скласти вихідний код відповідно до машини, а потім виконати. Це призводить до набагато швидшого …

5
Чому так мало компіляторів С?
C - одна з найбільш широко використовуваних мов у світі. На нього припадає величезна частка існуючого коду і надалі використовується для величезної кількості нового коду. Його улюблені користувачі, він настільки широко перенесений, що можливість запустити C для багатьох - це неофіційне визначення платформи , і його шанувальники оцінюють за те, …

10
Чому перед першим перекладачем був написаний перший упорядник?
Перший упорядник написав Грейс Хоппер у 1952 р., А перекладача Ліспа у 1958 р. Студент Джона Маккарті Стів Рассел. Написання компілятора здається набагато складнішою проблемою, ніж перекладач. Якщо так, чому перший компілятор був написаний за шість років до першого перекладача?

19
Наскільки компілятори такі надійні?
Ми щодня використовуємо компілятори так, ніби їх правильність задана, але компілятори - це також програми, які потенційно можуть містити помилки. Мені завжди було цікаво про цю непогрішну стійкість. Ви коли-небудь стикалися з помилкою в самому компіляторі? Що це було і як ви зрозуміли, що проблема була в самому компіляторі? ... …

10
Чи погана практика використовувати компілятор C ++ лише для перевантаження функцій?
Тому я працюю над розробкою програмного забезпечення, використовуючи C для певного процесора. Набір інструментів включає можливість компілювати як C, так і C ++. Для того, що я роблю, у цьому середовищі немає динамічного розподілу пам’яті, а програма загалом досить проста. Не кажучи вже про те, що у пристрою майже немає …

14
Чи можемо ми зробити загальні твердження про ефективність інтерпретованого коду та складеного коду?
Я порівнюю дві технології для того, щоб досягти рекомендації, яку слід використовувати в компанії. Код технології A інтерпретується в той час, як код технології B складається з машинного коду. У своєму порівнянні я констатую, що технологія B в цілому матиме кращі показники, оскільки не має додаткових витрат на процес інтерпретації. …

8
Як ми можемо бути впевнені, що нижні компоненти комп’ютерного програмування, такі як компілятори, асемблери, інструкції з машин тощо, є бездоганними?
Оскільки ми все більше і більше покладаємось на обчислення, включаючи дуже критичні завдання щоденного життя, мені було просто цікаво, як перевіряються ці життєво важливі компоненти. Більш технічно, як перевіряються компілятори та збирачі? (Я вважаю, що це стосується проблеми зупинки !!)

9
Чи компілятори Intel справді краще, ніж Microsoft? [зачинено]
Роки тому я був здивований, коли виявив, що Intel продає компілятори, сумісні з Visual Studio. Я спробував це, зокрема, для C / C ++, а також фантастичних засобів діагностики. Але код просто не був таким обчислювально інтенсивним, щоб помітити різницю. Єдине враження було: чи справді Intel це зробив для мене …
56 compiler 

5
Що означає "без контексту" в терміні "без контекстної граматики"?
З огляду на кількість матеріалу, який намагається пояснити, що таке без контексту граматика (CFG), я вважаю, що дивно, що дуже мало (у моїй вибірці менше 1 на 20) дають пояснення, чому такі граматики називаються "контекстними, безкоштовно ". І, на мій погляд, нікому це не вдається. Моє запитання: чому без контексту …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.