2013-04-09 2 views
-1

Недавно я познакомился с книгой Джона Левина «Линкеры и погрузчики». Эта книга была написана в 2000 году. Если кто-то прочитал свою книгу, то все, что автор говорит, все еще актуально для Objective-C в 2013 году? Я спрашиваю, потому что это выглядит как хорошая книга на моей полке, но если информация устарела, я, вероятно, не хочу действительно изучать книгу.Линкеры и погрузчики для объектива-C

Спасибо!

+0

Я не знаю, я его не читал. Есть конкретный вопрос? – nneonneo

+0

Я уверен, что он не будет покрывать ARC –

+0

У меня действительно нет конкретного вопроса. Я просто хочу понять, как работают линкеры и/или загрузчики в целом. Я пытаюсь понять подробно, как работают переменные и указатели, которые я прочитал, что-то связано с таблицами символов, которые связаны с тем, как работают компоновщики и компиляторы ... поэтому я до сих пор читал. –

ответ

0

Да & нет ...

Я не знаю, что конкретные книги, но если бы это было уточненный в 2000 году, то этот материал в нем по-прежнему должен быть действительным, чтобы узнать о том, как вещи работают под капот.

Тем не менее,, вам не нужно ничего знать о ссылках и загрузке, чтобы понять переменные и указатели.

Также вам не нужно понимать таблицы символов как таковые. Таблица символов - это структура данных, используемая компиляторами для отслеживания переменных во время компиляции в качестве части перевода программного кода, который вы записываете, в инструкции, которые понимает ЦП.

Концепции переменных и указателей в языках программирования представляют собой абстракции понятий местоположения памяти и адресов памяти на уровне ЦП (которые сами по себе в некотором смысле являются абстракциями материала более низкого уровня, заканчивающимися цепями и, если вы достаточно глубокие, электроны! ;-))

Что вы должны искать, это книга на концепциях языка программирования, а не компиляция, связывание и загрузка. Хорошая книга представит переменные и типы, затем композиты, такие как массивы и записи, и в конечном итоге с объектами (которые по сути являются просто переменными, которые вы обнаружите). Типы и переменные объединяются, каждый говорит, как интерпретировать коллекцию бит, которую другой предоставляет где-то, чтобы хранить коллекции бит. Указатель представляет собой значение (набор бит) некоторого типа указателя, так же как целое число является значением некоторого целочисленного типа.

Переменные и указатели не являются сложными понятиями, но их часто неправильно понимают - много вопросов на SO вытекают из недоразумений этих понятий - так что ваш квест хорош, идите и читайте! Извиняюсь, но у меня нет ссылки на руку.

+0

Спасибо за помощь. :) –

1

Учитывая, что ObjC активно используется в качестве изначально скомпилированного языка с конца 80-х (ранее он был в основном сгенерированным предкомпилером языком + временем выполнения) и поддерживал связь/загрузку с тех пор, это тоже будет как это применимо, так как книга может быть на любом языке, полученном из C. С учетом сказанного, скорее всего, в значительной степени трата вашего времени для погружения тоже глубоко в этом соединении/загрузке - это детали, которые заботятся о системе с небольшим количеством [OS X, OpenStep] для конфигурации [iOS] для разработчика.

Конечно, интересное расхождение и глубокое понимание связи/загрузки имеют отношение к любой работе, связанной с целями инструментария компиляции и выполнения.

+0

Спасибо за помощь. :) –