DUK Spausdinti
( 7 Votes )
Parašė Aurimas Šimkus   

1. Kaip padaryti, kad įvykdžius konsolinę programą, ji neišsijungtų?
2. Ką daryti, kad sukompiliuotos programos (exe) veiktų kompiuteriuose be Visual Studio?
3. Kodėl programos vykdymo metu nerodo lietuviškų raidžių?

1. Kaip padaryti, kad įvykdžius konsolinę programą, ji neišsijungtų?

Yra pora variantų:
1.1. Programos pabaigoje naudoti sisteminę funkciją system("PAUSE"), kuri "užmigdo" programą, pasiekus kreipinį į šią funkciją. PS Ši funkcija neveikia Unix tipo operacinėse sistemose.
1.2. Programos pabaigoje naudoti įvesties funkcijas. a) Programuojant C - gets("") , C++ - cin.get().
1.3. Programas vykdant Visual Studio sistemose, jas paleisti CTRL+F5 (Start Without Debugging).

2. Ką daryti, kad sukompiliuotos programos (exe) veiktų kompiuteriuose be Visual Studio?

Norint, kad programos veiktų kituose kompiuteriuose, reikia į programą (exe) įkompiliuoti reikalingas bibliotekas (DLL). Visual Studio aplinkoje, tai galite padaryti, pakeisdami programos kompiliavimo nustatymus: (Visual Studio aplinkose) Project -> Properties -> Configuration Properties -> C/C++ -> Code Generation ir šioje skiltyje "Runtime Library'" pasirinkite "Multi-threaded Debug (/MTd)".

Dll įkompiliavimas

Jeigu pakeitus šį nusattymą kompiliavimo metu pranešama apie klaidas, tai išvalykite projektą: (Visual Studio aplinkose) Build -> Clean Solution ir bandykite kompiliuoti iš naujo.

3. Kodėl programos vykdymo metu nerodo lietuviškų raidžių? 

Reikia nurodyti lietuvišką lokalę: setlocale(LC_ALL, "Lithuanian"). Ją reikia nurodyti main() funkcijos pradžioje.