Подтвердить что ты не робот

Objective-c основная процедура, что такое: int argc, const char * argv []

Какие аргументы передаются в основной метод командной строки:

int main(int argc, const char * argv[])

что такое первое значение int?

И что такое второй параметр, это массив символов?

Как использовать их?

Кроме того, какое практическое применение является типом проекта командной строки, кроме использования его для изучения obj-c, например, для практики.

4b9b3361

Ответ 1

argc означает "счет аргумента". Это означает, сколько аргументов передается в исполняемый файл. argv означает "значения аргумента". Это указатель на массив символов. Или подумать об этом по-другому, это массив строк C (так как строки C - это просто массивы символов).

Итак, если у вас есть программа "foo" и выполните ее следующим образом:

foo -bar baz -theAnswer 42

Затем в вашей функции main() argc будет 5, а argv будет:

argv[0] = "/full/path/to/foo";
argv[1] = "-bar";
argv[2] = "baz";
argv[3] = "-theAnswer";
argv[4] = "42";

Ответ 2

Параметры main() - это соглашение unix для доступа к аргументам, указанным в командной строке при выполнении вашей программы. В приложении Cocoa вы можете получить к ним простой простой способ C, или вы можете использовать метод NSProcessInfo - arguments, чтобы получить их в объектах NSArray из NSString или использовать NSUserDefaults для получения их как значения в словаре.

Ответ 3

Просто чтобы добавить к другим ответам - Objective-C предназначается как для OS X, так и для iOS. И хотя в приложениях командной строки iOS не так много, оболочка на OS X по-прежнему широко используется, и многие люди пишут инструменты командной строки.

Ответ 4

Эта основная функция от C и не относится к objective-c. Argc дает вам количество аргументов командной строки, переданных вашей программе на C. Argv - это массив строк C и содержит аргументы командной строки.

Вы использовали бы их и проект командной строки в любое время, когда захотите написать инструмент командной строки или программу, с которой вы взаимодействуете из командной строки.

Ответ 5

Как wikipedia (и любой другой источник говорит):

int main(void)

int main(int argc, char *argv[])

Параметры argc, аргумент count и argv, вектор аргументов, соответственно дают число и значение аргументов командной строки программы. Именами argc и argv может быть любой допустимый идентификатор в C, но общепринятым является использование этих имен. В С++ имена должны быть взяты буквально, а "void" в списке параметров следует опустить, если требуется строгое соответствие. Другие форматы, зависящие от платформы, также допускаются стандартами C и С++, за исключением того, что в С++ возвращаемый тип должен оставаться int; например, Unix (хотя и не POSIX.1) и Microsoft Windows имеют третий аргумент, предоставляющий программную среду, в противном случае доступный через getenv в stdlib.h:

int main(int argc, char **argv, char **envp)

Ответ 6

Кроме того, какое практическое применение является типом проекта командной строки, кроме использования его для изучения obj-c, например, для практики.

Практическое использование - это создание инструмента командной строки с использованием кода из созданной вами Framework или Application. Помощники, утилиты, агенты запуска и демоны, все эти фоновые процессы обычно реализуются как инструменты командной строки.