compiler-construction- все статьи тега
Как запустить проект Codeblocks из внешнего кода и Makefile?
У меня есть код C++, который зависит от boost и других библиотек, и поэтому этот код имеет makefile, который вызывает boost. Сейчас я пытаюсь начать разработку этого кода в codeblocks в linux, поэтому для этого у меня есть два основных вопроса: (1)Как я могу импортировать код в codeblocks как новый проект codeblocks? Это, кажется, хороший rec: http://www.programmingforums.org/thread44976.html (2) Как вызвать makefile с помощью codeblocks вместо того, чтобы codeblocks пытались скомпилирова ...
Что делает JIT-компилятор?
Я просто смотрел видео Google IO, и они говорили о компиляторе JIT, который они включили в android. Они показали демонстрацию улучшений производительности благодаря JIT-компилятору. Я задавался вопросом, что именно делает JIT-компилятор, и хотел услышать от разных людей. Итак, в чем заключается обязанность JIT-компилятора? ...
На каком языке написан компилятор C#?
Я посмотрел на исходный код в http://referencesource.microsoft.com/, и похоже, что весь исходный код находится в C#. Я также посмотрел исходный код для новой платформы компилятора C# (Roslyn ), и он также находится в C#. Как такое возможно? Написан ли компилятор языка C# на языке C#? Или я упускаю что-то очевидное? Если компилятор C# написан на языке C#, то как он работает? ...
Условная компиляция в Android?
Существует ли какой-либо вид условной компиляции для Android? Мне пришлось сделать свой проект для Android 3 (API 11) только потому, что ExifInterface практически не имеет полезных атрибутов в Android 2.3 (API 10), несмотря на то, что он появился в API 5 (!!??). Я не хочу ограничивать свое приложение пользователями ICS. Спасибо! ...
Генерирует ли JVM байт-код или запускает байт-код?
Я немного запутался здесь, представляет ли JVM байт-код (генерирует его) или это просто он загружает скомпилированный .файлы классов (байт-код) в памяти?! или JVM - это просто спецификации для запуска байт-кода независимым от платформы способом?! Большое спасибо!. ...
Типы UInt32 и UInt64 не могут быть выведены из использования при использовании вместе с типом Int32 в универсальном методе
Изначально я столкнулся с этой проблемой, когда тестировал свой код с UnitTest framework с помощью Assert.Равнозначные методы. Я заметил, что для типов UInt32 и UInt64 была выбрана разная перегрузка AreEqual (AreEqual(object, object) вместо AreEqual(T, T)). Я провел небольшое исследование и получил следующий простой код: public struct MyInteger { public SByte SByte { get; set; } public Byte Byte { get; set; } public UInt16 UInt16 { get; set; } public UInt32 UInt32 { get; set; } ...
Переменная C++ имеет инициализатор, но неполный тип?
Я пытаюсь скомпилировать 2 класса В C++ с помощью следующей команды: g++ Cat.cpp Cat_main.cpp -o Cat Но я получаю следующую ошибку: Cat_main.cpp:10:10: error: variable ‘Cat Joey’ has initializer but incomplete type Может ли кто-нибудь объяснить мне, что это значит? Мои файлы в основном создают класс (Cat.cpp) и экземпляр (Cat_main.cpp). Вот мой исходный код: Кот.cpp: #include <iostream> #include <string> class Cat; using namespace std; int main() { Cat Joey("Joey"); ...
Как работают вероятные/маловероятные макросы в ядре Linux и в чем их преимущество?
я копался в некоторых частях ядра Linux и нашел такие вызовы: if (unlikely(fd < 0)) { /* Do something */ } или if (likely(!err)) { /* Do something */ } Я нашел их определение: #define likely(x) __builtin_expect((x),1) #define unlikely(x) __builtin_expect((x),0) Я знаю, что они для оптимизации, но как они работают? И насколько снижение производительности / размера можно ожидать от их использования? И стоит ли хлопот (и, вероятно, потерять переносимость), по крайней м ...
Как этого избежать.файлы pyc?
могу ли я запустить интерпретатор python без создания скомпилированного .файлы pyc? ...
Будет ли # if RELEASE работать как #if DEBUG в C#?
во всех примерах, которые я видел в директиве компилятора #if, они используют "DEBUG". Могу ли я использовать "RELEASE" таким же образом, чтобы исключить код, который я не хочу запускать при компиляции в режиме отладки? Код, который я хочу окружить этим блоком, отправляет кучу писем, и я не хочу случайно отправлять их при тестировании. ...
Что вызывает java.ленг.IncompatibleClassChangeError?
я упаковываю библиотеку Java как банку, и она бросает много java.lang.IncompatibleClassChangeErrors, когда я пытаюсь вызвать методы из нее. Эти ошибки кажутся случайными. Какие проблемы могут быть причиной этой ошибки? ...
В чем разница между javac и компилятором Eclipse?
является ли компилятор Java Eclipse просто оболочкой вокруг того же ядра, что и javac программа обернута вокруг, или это отдельный компилятор вообще? Если последнее, то зачем им изобретать велосипед? ...
Как компилятор C# обнаруживает типы COM?
EDIT: я написал результаты как блоге. компилятор C# обрабатывает типы COM несколько волшебно. Например, это утверждение выглядит нормально... Word.Application app = new Word.Application(); ... пока ты не поймешь, что Application - это интерфейс. Вызов конструктора на интерфейсе? Yoiks! Это на самом деле переводится в вызов Type.GetTypeFromCLSID() и другое Activator.CreateInstance. кроме того, в C# 4 Вы можете использовать аргументы без ссылок для ref параметры, и компилятор просто добавляе ...
Может ли рекурсивная функция быть встроенной?
inline int factorial(int n) { if(!n) return 1; else return n*factorial(n-1); } Как я читал этой, установлено, что приведенный выше код приведет к "бесконечной компиляции", если не правильно обрабатывается компилятором. как компилятор решает, следует ли встроить функцию или нет ? ...
Проверка типа интерфейса с помощью Typescript
этот вопрос является прямым аналогом проверка типа класса с помощью TypeScript мне нужно выяснить во время выполнения, если переменная типа any реализует интерфейс. Вот мой код: interface A{ member:string; } var a:any={member:"foobar"}; if(a instanceof A) alert(a.member); если вы введете этот код на игровой площадке typescript, последняя строка будет отмечена как ошибка: "имя A не существует в текущей области". Но это не так, имя существует в текущей области. Я даже могу изменить объяв ...
Зачем нам нужен extern " C " {#include} в C++? [дубликат]
этот вопрос уже есть ответ здесь: каков эффект extern "C" в C++? 13 ответов почему мы должны использовать: extern "C" { #include <foo.h> } в частности: когда мы должны использовать его? что происходит в уровень компилятора / компоновщика, который требует от нас его использования? как с точки зрения компиляции / связывания это решает проблемы, которые требуют от нас его использования? ...
Как декомпилировать файл APK или DEX на платформе Android? [закрытый]
можно ли декомпилировать файл APK или DEX на платформе Android? Есть ли какие-либо инструменты, которые могут декомпилировать файл APK? ...
Преобразование PHP-скрипта в автономный исполняемый файл windows
Я хочу автоматизировать довольно простую задачу. Для этого я написал небольшой PHP скрипт, который я запускаю из командной строки с помощью PHP-CLI. Теперь я хочу передать этот скрипт кому-то, но я не хочу: отдай исходный код попросите его установить PHP в системе есть ли способ создать .exe версия PHP скрипта. Я действительно не очень беспокоюсь о де-компиляции; я больше беспокоюсь о том, чтобы просить людей установка и настройка PHP. ...
Eclipse: включение утверждений
Я запускаю Eclipse Galileo. Как включить утверждения в Eclipse? как было предложено другими сайтами, я попытался добавить аргументы:-ea. Я также попытался изменить уровень соответствия компилятора 1.4. Ни одно из этих предложений не работал. ...
Компиляторы создают лучший код для циклов do-while по сравнению с другими типами циклов?
есть комментарий библиотека сжатия zlib (который используется в проекте Chromium среди многих других), что означает, что цикл do-while в C генерирует "лучший" код на большинстве компиляторов. Вот фрагмент кода, где он появляется. do { } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) && *(ushf*)(scan+=2) == *(ushf*)(match+=2) && *(ushf*)(scan+=2) == *(ushf*)(match+=2) && *(ushf*)(scan+=2) == *(ushf*)(match+=2) && scan < stre ...