Только быть корректным: GCC обозначает "Набор Компилятора GNU" и не компилирует двоичные файлы для Микроконтроллеров PIC.
компилятор PIC18 может быть загружен с сайт MPLAB :
К моему знанию это - Windows только и не работает с Вином. Вам, возможно, придется использовать другую компиляцию такой в качестве , ВЫСОКОТЕХНОЛОГИЧНЫЙ компилятор C для PIC10/12/16
Также видит Программировать PIC в Linux.
Сериализация = перевод соответствующего состояния объекта в потоковое представление. Это может означать преобразование его в поток байтов. Это не обязательно включает копирование каждой переменной-члена в поток. Классическим примером, который использует Джошуа Блох в Effective Java, является HashSet. Вы просто сериализуете элементы в Hashset, но не ключи.
Десериализация = восстановление объекта из последовательного представления и обеспечение инвариантов объекта. Десериализацию можно рассматривать как отдельный конструктор для объекта. В случае упомянутого выше HashSet вы должны создать новый HashSet, а затем вставить значения из потока в эту новую структуру данных.
Сериализация означает, что вы сохраняете свой объект в представлении, которое вы можете где-то сохранить. Один из способов сделать это - просто взять указатель на то, где ваш объект хранится в памяти, и записать каждый байт, как есть, в файл. Поскольку это представление очень специфично для вашего языка программирования (и того, как оно представляет объекты в памяти), улучшением было бы преобразование вашего объекта в представление String, имеющее определенную хорошо известную структуру (например, XML или JSON), чтобы вы может
а) проще переносить
б) проще сохранять и восстанавливать
в) поскольку всем известно, как определяется формат, любые другие программы тоже могут читать ваш объект
Так что помещаем ваш объект в база данных - это еще одна форма сериализации.
Десериализация означает,
Сериализация обычно относится к созданию версии данных (а не объектов), которые можно использовать для хранения (возможно, в файле ), для передачи по сети или, возможно, просто для передачи между процессами / AppDomain
s / и т. д. на одном компьютере.
Сериализация обычно означает запись данных в виде строки (подумайте: xml / json) или в виде необработанного двоичного файла ( byte []
и т. д.). Десериализация - это обратный процесс; получение необработанных данных (из файла, входящего сетевого сокета и т. д.) и реконструкция объектной модели.
Разница между использованием базы данных состоит в том, что она не имеет внутренней табличной структуры и реальной связи с базой данных; данные могут иметь любую форму и имеют тенденцию более точно соответствовать объектно-ориентированной компоновке, чем природе строк / столбцов таблиц.
Большинство платформ имеют ряд инструментов сериализации. Например, похоже, что вы говорите о .NET - поэтому BinaryFormatter
(только для .NET), XmlSerializer
, DataContractSerializer
, Json.NET и protobuf -net / dotnet-protobufs все подходят.
Разница между использованием базы данных состоит в том, что она не имеет внутренней табличной структуры и реальной связи с базой данных; данные могут иметь любую форму и имеют тенденцию более точно соответствовать объектно-ориентированной компоновке, чем природе строк / столбцов таблиц.
Большинство платформ имеют ряд инструментов сериализации. Например, похоже, что вы говорите о .NET - поэтому BinaryFormatter
(только для .NET), XmlSerializer
, DataContractSerializer
, Json.NET и protobuf -net / dotnet-protobufs все подходят.
Разница между использованием базы данных состоит в том, что она не имеет внутренней табличной структуры и реальной связи с базой данных; данные могут иметь любую форму и имеют тенденцию более точно соответствовать объектно-ориентированной компоновке, чем природе строк / столбцов таблиц.
Большинство платформ имеют ряд инструментов сериализации. Например, похоже, что вы говорите о .NET - поэтому BinaryFormatter
(только для .NET), XmlSerializer
, DataContractSerializer
, Json.NET и protobuf -net / dotnet-protobufs все подходят.
Разница между использованием базы данных заключается в том, что она не имеет встроенной табличной структуры и реальной связи с базой данных; данные могут иметь любую форму и имеют тенденцию более точно соответствовать объектно-ориентированной компоновке, чем природе строк / столбцов таблиц.
Большинство платформ имеют ряд инструментов сериализации. Например, похоже, что вы говорите о .NET - поэтому BinaryFormatter
(только для .NET), XmlSerializer
, DataContractSerializer
, Json.NET и protobuf -net / dotnet-protobufs все подходят.
Разница между использованием базы данных заключается в том, что она не имеет встроенной табличной структуры и реальной связи с базой данных; данные могут иметь любую форму и имеют тенденцию более точно соответствовать объектно-ориентированной компоновке, чем природе строк / столбцов таблиц.
Большинство платформ имеют ряд инструментов сериализации. Например, похоже, что вы говорите о .NET - поэтому BinaryFormatter
(только для .NET), XmlSerializer
, DataContractSerializer
, Json.NET и protobuf -net / dotnet-protobufs подойдут.
Сериализация - это, как правило, процесс записи состояния объекта в вашей среде выполнения на диск (но это может быть где угодно) и возможности прочитать его снова.
По сути, сохранение свойств объекта в таблице является формой сериализации.
В .NET есть и другие формы: