Исходные файлы программ что это

Содержание

1.6.1. Исходные файлы и объявление переменных

Обычная СИ-программа представляет собой определение функции main, которая для выполнения необходимых действий вызывает другие функции. Приведенные выше примеры программ представляли собой один исходный файл, содержащий все необходимые для выполнения программы функции. Связь между функциями осуществлялась по данным посредством передачи параметров и возврата значений функций. Но компилятор языка СИ позволяет также разбить программу на несколько отдельных частей (исходных файлов), оттранслировать каждую часть отдельно, и затем объединить все части в один выполняемый файл при помощи редактора связей.

При такой структуре исходной программы функции, находящиеся в разных исходных файлах могут использовать глобальные внешние переменные. Все функции в языке Си по определению внешние и всегда доступны из любых файлов. Например, если программа состоит из двух исходных файлов, как показано на рис.2., то функция main может вызывать любую из трех функций fun1, fun2, fun3, а каждая из этих функций может вызывать любую другую.

КАК ДЕКОМПИЛИРОВАТЬ EXE DLL C# | КАК УЗНАТЬ ИСХОДНЫЙ КОД ПРОГРАММЫ | ДЕКОМПИЛЯЦИЯ | C# ПЛЮШКИ

main () < . >fun1()
fun2() < . >fun3()

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

В языке СИ блоком считается последовательность объявлений, определений и операторов, заключенная в фигурные скобки. Существуют два вида блоков -составной оператор и определение функции, состоящее из составного оператора, являющегося телом функции, и предшествующего телу заголовка функции (в который входят имя функции, типы возвращаемого значения и формальных параметров). Блоки могут включать в себя составные операторы, но не определения функций. Внутренний блок называется вложенным, а внешний блок — объемлющим.

Время жизни — это интервал времени выполнения программы, в течение которого программный объект (переменная или функция) существует. Время жизни переменнойможет быть локальным илиглобальным. Переменная с глобальным временем жизни имеет распределенную для нее память и определенное значение на протяжении всего времени выполнения программы, начиная с момента выполнения объявления этой переменной. Переменная с локальным временем жизни имеет распределенную для него память и определенное значение только во время выполнения блока, в котором эта переменная определена или объявлена. При каждом входе в блок для локальной переменной распределяется новая память, которая освобождается при выходе из блока.

Все функции в СИ имеют глобальное время жизни и существуют в течение всего времени выполнения программы.

Многофайловый проект | Изучение С++ для начинающих. Урок #139

Область видимости — это часть текста программы, в которой может быть использован данный объект. Объект считается видимым в блоке или в исходном файле, если в этом блоке или файле известны имя и тип объекта. Объект может быть видимым в пределах блока, исходного файла или во всех исходных файлах, образующих программу. Это зависит от того, на каком уровне объявлен объект: на внутреннем, т.е. внутри некоторого блока, или на внешнем,т.е. вне всех блоков.

Если объект объявлен внутри блока, то он видим в этом блоке, и во всех внутренних блоках. Если объект объявлен на внешнем уровне, то он видим от точки его объявления до конца данного исходного файла.

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

Спецификатор класса памяти в объявлении переменной может быть auto, register, static или extern. Если класс памяти не указан, то он определяется по умолчанию из контекста объявления.

Объекты классов auto и register имеют локальное время жизни. Спецификаторы static и extern определяют объекты с глобальным временем жизни.

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

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

Переменная с классом памяти auto автоматически не инициализируется. Она должна быть проинициализирована явно при объявлении путем присвоения ей начального значения. Значение неинициализированной переменной с классом памяти auto считается неопределенным.

Спецификатор класса памяти register предписывает компиляторураспределить память для переменной в регистре, если это представляется возможным. Использование регистровой памяти обычно приводит к сокращению времени доступа к переменной. Переменная, объявленная с классом памяти register, имеет ту же область видимости, что и переменная auto. Число регистров, которые можно использовать для значений переменных, ограничено возможностями компьютера, и в том случае, если компилятор не имеет в распоряжении свободных регистров, то переменной выделяется память как для класса auto. Класс памяти register может быть указан только для переменных с типом int или указателей с размером, равным размеру int.

Переменные, объявленные на внутреннем уровне со спецификатором класса памяти static, обеспечиваю возможность сохранить значение переменной при выходе из блока и использовать его при повторном входе в блок. Такая переменная имеет глобальное время жизни и область видимости внутри блока, в котором она объявлена. В отличие от переменных с классом auto, память для которых выделяется в стеке, для переменных с классом static память выделяется в сегменте данных, и поэтому их значение сохраняется при выходе из блока.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Пример: /* объявления переменной i на внутреннем уровне с классом памяти static. */ /* исходный файл file1.c */ main() { . } fun1() { static int i=0; . } /* исходный файл file2.c */ fun2() { static int i=0; . } fun3() { static int i=0; . }

Пример: /* объявления переменной i на внутреннем уровне с классом памяти static. */ /* исходный файл file1.c */ main() < . >fun1() < static int i=0; . >/* исходный файл file2.c */ fun2() < static int i=0; . >fun3()

В приведенном примере объявлены три разные переменные с классом памяти static, имеющие одинаковые имена i. Каждая из этих переменных имеет глобальное время жизни, но видима только в том блоке (функции), в которой она объявлена. Эти переменные можно использовать для подсчета числа обращений к каждой
из трех функций.

Читайте также:
Excel для чего нужна эта программа

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

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Пример: /* объявления переменной i, являющейся именем внешнего массива длинных целых чисел, на локальном уровне */ /* исходный файл file1.c */ main() { . } fun1() { extern long i[]; . } /* исходный файл file2.c */ long i[MAX]={0}; fun2() { . } fun3() { . }

Пример: /* объявления переменной i, являющейся именем внешнего массива длинных целых чисел, на локальном уровне */ /* исходный файл file1.c */ main() < . >fun1() < extern long i[]; . >/* исходный файл file2.c */ long i[MAX]=; fun2() < . >fun3()

Объявление переменной i[] как extern в приведенном примере делает ее видимой внутри функции fun1. Определение этой переменной находится в файле file2.c на глобальном уровне и должно быть только одно, в то время как объявлений с классом памяти extern может быть несколько.

Объявление с классом памяти extern требуется при необходимости использовать переменную, описанную в текущем исходном файле, но ниже по тексту программы, т.е. до выполнения ее глобального определения. Следующий пример иллюстрирует такое использование переменной с именем st.

1 2 3 4 5 6 7 8
Пример: main() { extern int st[]; . } static int st[MAX]={0}; fun1() { . }

Пример: main() < extern int st[]; . >static int st[MAX]=; fun1()

Объявление переменной со спецификатором extern информирует компилятор о том, что память для переменной выделять не требуется, так как это выполнено где-то в другом месте программы.

При объявлении переменных на глобальном уровне может быть использован спецификатор класса памяти static или extern, а так же можно объявлять переменные без указания класса памяти. Классы памяти auto и register для глобального объявления недопустимы.

Объявление переменных на глобальном уровне — это или определение переменных, или ссылки на определения, сделанные в другом месте программы. Объявление глобальной переменной, которое инициализирует эту переменную (явно или неявно), является определением переменной. Определение на глобальном уровне может задаваться в следующих формах:

1. Переменная объявлена с классом памяти static. Такая переменная может быть инициализирована явно константным выражением, или по умолчанию нулевым значением. То есть обявления static int i=0 и static int i эквивалентны, и в обоих случаях переменной i будет присвоено значение 0.

2. Переменная объявлена без указания класса памяти, но с явной инициализацией. Такой переменнойпо умолчанию присваивается класс памяти static. То есть объявления int i=1 и static int i=1 будут эквивалентны.

Переменная объявленная глобально видима в пределах остатка исходного файла, в котором она определена. Выше своего описания и в других исходных файлах эта переменная невидима (если только она не объявлена с классом extern).

Глобальная переменная может быть определена только один раз в пределах своей области видимости. В другом исходном файле может быть объявлена другая глобальная переменная с таким же именем и с классом памяти static, конфликта при этом не возникает, так как каждая из этих переменных будет видимой только в своем исходном файле.

Спецификатор класса памяти extern для глобальных переменных используется, как и для локального объявления, в качестве ссылки на переменную, объявленную в другом месте программы, т.е. для расширения области видимости переменной. При таком объявлении область видимости переменной расширяется до конца исходного файла, в котором сделано объявление.

В объявлениях с классом памяти extern не допускается инициализация, так как эти объявления ссылаются на уже существующие и определенные ранее переменные.

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

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Источник: easyelectronics.ru

12.11 – Файлы исходного кода и заголовочные файлы классов

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

class Date < private: int m_year; int m_month; int m_day; public: Date(int year, int month, int day) < setDate(year, month, day); >void setDate(int year, int month, int day) < m_year = year; m_month = month; m_day = day; >int getYear() < return m_year; >int getMonth() < return m_month; >int getDay() < return m_day; >>;

Однако по мере того, как классы становятся длиннее и сложнее, наличие всех определений функций-членов внутри класса может затруднить управление классом и работу с ним. Использование уже написанного класса требует понимания только его открытого интерфейса (общедоступных функций-членов), а не понимания того, как класс работает под капотом. Детали реализации функций-членов просто мешают.

К счастью, C++ предоставляет способ отделить часть «объявления» класса от его «реализации». Это делается путем определения функций-членов класса вне определения класса. Для этого просто определите функции-члены класса, как если бы они были обычными функциями, но добавив к функциям префикс из имени класса с помощью оператора разрешения области видимости ( :: ) (так же, как для пространства имен).

Вот наш класс Date с конструктором Date и функцией setDate() , определенными вне определения класса. Обратите внимание, что прототипы этих функций всё еще присутствуют внутри определения класса, но фактическая реализация вынесена за его пределы:

class Date < private: int m_year; int m_month; int m_day; public: Date(int year, int month, int day); void setDate(int year, int month, int day); int getYear() < return m_year; >int getMonth() < return m_month; >int getDay() < return m_day; >>; // Конструктор Date Date::Date(int year, int month, int day) < SetDate(year, month, day); >// Функция-член Date void Date::SetDate(int year, int month, int day)

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

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

class Calc < private: int m_value = 0; public: Calc(int value=0): m_value(value) <>Calc m_value += value; return *this; >Calc m_value -= value; return *this; >Calc m_value *= value; return *this; >int getValue() < return m_value ; >>;
class Calc < private: int m_value = 0; public: Calc(int value=0); Calc Calc Calc int getValue() < return m_value; >>; Calc::Calc(int value): m_value(value) < >Calc m_value += value; return *this; >Calc m_value -= value; return *this; >Calc private: int m_year; int m_month; int m_day; public: Date(int year, int month, int day); void setDate(int year, int month, int day); int getYear() < return m_year; >int getMonth() < return m_month; >int getDay() < return m_day; >>; #endif
#include «Date.h» // Конструктор Date Date::Date(int year, int month, int day) < SetDate(year, month, day); >// Функция-член Date void Date::setDate(int year, int month, int day)

Читайте также:
AuTorun exe что это за программа

Теперь любой другой заголовочный файл или файл исходного кода, который хочет использовать класс Date , может просто выполнить #include «Date.h» . Обратите внимание, что Date.cpp также необходимо скомпилировать в проекте, использующем Date.h , чтобы компоновщик знал, как реализован Date .

Не нарушает ли определение класса в заголовочном файле правило одного определения?

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

Типы (которые включают в себя классы) не подпадают под действие правила одного определения, которое гласит, что у вас может быть только одно определение в программе. Следовательно, нет проблем с включением через #include определений классов в несколько файлов исходного кода (если бы они были, от классов было бы мало пользы).

Не нарушает ли определение функций-членов в заголовке правило одного определения?

По-разному. Функции-члены, определенные внутри определения класса, считаются неявно встраиваемыми (inline). Встраиваемые (inline) функции освобождаются от правила одного определения относительно одного определения в программе. Это означает, что нет проблем с определением тривиальных функций-членов (таких как функции доступа) внутри определения самого класса.

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

Итак, что я должен определять в файле заголовка, а что в файле .cpp ,и что внутри определения класса, а что вне его?

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

Поэтому мы рекомендуем следующее:

  • классы, используемые только в одном файле, и которые, как правило, нельзя использовать повторно, определяйте непосредственно в том файле .cpp , где они используются;
  • классы, используемые в нескольких файлах или предназначенные для повторного использования, определяйте в файле .h с тем же именем, что и класс;
  • тривиальные функции-члены (тривиальные конструкторы или деструкторы, функции доступа и т.д.) могут быть определены внутри класса;
  • нетривиальные функции-члены должны быть определены в файле .cpp с тем же именем, что и класс.

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

Параметры по умолчанию

Параметры по умолчанию для функций-членов должны быть объявлены в определении класса (в заголовочном файле), где они могут быть видны всем, кто включает заголовок.

Библиотеки

Разделение определения и реализации класса очень распространено для библиотек, которые вы можете использовать для расширения возможностей своей программы. Во всех своих программах вы включаете заголовки, которые принадлежат стандартной библиотеке, например, iostream , string , vector , array и другие. Обратите внимание, что вам не нужно добавлять в свои проекты iostream.cpp , string.cpp , vector.cpp или array.cpp . Вашей программе нужны объявления из файлов заголовков, чтобы компилятор мог проверить, что вы пишете синтаксически правильные программы. Однако реализации для классов, принадлежащих стандартной библиотеке C++, содержатся в предварительно скомпилированном файле, который подключается на этапе компоновки. Вы никогда не видите кода.

Помимо какого-либо программного обеспечения с открытым исходным кодом (где предоставляются файлы .h и .cpp ), большинство сторонних библиотек предоставляют только файлы заголовков и предварительно скомпилированный файл библиотеки. Для этого есть несколько причин:

  1. линковка предварительно скомпилированной библиотеки выполняется быстрее, чем перекомпиляция ее каждый раз, когда она вам понадобится;
  2. одна копия предварительно скомпилированной библиотеки может использоваться несколькими приложениями, тогда как скомпилированный код компилируется в каждый исполняемый файл, который его использует (увеличение размеров файлов);
  3. соображения интеллектуальной собственности (вы не хотите, чтобы украли ваш код).

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

Источник: radioprog.ru

Русские Блоги

Что такое код, исходные файлы, редактирование и компиляция?

Каталог статей

1. Введение

При обучении языку C учащихся первого и второго классов бакалавриата я обнаружил, что многие студенты не понимают многих основных концепций в разработке программы, таких как некоторые основные файлы и суффиксы, из-за того, что компьютеры не используют базового теоретического обучения.Понятие неясно, что доставляет много проблем в практике языка C. В этой статье кратко представлены некоторые связанные основные концепции разработки программ (Примечание: если не указано иное, все примеры относятся к языку C).

2 код

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

#include int main() printf(«Hello world!n»); return 0; >

3 Исходные файлы

Сам код представляет собой строку данных в текстовой форме и нуждается в месте для ее хранения. На компьютерах почти все системы используют файлы для хранения данных, поэтому исходный файлФайл для сохранения кода. Например, я могу использовать файл блокнота hello.txt Чтобы сохранить код.

3.1 О суффиксе

Чтобы отличить файлы исходного кода от обычных файлов, обычно используются разные суффиксы, например язык C. .c Для Java .java Для питона .py Ждать. Это делается для того, чтобы лучше различать типы файлов, но по сути это одни и те же текстовые файлы, и существенной разницы нет.

3.2 Особое внимание

Имя суффикса автоматически скрывается в Windows. Например, после создания нового текстового файла вы можете видеть только Новый текстовый файл Не вижу суффикса .txt . Настройка скрытых суффиксов в Windows по умолчанию доставляет неудобства многим новичкам. Решение требует только простой настройки. В Win10 просто установите флажок «Просмотр -> Расширение файла» в проводнике, как показано на рисунке ниже (системная точка Win7Здесь)。

4 править

Редактирование — это модификация содержимого файла. Поскольку данные хранятся в файле, нам нужен инструмент для изменения файла, например, для текстового файла. .txt , При двойном щелчке система автоматически использует собственный блокнот системы для открытия, редактирования и сохранения измененного содержимого. Для исходных файлов нам также понадобится редактор для компиляции. Как правило, существует множество компиляторов, которые могут работать с исходным кодом, напримерNotepad++, Atom, Sublime TextИ так далее, новичкам рекомендуется использовать Notepad ++, который не только бесплатный, но и мощный.

5 Компиляция

Код, который мы пишем, представляет собой простой текстовый файл для удобства чтения и просмотра людьми, поэтому машина не может его выполнить. Чтобы машина могла выполнять программу, требуется операция преобразования, чтобы преобразовать написанный вручную код в программу, которая может быть выполнена машиной, то есть компиляция. Например, компиляция hello.c Преобразовать в hello.exe Процесс такой: hello.c == компиляция ==> hello.exe . После компиляции hello.exe Контент становится чистым двоичным кодом, который читается компьютером, но не читается человеком, как показано на рисунке ниже (выше hello.c , Следующее hello.exe ):

В то же время размеры двух файлов различаются. Размер исходного файла очень мал и составляет всего 1 КБ, в то время как размер созданной программы составляет 54 КБ, как показано на следующем рисунке. :

Читайте также:
Менеджер по программе лояльности что это

6 Резюме

В этой статье кратко объясняется код, исходные файлы и компиляция, и мы надеемся, что она будет полезной для первокурсников и второкурсников.

Источник: russianblogs.com

Исходный код: что это такое, для чего оно и каково его значение в Интернете?

Исходный код: что это такое

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

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

Учитывая важность этого элемента вычислений , здесь мы расскажем немного больше о нем и о том, какова его функция в Интернете . Для этого следуйте этому посту подробно.

Что такое исходный код и для чего он нужен в вычислительной технике?

¿Qué es un código fuente y para qué sirve en informática?

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

Другими словами, он отвечает за предоставление инструкций для группировки программ и их правильной передачи без сбоев или ошибок в операционной системе.

Обычно эти коды обычно видны в некоторых программах при выполнении некоторых определенных операций . Однако эти инструкции будут плохо поняты, если не будет обработан язык, на котором они были запрограммированы. Это то же самое, что часто происходит в различных веб-страницах и других типах программ, таких как , запрограммированных на веб-языках JavaScript или HTML.

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

Каковы части веб-кода или исходного кода программного обеспечения?

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

Важно отметить, что у него есть три разных раздела , такие как .data .bss и .text, , которые мы объясним ниже:

Раздел. данные

.data ​​strong> в основном используется для того, чтобы иметь возможность объявлять постоянные или инициализированные значения перед выполнением программы . Важно уточнить, что эти значения не изменяются во время выполнения .

Раздел .bss

Раздел .text

Наконец, у нас есть .text , где предложения, которые будут указывать на исходный код , должны иметь директиву global _start , которая будет указывать ядру , где выполнение программы должно начинаться .

Часть предложения

В случае суждения исходные коды состоят из четырех частей: метка, инструкции, инструкции и комментарии . Что мы вам объясним ниже:

Теги

Инструкции

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

Операнды

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

Комментарии

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

Исходный код и объектный код Чем они отличаются?

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

В случае исходного кода это набор предложений , который понятен программисту, отвечающему за разработку программы или только ее части. Обычно это содержится в текстовом файле , который можно открыть в таких программах , как блокнот или Wordpad. р>

Этот элемент будет написан на языке программирования , например: Basic, C, C ++, C #, Java, Perl, Python, PHP , что не Это может прочитать или понять любой, но только те, кто знает об этом программировании.

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

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

Как мы можем легко увидеть исходный код веб-страницы?

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

Поэтому выполните каждый из шагов, которые мы научим вас ниже:

Просмотр исходного кода с помощью Google Chrome, Mozilla Firefox или Edge

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

Ver el código fuente usando Google Chrome, Mozilla Firefox o Edge

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

Ver el código fuente usando Google Chrome, Mozilla Firefox o Edge

  • Затем откроется новая вкладка , где вы увидите исходный код сайта .

Ver el código fuente usando Google Chrome, Mozilla Firefox o Edge

Просмотр исходного кода из Safari

  • Первым делом войдите в браузер Safari со своего Mac.
  • Теперь в верхней панели перейдите в раздел “Safari”. , чтобы открыть раскрывающееся меню.

Ver el código fuente desde Safari

  • В списке параметров, отображаемых на экране, выберите allowPreferences †.

Ver el código fuente desde Safari

  • Теперь нажмите на вкладку “Дополнительно” , расположенную в верхнем правом углу экрана.

Ver el código fuente desde Safari

  • Теперь установите флажок «Показать меню разработки в строке меню» . Этот параметр находится в нижней части окна «Настройки».

Ver el código fuente desde Safari

  • Затем в адресной строке укажите URL-адрес страницы, которую вы хотите видеть, исходный код.
  • Здесь вы выбираете вариант “Разработка”.

Ver el código fuente desde Safari

  • В списке параметров, отображаемых на экране, выберите «Показать исходный код страницы». Это позволит вам узнать язык программирования этой веб-страницы.

Источник: stepbystepinternet.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru