Skip to main content

Vad är ett infödd utvecklingssats?

När det gäller datorprogrammering och mjukvaruutveckling är ett infödd utvecklingssats (NDK) vanligtvis ett abstrakt programmeringsgränssnitt (API) som ger en utvecklare möjlighet att använda funktioner eller köra kod direkt via kärnoperativsystemet.Denna metod för att utföra ett program skiljer sig tydligt från att köra hanterade kod eller tolkade program, där koden som är skriven körs av en virtuell maskin eller tolk som fungerar som ett programvaruskikt mellan kärnoperativsystemfunktionerna och den användarskrivna koden.Användningen av ett inbyggt utvecklingssats kan vara avgörande i applikationer som kräver snabbast möjliga körning och bearbetningstider, eftersom det kan ge direkt tillgång till hårdvara och bibliotek som operativsystemet använder.Beroende på vilken typ av program som skrivs och måloperativsystemet kan användningen av ett infödd utvecklingssats inte öka programhastigheten alls och kan göra kod som är svår att underhålla, läsa och port till andra system.är skrivna för vissa enheter, till exempel smarta telefoner, eller användning av tolkade datorspråk körs inte direkt av kärnoperativsystemprocesserna eller kärnan.Istället körs programkoden av ett separat program som kallas en virtuell maskin (VM) eller tolk.Den virtuella maskinen läser koden, expanderar och löser kommandon och gränssnitt med kärnan för att köra koden.Detta kan vara fördelaktigt för vissa utvecklare, eftersom det ger ett bra lager av abstraktion för portabilitet och lämnar många komplexa detaljer, till exempel resurshantering och filhantering, till skaparna av den virtuella maskinen.

I vissa fall är det dock virtuellaMaskin kan vara ett hinder för vissa typer av program.VM kan bromsa exekveringen eller misslyckas med att ge åtkomst till vissa funktioner i värdkärnan.Ett infödd utvecklingssats för måloperativsystemet eller enheten avslöjar kärnans funktioner för applikationen som skrivs.Beroende på satsens omfattning kan detta göra det möjligt för ett program att direkt komma åt hårdvara, ladda sina egna anpassade bibliotek i kärnan eller använda systemspecifika optimeringar.

Ett infödda utvecklingssats används oftast endast för tidskritiska delarav ett program.Dessa kan vara beräkningar av grafikbehandling, utgång till displayen eller filinmatning och utgång.Inte alla program som använder infödda funktioner eller rutiner kommer att se en hastighetsfördel, eftersom den virtuella maskinen redan kan göra optimeringar till den hanterade koden så att den resulterande maskinkoden är identisk, oavsett om infödda funktioner används.Dessutom binder Native Code ett program till en specifik implementering av ett operativsystem och ibland en specifik version av en enhet, vilket innebär att kod som använder ett Native Development Kit kanske inte lätt överförs till andra system.