Платформы по сравнению с SDKs

Другой способ сделать это - поставить

cin.ignore ( std::numeric_limits<std::streamsize>::max(), '\n' ); 

после того, как ваш cin>>number; полностью очистит входной буфер (отклонение всех дополнительных символов до тех пор, пока не будет найдена новая строка). Вы должны #include <limits> получить метод max().

29
задан Brian 8 January 2009 в 16:17
поделиться

7 ответов

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

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

16
ответ дан Otávio Décio 14 October 2019 в 07:28
поделиться

Я просто скопирую с Википедии:

Библиотека:

библиотека А является набором подпрограмм, или классы раньше разрабатывали программное обеспечение. Библиотеки содержат код и данные, которые предоставляют услуги независимым программам. Это позволяет коду и данным быть совместно использованным и измененными модульным способом.

Платформа:

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

SDK:

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

Так:

  • Библиотека является кодом, который называет Ваше приложение.
  • Платформа является приложением или библиотекой, которая является почти готовой. Вы просто заполняете некоторые пустые места со своим собственным кодом, который называет платформа.
  • SDK является большим понятием, поскольку он может включать библиотеки, платформы, документацию, инструменты, и т.д.
  • .NET действительно больше похожа на платформу, не платформу программного обеспечения.
42
ответ дан John Smith 14 October 2019 в 07:28
поделиться

Вкратце различие:

  • Вы вызываете функции SDK.
  • платформа вызывает Ваши функции.

SDK А похож на панель инструментов с большим количеством инструментов, и Вы выбираете, которые Вы используете и как. Вы имеете контроль, но также и много решений сделать. Это - довольно низкий уровень.

платформа А принимает много о решениях для Вас, таким образом, Вы не должны перестраивать колесо; это - больше "восполнять пробелы" подход. Меньше свободы, но Вы экономите много времени и вероятно избегаете некоторых ошибок.

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

9
ответ дан siukurnin 14 October 2019 в 07:28
поделиться

Это - серая область, но Платформы имеют тенденцию быть библиотеками, против которых Вы кодируете, SDK часто имеют дополнительные инструменты, чтобы помочь Вам вытащить больше из Платформы. Хороший пример, являющийся SDK Платформы.NET, который Вы устанавливаете отдельно, SDK, имеет дополнительные инструменты, такие как ildasm, cordb, которые не являются действительно частями платформы.

1
ответ дан Kev 14 October 2019 в 07:28
поделиться

Microsoft SDK могла использоваться разработчиком для создания их программ. Заключительным пользователям обычно не нужен он.

Microsoft Framework вместо этого обязательна, если Вы хотите запустить приложения.NET на машине.

1
ответ дан Brien Foss 14 October 2019 в 07:28
поделиться

Я был выводом на Платформа Зенда посредством ее 1,0 выпусков. Мы часто получали комментарии, что это не была "платформа" в том смысле, что разработчики ожидали - они сказали, что это было больше библиотеки классов.

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

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

, Но я все еще чувствовал, что Платформа Зенда квалифицировала как платформа, вместо SDK, еще одним способом: платформа расширяема . Это разработано как ряд объектно-ориентированных базовых классов, и намеченное использование состоит в том, что разработчики или extend эти классы, или пишут простые сменные классы, для добавления функциональности.

А традиционный SDK не расширяем . Вы просто призываете методы API обеспеченные классы, они делают то, что они делают, и Вы имеете дело с результатом. Любая настройка находится в Вашем использовании API и как Вы используете результаты.

1
ответ дан Bill Karwin 14 October 2019 в 07:28
поделиться

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

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

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

0
ответ дан lithander 14 October 2019 в 07:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: