Я пытаюсь понять, что на самом деле происходит во время компиляции и времени выполнения с импортированными файлами.Включает ли Objective-C весь #imported файл?
Директива #import "file.h"
по существу копирует и вставляет весь file.m
в текущий файл? Или он просто указывает местоположение этого файла и создает необходимые атрибуты по мере их создания?
отредактирована для правильной грамматики. Теперь, как компилятор загружает 'methodFromFile'? Спрашивает ли он определение и когда оно создается при вызове или было ли оно уже в памяти с момента объявления объявления #import_directive_? – user
@ 123 Я этого не понимаю. Компилятор делает не что иное, как принимать файлы, которые вы его кормите, и генерирует из него машинный код. (Более конкретно, и объектный файл генерируется из файлов '.m' и' .c', содержащих фактический код. Файлы '.h', которые содержат только объявления и определения типов, не приводят к выполнению кода.) Затем компоновщик принимает объектные файлы и делает из них исполняемый файл. Но это более позднее и совершенно другое состояние, достигнутое строго после фазы предварительной обработки. – 2013-04-28 04:36:59