В чем разница между импортом файла заголовка в пределах "" и в пределах <>?#import "test.h" Vs #import <test.h>
Как #import "test.h
"Vs #import <test.h>
В чем разница между импортом файла заголовка в пределах "" и в пределах <>?#import "test.h" Vs #import <test.h>
Как #import "test.h
"Vs #import <test.h>
Это изменит путь поиска файла. Использование <> указывает компилятору просмотреть системный путь для правильного файла/фреймворка, в то время как «" сообщает компилятору, что путь относится к текущему файлу.
Например, #import <path/to/file.h>
будет просматривать системные пути для файла test.h. Пути включают/usr/include и/System/Library/Frameworks, где первый компонент пути рассматривается как среда для начала. Пример поиска путей: /usr/include/path/to/file.h
и /System/Library/Frameworks/path.framework/Headers/to/file.h
. #import "path/to/file.h"
будет искать только текущую папку, следуя пути поиска файла, что означает поиск только ./path/to/file.h
.
" является для местных достопримечательностей, то .h является частью вашего приложения. < для системы include, .h является частью установленной библиотеки.
«» для местных достопримечательностей, а <> для глобальных включают
для получения дополнительной информации посетите эту страницу
http://msdn.microsoft.com/en-us/library/36k2cdd4%28VS.80%29.aspx
Хотя технически это уместно, трудно сказать, насколько это полезно для разработчика iOS, где флаги компилятора отличаются от тех, которые указывается в документе Microsoft. –
Я собираюсь сказать, что это самое близкое к правильному, хотя вы слишком ограничивали свой ответ, ссылаясь только на рамки Фонда. Угловые скобки собирают файлы в любых рамках, включенных в проект, включая созданные пользователем фреймворки. –
@ Kendall Я ничего не сказал * ничего о структуре Фонда. Тот, который я использовал в моем примере, представляет собой созданную структуру с именем path. – ughoavgfhw
Хм, я вижу, я прочитал Систему/Библиотеку/Рамки как указание на Фонд. Однако эта часть не совсем правильная, потому что на самом деле путь указывает только на каталог Include включенных фреймворков, а не/System/Library/Frameworks в целом. –