main cpp что это

Функция main и выполнение программ

Все программы, написанные на языке C, содержат основную функцию, которая должна иметь имя main. Если код соответствует модели программирования Юникода, можно использовать версию функции main для многобайтовых символов с именем wmain. Функция main является начальной точкой для выполнения программы. Она обычно управляет выполнением программы, вызывая другие ее функции. Как правило, выполнение программы завершается в конце функции main, но по разным причинам это может случиться и в других местах программы. Иногда (возможно, при обнаружении некоторой ошибки) может потребоваться принудительно завершить программу. Для этого используйте функцию exit. Сведения о функции exit и пример ее использования см. в Справочнике по библиотеке времени выполнения.

Синтаксис

Примечания

Функции в исходном коде программы выполняют одну или несколько конкретных задач. Функция main может вызывать эти функции для выполнения соответствующих задач. Когда функция main вызывает другую функцию, она передает ей управление выполнением, и работа программы продолжается с первого оператора вызываемой функции. Функция возвращает управление в Main при выполнении инструкции или при достижении конца функции.

Описание версии main для расширенных символов см. в статье Использование wmain.

Источник

Основы языка программирования C++

Структура программы

Инструкции

Программа на С++ состоит из набора инструкций. Каждая инструкция (statement) выполняет определенное действие. В конце инструкции в языке C++ ставится точка с запятой (;). Данный знак указывает компилятору на завершение инструкции. Например:

Данная строка выводит на консоль строку «Hello world!», является инструкцией и поэтому завершается точкой с запятой.

Набор инструкций может представлять блок кода. Блок кода заключается в фигурные скобки, а инструкции помещаются между открывающей и закрывающей фигурными скобками:

В этом блоке кода две инструкции, которые выводят на консоль определенную строку.

Функция main

Функция также является блоком кода, поэтому ее тело обрамляется фигурными скобками, между которыми определяется набор инструкций.

В частности, при создании первой программы использовалась следующая функция main:

И после списка параметров идет блок кода, который и содержит в виде инструкций собственно те действия, выполняемые функцией main.

Директивы препроцессора

Комментарии

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

В языке C++ есть два типа комментариев: однострочный и многострочный. Однострочный комментарий размещается на одной строке после двойного слеша //:

Источник

аргументы Main-Function-и-Command-Line-«> main функции и аргументов командной строки

main Функция не имеет объявления, так как она встроена в язык. Если это так, синтаксис объявления для main будет выглядеть следующим образом:

Стандартные аргументы командной строки

Аргументы для main обеспечения удобного анализа аргументов в командной строке. Типы для параметров argc и argv определяются языком. Имена argc и argv являются традиционными, но их можно называть по своему усмотрению.

Используются следующие определения аргументов.

Сведения о подавлении обработки в командной строке см. в разделе Настройка обработки командной строки C++.

Расширения, относящиеся к Microsoft

В следующих разделах описывается поведение, характерное для Майкрософт.

Читайте также:  присоединение крыма при каком царе

Как расширение Майкрософт, main w main функции и могут быть объявлены как возвращаемые void (без возвращаемого значения). Это расширение также доступно в некоторых других компиляторах, но его использование не рекомендуется. Он доступен для симметрии, если main не возвращает значение.

main w main Сигнатуры или позволяют дополнительному расширению для доступа к переменным среды, относящимся к Microsoft. это расширение также распространено в других компиляторах для Windows и UNIX систем. Имя envp является традиционным, но вы можете присвоить параметру среды любое имя. Ниже приведены эффективные объявления для списков аргументов, включающих параметр среды:

Main «>примеры аргументов main

В следующем примере показано, как использовать argc аргументы, argv и envp в следующих main случаях:

Анализ аргументов командной строки C++

Правила синтаксического анализа командной строки, используемые кодом Microsoft C/C++, специфичны для Microsoft. Код запуска среды выполнения использует эти правила при интерпретации аргументов, заданных в командной строке операционной системы:

Аргументы разделяются пробелами (пробел или табуляция).

Строка, заключенная в двойные кавычки, интерпретируется как один аргумент, который может содержать пробелы в char актерс. Строку в кавычках можно встроить в аргумент. Курсор ( ^ ) не распознается как escape- char актер или разделитель. Внутри заключенной в кавычки строки пара двойных кавычек интерпретируется как одна экранированная двойная кавычка. Если командная строка заканчивается до тех пор, пока не будет найдена закрывающая двойная кавычка, то все char прочитанные актерс будут выводиться в качестве последнего аргумента.

Символ двойной кавычки после обратной косой черты ( ) интерпретируется как литеральный символ двойной кавычки ( « ).

Символы обратной косой черты считаются литералами, если сразу за ними не стоит двойная кавычка.

Если двойная кавычка стоит после четного числа символов обратной косой черты, в массив argv помещается по одному символу обратной косой черты ( \ ) для каждой пары символов обратной косой черты ( \\ ), а сама двойная кавычка ( « ) интерпретируется как разделитель строк.

Пример синтаксического анализа аргументов командной строки

В следующем примере программы показана передача аргументов командной строки:

Результаты синтаксического анализа командных строк

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

Входные данные командной строки argv [1] argv [2] argv 3-5
«abc» d e abc d e
a\\b d»e f»g h a\\b de fg h
a\\\»b c d a\»b c d
a\\\\»b c» d e a\\b c d e
a»b»» c d ab» c d

Развертывание подстановочных знаков

Кроме того, компилятор Майкрософт позволяет использовать подстановочныйзнак актерс, вопросительный знак ( ? ) и звездочку ( * ), чтобы указать аргументы filename и Path в командной строке.

Дополнительные сведения о параметрах компоновщика для запуска среды выполнения см. в статье Параметры ссылок.

Настройка обработки командной строки C++

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

Источник

main function and command-line arguments

The main function signature

The main function doesn’t have a declaration, because it’s built into the language. If it did, the declaration syntax for main would look like this:

Standard command-line arguments

The arguments for main allow convenient command-line parsing of arguments. The types for argc and argv are defined by the language. The names argc and argv are traditional, but you can name them whatever you like.

The argument definitions are as follows:

argc
An integer that contains the count of arguments that follow in argv. The argc parameter is always greater than or equal to 1.

For information on how to suppress command-line processing, see Customize C++ command-line processing.

Microsoft-specific extensions

The following sections describe Microsoft-specific behavior.

The wmain function and _tmain macro

Returning void from main

As a Microsoft extension, the main and wmain functions can be declared as returning void (no return value). This extension is also available in some other compilers, but its use isn’t recommended. It’s available for symmetry when main doesn’t return a value.

The envp command-line argument

The main or wmain signatures allow an optional Microsoft-specific extension for access to environment variables. This extension is also common in other compilers for Windows and UNIX systems. The name envp is traditional, but you can name the environment parameter whatever you like. Here are the effective declarations for the argument lists that include the environment parameter:

Example arguments to main

Parsing C++ command-line arguments

The command line parsing rules used by Microsoft C/C++ code are Microsoft-specific. The runtime startup code uses these rules when interpreting arguments given on the operating system command line:

Arguments are delimited by white space, which is either a space or a tab.

The first argument ( argv[0] ) is treated specially. It represents the program name. Because it must be a valid pathname, parts surrounded by double quote marks ( « ) are allowed. The double quote marks aren’t included in the argv[0] output. The parts surrounded by double quote marks prevent interpretation of a space or tab character as the end of the argument. The later rules in this list don’t apply.

A string surrounded by double quote marks is interpreted as a single argument, which may contain white-space characters. A quoted string can be embedded in an argument. The caret ( ^ ) isn’t recognized as an escape character or delimiter. Within a quoted string, a pair of double quote marks is interpreted as a single escaped double quote mark. If the command line ends before a closing double quote mark is found, then all the characters read so far are output as the last argument.

A double quote mark preceded by a backslash ( ) is interpreted as a literal double quote mark ( « ).

Backslashes are interpreted literally, unless they immediately precede a double quote mark.

If an even number of backslashes is followed by a double quote mark, then one backslash ( \ ) is placed in the argv array for every pair of backslashes ( \\ ), and the double quote mark ( « ) is interpreted as a string delimiter.

Example of command-line argument parsing

The following program demonstrates how command-line arguments are passed:

Results of parsing command lines

The following table shows example input and expected output, demonstrating the rules in the preceding list.

Command-line input argv[1] argv[2] argv[3]
«abc» d e abc d e
a\\b d»e f»g h a\\b de fg h
a\\\»b c d a\»b c d
a\\\\»b c» d e a\\b c d e
a»b»» c d ab» c d

Wildcard expansion

The Microsoft compiler optionally allows you to use wildcard characters, the question mark ( ? ) and asterisk ( * ), to specify filename and path arguments on the command line.

Command-line arguments are handled by an internal routine in the runtime startup code, which by default doesn’t expand wildcards into separate strings in the argv string array. You can enable wildcard expansion by including the setargv.obj file ( wsetargv.obj file for wmain ) in your /link compiler options or your LINK command line.

For more information on runtime startup linker options, see Link options.

Customize C++ command-line processing

If your program doesn’t take command-line arguments, you can suppress the command-line processing routine to save a small amount of space. To suppress its use, include the noarg.obj file (for both main and wmain ) in your /link compiler options or your LINK command line.

Similarly, if you never access the environment table through the envp argument, you can suppress the internal environment-processing routine. To suppress its use, include the noenv.obj file (for both main and wmain ) in your /link compiler options or your LINK command line.

Your program might make calls to the spawn or exec family of routines in the C runtime library. If it does, you shouldn’t suppress the environment-processing routine, since it’s used to pass an environment from the parent process to the child process.

Источник

CPP – Исходный код C++ (C++ Source Code File)

Расширение CPP

Чем открыть файл CPP

В Windows: Microsoft Visual Studio, Eclipse IDE for C/C++ Developers, Code::Blocks, Embarcadero Technologies C++ Builder, ES-Computing EditPlus, BloodshedSoftware Dev-C++, PSPad, CodeWarrior Development Studio, Microsoft Windows NotePad, текстовый редактор NotePad++, Nvu, Adobe ExtendScript
В Mac OS: Apple Xcode, Code::Blocks, Eclipse IDE for C/C++ Developers, GNU project C and C++ compiler (GCC), MacroMates TextMate, Freescale CodeWarrior Development Tools, TextEdit
В Linux: Eclipse IDE for C/C++ Developers, Code::Blocks, GNU project C and C++ compiler (GCC), gedit, GNU Emacs

Описание расширения CPP

Популярность:

Расширение CPP – это исходный код файла, написанного на C++, популярном языке программирования, который добавляет функциональность, такую как объектно-ориентированное программирование на C; может быть отдельной программой или одним из многих файлов в проекте, должен быть скомпилированным с помощью компилятора C++ для необходимой ОС перед работой.

CPP файлы чаще всего редактируются программами, которые обеспечивают подсветку синтаксиса. Но вы можете открыть CPP файлы с помощью любого текстового редактора, но чаще всего используются программы, которые обеспечивают подсветку синтаксиса, автозаполнение и другие полезные инструменты.

Источник

Читайте также:  что делает кондуктор грузовых поездов
Сказочный портал