Cad is API ann

cad is API ann

an Acrainmneacha API beidh tú feicthe acu níos mó ná uair agus dhá uair nuair a léifidh tú ailt faoi bhogearraí. Ach níl a fhios ag gach duine cad é API i ndáiríre. Sin é an fáth go ndéanaimid é a shoiléiriú san alt seo. Is é an chéad rud atá le rá gurb iad na giorrúcháin de Chomhéadan Clárúcháin Feidhmchláir, is é sin, sa Spáinnis, Comhéadan Clárúcháin Feidhmchláir. Agus is iomaí uair a chruthaíonn sé mearbhall fiú amháin ina measc siúd a bhfuil eolas acu ar roinnt clár.

Mar shampla, tá a API cláraithe féin ag Arduino, ag tairiscint roinnt feidhmeanna is féidir leat a úsáid san Arduino IDE nó i dtimpeallachtaí eile chun an micrea-rialaitheoir a chlárú chun ligean duit do thionscadail a chruthú. Ach ... an bhféadfá a rá liom an difríocht idir leabharlann clár agus API? An bhfuil difríochtaí idir creat agus API? An bhfuil API mar an gcéanna le ABI? Tá go leor amhras ann a d’fhéadfadh mearbhall a ghiniúint b’fhéidir agus go bhfuilimid chun soiléiriú a dhéanamh anois.

Níl a fhios agam an bhfuil sin ar eolas agat teangacha ar leibhéal íseal, cosúil leis an gcóimeálaí nó ASM, braitheann siad go díreach ar ailtireacht na crua-earraí, agus baineann na cinn ardleibhéil teibí ó na crua-earraí chun tasc an ríomhchláraitheora a éascú, ach braitheann siad ar an gcóras oibriúcháin (córais) nó ar APIanna áirithe, srl. Ionas nach bhfeileann sé seo go léir mar Sínis, feicfimid a bhfuil i ndán di ...

Cad is API ann?

a Is uirlis é API a gcuirtear forbróirí ar fáil dó ionas go mbeidh sraith feidhmeanna, fo-ghnáthaimh agus nósanna imeachta nó modhanna le haghaidh OOP ar fáil dóibh is féidir a úsáid trí na leabharlanna atá ann cheana. I measc na rudaí a thairgeann API tá feidhmeanna ó fheidhmeanna chun aipeanna simplí a chruthú, feidhmeanna a bhaineann le AI, giniúint grafaicí, bainistíocht acmhainní crua-earraí, srl.

Mar shampla, táim cinnte go bhfuil tú eolach ar APIs mar an ceann a thairgeann Linux tríd an leabharlann glibc, nó grafaicí mar OpenGL agus Vulkan, nó daoine eile cosúil le OpenCL freisin le haghaidh ríomhaireachta ilchineálach, OpenXR le haghaidh réaltachta fíorúla agus méadaithe, srl. Cuimsíonn córais oibriúcháin agus bogearraí eile a gcuid APIanna féin ionas gur féidir le ríomhchláraitheoirí breiseáin, breiseáin nó modúil a chruthú don chóras sin, srl.

Sampla le Arduino

Má tá suaitheantas agat Arduino agus is minic a úsáideann tú Arduino IDE, nó aon timpeallacht forbartha eile le haghaidh Arduino, beidh a fhios agat nuair a chruthaíonn tú cód go mbaineann tú úsáid as ilroghanna chun a ordú do do mhicrea-rialaitheoir sraith gníomhartha a dhéanamh. Mar shampla, is feidhm tipiciúil é pinMode () chun bioráin Arduino a chumrú, ceart?

Nuair a scríobhann tú pinMode (9, INPUT)Mar shampla, tá tú ag tabhairt le fios gur chóir go n-oibreodh bioráin 9 de bhord Arduino mar ionchur, is é sin, beidh an micrea-rialaitheoir ag fanacht go dtiocfaidh an fhaisnéis isteach tríd an mbiorán sin chun í a léamh agus gníomh a dhéanamh. Ach ar smaoinigh tú riamh conas atá sé in ann an t-ordú sin a thuiscint?

Bhuel, tá a API Forbartha a chuirtear ar fáil dúinn. Is féidir leabharlanna tríú páirtí a chur leis an API seo mar a chonaiceamar i go leor samplaí ar an mblag seo. Cosúil le SparkFun's le haghaidh braiteoirí áirithe, srl. Leis seo go léir, is féidir na feidhmeanna a iontráil san Arduino IDE agus aistreoidh sé an cód i gceart chun é a luchtú i gcuimhne an mhicrea-rialaitheora ionas gur féidir leis é a phróiseáil.

Mura raibh an API seo agat, ní fhéadfá na cláir seo a chruthú d’Arduino ar bhealach chomh simplí, mar ba cheart dúinn iarracht a dhéanamh iad a dhéanamh i gcód cóimeála don mhicrea-rialtóir ATMega328P, is é sin, ASM d’ailtireacht AVR. Agus bheadh ​​sé sin i bhfad níos casta, ós rud é go mbeadh ort na treoracha atá ar fáil ag an ISA seo a úsáid go díreach. Más ea, ní amháin go mbeadh ort eolas leordhóthanach a bheith agat ar stór an ISA sin, ach freisin gnéithe eile amhail líon na gclárúchán, srl. Is é sin, ba cheart go mbeadh eolas ísealleibhéil agat ar na crua-earraí a bhfuil tú ag obair dóibh.

De réir mar shampla, cód ASM Is é an rud ba cheart duit a ghiniúint chun go lasfadh stiúir i lúb:

<br data-mce-bogus="1">

.ORG 0x0000
; the next instruction has to be written to
; address 0x0000
rjmp START
; the reset vector: jump to "main"
START:
ldi r16, low(RAMEND) ; set up the stack
out SPL, r16
ldi r16, high(RAMEND)
out SPH, r16
ldi r16, 0xFF
; load register 16 with 0xFF (all bits 1)
out DDRB, r16
; write the value in r16 (0xFF) to Data
; Direction Register B
LOOP:
sbi PortB, 5
; switch off the LED
rcall delay_05
cbi PortB, 5
; wait for half a second
; switch it on
rcall delay_05 ; wait for half a secon
rjmp LOOP ; jump to loop
DELAY_05:
; the subroutine:
ldi r16, 31
; load r16 with 31
OUTER_LOOP:
; outer loop label
ldi r24, low(1021) ; load registers r24:r25 with 1021, our new
; init value
ldi r25, high(1021) ; the loop label
DELAY_LOOP:
; "add immediate to word": r24:r25 are
; incremented
adiw r24, 1
; if no overflow ("branch if not equal"), go
; back to "delay_loop"
brne DELAY_LOOP
dec r16
; decrement r16
brne OUTER_LOOP
ret
; and loop if outer loop not finished
; return from subroutine

a bhuíochas leis an API tá na háiseanna iomlán, an cód coibhéiseach seo a leanas a scríobh ag leibhéal ard (i bhfad níos giorra agus níos iomasach):

<br data-mce-bogus="1">

int ledPin = 13; 		// LED que se encuentra en el pin 13
   void setup(){ 
   pinMode(ledPin, OUTPUT);	// El p1n 13 será una salida digital 
} 
void loop(){ 
   digitalWrite(ledPin, HIGH);	// Enciende el LED
   delay(1000); 				// Pausa de 1 segundo 
   digitalWrite(ledPin, LOW); 	// Apaga el LED 
   delay(1000);				// Pausa de 1 segundo 

Difríochtaí le ABI

API vs Linux ABI

Is téarma níos lú aitheanta é ABI, is é a Comhéadan Dénártha Feidhmchláir, nó i mBéarla Comhéadan Dénártha Feidhmchláir. Sa chás seo is comhéadan é idir mhodúil cláir, go ginearálta idir leabharlann nó córas oibriúcháin teanga meaisín don ailtireacht ina bhfuil tú: SPARC, AMD64, ARM, PPC, RISC-V, srl.

A bhuíochas leis an ABI, socraítear an bealach chun na feidhmeanna a ghlaoch, formáid dhénártha atá in ann an meaisín atá á chur le chéile agat nó na glaonna córais a thuiscint, conas a láimhseáiltear eisceachtaí, conas a dhéantar sonraí a rith, srl.

Difríochtaí le Creat

Un is tacar uirlisí níos mó atá sa chreat nó sa chreat ar fáil duit chun cabhrú le tionscadal áirithe a fhorbairt. De ghnáth socraíonn an obair cháilíochta roinnt caighdeán códaithe, soláthraíonn sé comhpháirteanna úsáideacha, srl. Mar shampla, is creat é JUnit do Java, nó Symfony / Císte do PHP, srl.

Difríochtaí le SDK agus NDK

Is Kit Forbartha Bogearraí é SDK, is é sin, trealamh forbartha bogearraí. Téann sé níos faide ná creat nó API. Sampla de seo ná Android Studio nó iOS xCode, srl. Mar shampla, cuimsíonn an chéad cheann, i dteannta leis an API Android féin, IDE nó timpeallacht forbartha comhtháite le haghaidh clársceidealú agus tiomsú, leabharlanna, uirlisí, srl.

Ina theannta sin, NDK (Trealamh Forbartha Dúchasach) is comhlánú é. Mar shampla, tugann Android NDK deis d’fhorbróirí cód C / C ++ a athúsáid trína thabhairt isteach in iarratais trí JNI (Comhéadan Dúchasach Java) ...

Difríochtaí le leabharlann

Léaráid Glibc Wikipedia

Ar deireadh, Is bailiúchán de chód foinse in-athúsáidte í an leabharlann a dhéanann an saol níos éasca do ríomhchláraitheoirí. Mar shampla, taobh istigh de leabharlann C stdio.h tá feidhm printf ann chun téacs a phriontáil ar an scáileán. Chun é seo a dhéanamh indéanta, teastaíonn cód foinse a fhágann go ndéanann an córas oibriúcháin an tasc seo. Ach ós rud é gur rud an-athfhillteach é a úsáidtear go minic, ach trí an leabharlann sin a agairt is féidir leat printf a úsáid gan an cód go léir a scríobh ón tús. Is é sin le rá, i bhfocail eile, is féidir iad a fheiceáil mar bhloic réamhtheilgthe.

Is féidir leabharlann agus API a mheascadh go héasca, i ndáiríre, tá leabharlanna fillte taobh istigh de API. Sampla glibc...

Tá súil agam go bhfuil smaoineamh agat ina dhiaidh seo níos soiléire faoi cad é API, ABI, creat, SDK agus leabharlann, chomh maith le bheith in ann idirdhealú a dhéanamh eatarthu as seo amach.


Cloíonn ábhar an ailt lenár bprionsabail eitic eagarthóireachta. Chun earráid a thuairisciú cliceáil anseo.

Bí ar an chéad trácht

Fág do thrácht

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte le *

*

*

  1. Freagrach as na sonraí: Miguel Ángel Gatón
  2. Cuspóir na sonraí: SPAM a rialú, bainistíocht trácht.
  3. Legitimation: Do thoiliú
  4. Na sonraí a chur in iúl: Ní chuirfear na sonraí in iúl do thríú páirtithe ach amháin trí oibleagáid dhlíthiúil.
  5. Stóráil sonraí: Bunachar sonraí arna óstáil ag Occentus Networks (EU)
  6. Cearta: Tráth ar bith is féidir leat do chuid faisnéise a theorannú, a aisghabháil agus a scriosadh.