Ada2cc Korduma Kippuvad Küsimused

Link: https://www.ada2cc.com/faq/faq.htm

see, Mida täpselt ei ada2cc väljund?

Lihtsalt, kuidas te saate tõlkida Ada-C++?

Kui “hea” on tõlge?

Kuidas on geneeriliste ravimite tõlkida?

Kuidas reaalajas lisa?

kuidas pesastatud alamfunktsioonid?

see, Mida platvormid kas te toetate?

kas ma saan demo koopia?

see, Mida mul vaja teisendada Ada programm?


Mida täpselt ei ada2cc väljund?

ada2cc väljundid tööstuse standard C++. See tähendab, et väljund kood järgib kas KÄE või ISO “C++” standard. Kui on ebaselgus eelkõige rakendamist, C++, konverter võtab vähima vastupanu tee, mis tähendab, et muunduri väljundid lihtsam 2 alternatiive. Üldiselt, tõlkija väljundid üks “.C” faili iga paketi keha tõlgitud ja üks “.H” faili iga paketi kirjelduses.

Praegu converter ei tekita mingeid müüja konkreetse koodi, kuigi me ei ava seda kohta “target keskkond” alusel.Lihtsalt kuidas te saate tõlkida Ada-C++?

Kui te pidage meeles, see lihtne mantra:

Paketid ei ole esemeid ja objekte ei ole paketid.

siis on võimalik. Ada ja C++ võtta erinevaid lähenemisviise struktuuri ja objektorienteeritud programmeerimine. Nii ümber, siis kipuvad kaotada eeliseid allikas keele, samas ei pealevõtmine eelised sihtkohta keeles. Näiteks, Ada teeb palju parema töö juures peidus esemed kui ei C++. (Ada, objekt võib olla lihtsalt kirjas “era” pakettide kirjeldusele, samas C++, objekt võib olla deklareeritud “era”, kuid selle deklaratsioon avaldatakse kõigile näha ja potentsiaalselt kaudu juurdepääsu C++ märkused.)

Konverter võimaldab 2 lähenemist, kui tegemist paketid .vs. objekti probleem. Eriti, kui paketid on välja kuulutatud, ada2cc võib valida, kas kuulutada välja “üldise” objekti nimi on sama pakett, võimaldades seega viited, mis näevad välja väga palju nagu originaal kood, -VÕI- ada2cc võib ribad paketi nimi ja viide objektide rohkem C++ mood. Endine lähenemine töötab hästi suured programmid kuigi viimane töötab paremini väikeste süsteemide puhul, kus nimi ruumi konflikte on ebatõenäoline.

Tekkega ISO C++ standard, konversioone on muutunudoluliselt lihtsamaks. ISO C++ võetakse kasutusele mõiste “nimeruum”, mis küll veel ei ole Ada pakett on palju lähemale. ISO C++ kompilaatoreid on tungivalt soovitatav kui sa kava muuta alates Ada-C++. Kui oma C++ kompilaator müüja ei toeta ISO C++ või nimeruumis märksõna laiendusena oma KÄE kompilaator, leida müüja, kes ei.Kuidas “hea” on tõlge?

Meie hinnangul, et praegune versioon tõlkija teisendab 90-95% – kood ilma käsi muutmine. Aga 5% on ikka palju ja me oleme pidevalt parandamisest. Enamik muudatusi on vajalikud järgmised olemus:

  • Edendamine pesastatud funktsioone.
  • Lisades mitte-vaikimisi konstruktorite.
  • Kohanda malli parameetrid.
  • Sisestamine süsteemi konkreetne funktsioon nõuab, et toetada reaalajas funktsioone.

Kuidas on geneeriliste ravimite tõlkida?

Geneerilised ravimid on tavaliselt tõlgitud kui C++ malle. Siiski on selles valdkonnas kõige käsitsi remont on vajalik. See on peamiselt pistmist C++ kompilaatori võime (või selle puudumine), et käepide midagi muud kui a-klassi osana mall argument nimekirja. Veelgi Ada-83, erinevalt C++, ei võimalda lähitule funktsioon vihjed, nagu argumendid, mis teeb malle vajadus.

Üldiselt, kui C++ versioonid malle võib kirjeldada kui “ebaküps”. Tundub, et liiga palju ruumi ANSI spetsifikatsioon tõlgendus. Seas kaks silmapaistvamat probleemid oleme näinud kahe C++ kompilaatoreid on dereferencing kasutaja defineeritud tüüpi instantiated objektid ja pesastatud generics.<nimi=”RT”>Kuidas reaalajas lisa?

Praegu Ada verbi seotud töötlemiseks reaalajas, ÜLESANNE, AKTSEPTEERI ning KANDE -, tulemus-C++ blokeerida avaldused “{}” on väljund hoiatus (nagu C++ kommentaare). Me oleme selles protsessis võtta kasutusele Posix ühilduv funktsioon nõuab arvesse loodud C++ koodi, kuid praegu käsitsi sekkumist, siis vaja panna vastav süsteem-spetsiifiline funktsioon kõne koha kudema protsessid lapse ja kogunemiskoht neile.Kuidas pesastatud alamfunktsioonid?

Pesastatud rutiin on tõlgitud kui C++ neid toetab. (Mitte midagi, mida me ei tea ei, siiski). See nõuab käsitsi sekkumist, et edendada nende äärepoolseimates ulatus nende lisades programmi faili edendades kõiki neid ühiseid muutujaid, originaal, lisades, et rutiini global (kuigi staatiline) reguleerimisala.Mida platvormid kas te toetate?

Converter praegu töötab järgmisi platvorme:

  • Linux (Kernel 2.6+, gcc/g++ 3.x+)
  • Windows 7
  • Windows 8.1

>>Pange tähele, et väljund kood on kasutatav mis tahes KÄE või ISO C++ kompilaator igale platvormile. (arvestades, et eespool käsitsi muudatusi)ma saan demo koopia?

Jah, saame pakkuda vähe versioon, mis näitab võimeid tõlkija. (Piiratud versioon on ainult luua väljund, kui sisend-kood on vähem kui 100 rida käivitatava Ada.) Windows 7 (& up) Versioon

 

Kui ülevalt alla laadida ei vasta teie platvormid vajadustele, siis palun e-posti, [email protected], et saada andmed saamise demo oma konkreetse platvormi.

(Kui teil on probleeme allalaadimiseks klõpsake siin)

Kui, siiski, sa pead ulatuslikum näide, milline converter saab teha, saame korraldada teisendada kood on meie saidi ja pöörake see ümber paar tundi. (vaata: Mida on mul vaja teisendada Ada programm?)Mida on mul vaja teisendada Ada programm?

Teisendada kood Ada C++, ada2cc peab pakendi keha, pakendi spetsifikatsioonile JA KÕIK pakendi kirjeldused, mida kasutatakse otseselt ja kaudselt (õige alla textio ja süsteem). Kui pesastatud kirjeldused on vajalikud selleks, et KASUTADA kontekstis võib õigesti laiendada ja muutuva dereferencing võib teha õigesti. Kui tõlkija ei leia muutuja viide, kui kirjutamine C++ koodi, on selleks vaikimisi kasutades teksti nagu näha originaali Ada kood. (st Ei “*” või “->” ettevõtja jaoks dereferencing on loodud ja muutuja juhul on tõenäoline ei ole.)

Vaata selle lehe Serbo-Croation
(See on link kolmandale isikule kirjaliku ja kolmanda osapoole veebilehte. RTI ei vastuta ajakohasuse ja täpsuse tõlge)

Leave a Reply

Your email address will not be published. Required fields are marked *