2009-08-18 22 views
28

Justo en términos generales, para un noobie. Aparentemente necesito un 'SDK' para instalar algo; ¿Que es esto?¿Qué es un SDK? (C++)

+3

El término "SDK" a veces se usa de forma intercambiable con otros términos que tienen un significado similar pero diferente. Los ejemplos incluyen ADF (Application Development Framework), API (Application Programming Interface) y "Library". –

+30

Chicos: si entiendo el objetivo detrás de SO, debe ser la fuente (a la que google enlaces) para todas las preguntas de programación. Si la pregunta no se realiza aquí, ¿cómo va a encontrarlo Google? Y la respuesta. Además, recuerde que "Ninguna pregunta es demasiado trivial o demasiado" novato ", según las preguntas frecuentes. – tvanfosson

+9

Estoy con @tvanfoson en este caso.Si es un truco, o spam, o no tiene nada que ver con la programación, o es tan malo que no se puede leer y no se puede corregir, vótelo o ciérrelo. De lo contrario, recuerde que usted también fue una vez un novato completo. – paxdiablo

Respuesta

28

Un SDK es un conjunto de bibliotecas que contienen el código reutilizable que a su vez utilizará para desarrollar aplicaciones. Si esas aplicaciones se ejecutarán en Windows, en una XBOX y en un iPhone, en una aplicación Flash, etc., determine qué SDK debe usar.

Tome el iPhone por ejemplo. Para escribir una aplicación de iPhone, escriba código en un lenguaje llamado Objective-C (que se ve y se siente como C, pero con el modelo de objetos de Smalltalk). De todos modos, cada vez que escribe una aplicación, no necesita volver a escribir el código que dibuja texto en la pantalla real o registra los toques de pantalla reales. En cambio, Apple proporciona el código que todos los desarrolladores de aplicaciones necesitarán para hacer cosas simples.

Del mismo modo, si escribe para Windows, hay bibliotecas para hacer cosas como dibujar una ventana real o conectarse a la pila de red.

Todas estas bibliotecas comunes, junto con algunas otras herramientas, componen un SDK.

Para C++, probablemente verá mucha mención de Boost. Esto no es un SDK, sino más bien un conjunto de bibliotecas que contienen código que muchos otros desarrolladores encuentran útil.

¿Para qué plataforma estás tratando de escribir? ¿Está ingresando a C++ en Windows y está buscando comenzar? ¿Estás tratando de escribir un juego para alguna consola?

+2

Acaba de entrar en C++ en Windows, idd. Estoy haciendo comp ciencia en la universidad el próximo año, pero quiero darme una ventaja. – Xenoprimate

+0

Bastante justo. Para comenzar, necesitará un compilador de C++, que es el programa para convertir su código fuente en algo con lo que la computadora pueda trabajar. Recomendaría el excelente compilador GCC (es gratis). El puerto de Windows se llama MinGW. Si usa este IDE: http: //www.bloodshed.net/devcpp.html, obtendrá un entorno de desarrollo y un compilador de forma gratuita. Estoy seguro de que alguien dejará un comentario diciéndole que use Microsoft Visual * o Eclipse, pero cuando acaba de comenzar con un idioma, creo que es mejor tener un editor/ide más simple. Ahora todo lo que necesita es un buen libro o sitio web. – Alex

+0

@Alex, elevé tu respuesta, ya que parece ser la mejor (en este momento, de todos modos). Pero todos los comentarios que veo aquí en Bloodshed indican que no está en desarrollo activo y Code :: Blocks es mejor. Esto es un rumor, por supuesto, ya que no he usado ninguno. – paxdiablo

21

"Kit de desarrollo de software": un conjunto de herramientas y bibliotecas que le permiten desarrollar software.

Un ejemplo sería el iPhone SDK, que le permite desarrollar software para el iPhone.

3

Un SDK para un producto determinado en general incluye lo que necesita para crear una interfaz o una aplicación basada en ese producto. Es por eso que el "kit de desarrollo de software" es un conjunto de cosas necesarias para desarrollar software. Aunque es extraño que un SDK sea necesario para una instalación, ¿podría proporcionar más detalles?

4

Un SDK es un conjunto de herramientas que lo ayuda a desarrollar software para una determinada plataforma.

¡Ayúdenos con un poco de contexto! Es posible que solo podamos obtener el SDK correcto.

0

El OP indica que el SDK es necesario para instalar el software. Si este es el caso, entonces quizás el OP realmente se esté preguntando "¿Por qué es necesario un SDK para instalar el software, dado que no estoy desarrollando (compilando) software?"

OP etiquetó la pregunta con SDK, que proporciona una definición y si el OP se tomó el tiempo de escribir la pregunta, el OP tendría con toda probabilidad Google SDK.

Sospecho que este es un caso en el que los moderadores podrían haber ayudado al OP a refinar la pregunta.