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

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

Обучение написанию компилятора

Предпочтительные языки: C/С++, Java и Ruby. Я ищу несколько полезных книг/учебников о том, как писать собственный компилятор просто для образовательных целей. Я больше всего знаком с C/С++, Java и Ruby, поэтому предпочитаю ресурсы, которые связаны с...
04 авг. '08 в 22:46
15

Почему компиляция С++ занимает так много времени?

Компиляция С++ файла занимает очень много времени по сравнению с С# и Java. Для компиляции файла С++ требуется значительно больше времени, чем для запуска обычного размера Python script. В настоящее время я использую VС++, но это то же самое с любым...
25 нояб. '08 в 18:25
16

Почему это() и super() должны быть первым утверждением в конструкторе?

Java требует, чтобы, если вы вызываете this() или super() в конструкторе, это должно быть первое утверждение. Почему? Например: public class MyClass { public MyClass(int x) {} } public class MySubClass extends MyClass { public MySubClass(i...
22 июл. '09 в 21:25
18

Что делает компилятор точно в срок (JIT)?

Что делает компилятор JIT специально, в отличие от компилятора, отличного от JIT? Может ли кто-нибудь дать краткое и легкое для понимания описание?
18 сент. '08 в 18:52
15

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

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

Легче ли оптимизировать Fortran, чем C для тяжелых вычислений?

Время от времени я читал, что Fortran является или может быть быстрее, чем C для тяжелых вычислений. Это действительно так? Должен признать, что я почти не знаю Fortran, но код Fortran, который я видел до сих пор, не показывал, что язык имеет функции...
28 сент. '08 в 16:02
18

Предупреждение: обнаружены конфликты между различными версиями одной и той же зависимой сборки

В настоящее время я разрабатываю приложение .NET, которое состоит из 20 проектов. Некоторые из этих проектов скомпилированы с использованием .NET 3.5, некоторые из них все еще являются проектами .NET 2.0 (до сих пор не проблема). Проблема в том, что...
20 авг. '08 в 12:00
10

Как работают вероятные/маловероятные макросы в ядре Linux и в чем их выгода?

Я копал некоторые части ядра Linux и нашел такие вызовы: if (unlikely(fd < 0)) { /* Do something */ } или if (likely(!err)) { /* Do something */ } Я нашел определение их: #define likely(x) __builtin_expect((x),1) #define unlik...
20 сент. '08 в 23:04
5

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

Как работает процесс компиляции и компоновки? <суб > (Примечание: это означает запись в Часто задаваемые вопросы о переполнении стека С++. Если вы хотите критиковать идею предоставления FAQ в этой форме, тогда публикация на мета, которая нача...
07 июн. '11 в 11:04
5

Как работает __attribute __ ((конструктор))?

Кажется довольно ясным, что предполагается, что все будет сделано. Когда он выполняется, Почему существуют две круглые скобки? Является ли __attribute__ функцией? Макрос? Синтаксис? Это работает в C? С++? Работает ли функция, с которой она раб...
12 янв. '10 в 22:43
12

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

Я пытаюсь лучше понять разницу. Я нашел много объяснений в Интернете, но они имеют тенденцию к абстрактным различиям, а не к практическим последствиям. Большая часть моих опытов программирования была связана с CPython (динамическая, интерпретируемая...
16 июл. '10 в 13:35
4

Почему Java-переключатель на непрерывных ints работает быстрее с добавленными случаями?

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

Будет ли # RELEASE работать, как #if DEBUG делает в С#?

Во всех примерах, которые я видел в директиве компилятора #if, они используют "DEBUG". Можно ли использовать "RELEASE" таким же образом, чтобы исключить код, который я не хочу запускать при компиляции в режиме отладки? Код, который я хочу окружить эт...
03 февр. '09 в 15:58
9

Как избежать .pyc файлов?

Можно ли запустить интерпретатор python без генерации скомпилированных файлов .pyc?
30 сент. '08 в 18:55
5

предупреждение компиляции: нет правила для обработки файла для архитектуры i386

Как я могу устранить это предупреждение? Предупреждение [ПРЕДУПРЕЖДЕНИЕ]: нет правила для обработки файла '$ (PROJECT_DIR)/MyApp/MessageCell.h' типа sourcecode.objj.h для архитектуры i386
28 июн. '11 в 16:12