-->
Главная » Статьи » Информатика

Физикалық жобалау процедурасы – тәртібі, аспабы, ресурсы, құжаттары

Физикалық жобалау процедурасы – тәртібі, аспабы, ресурсы, құжаттары

 

 

Физикалық жобалау процедурасы – тәртібі, аспабтары, ресурстары, құжаттары.

Жобалаудың физикалық фазасы – программалық өнімнің текстін өңдеу фазасы. Өңдеу аспабын таңдау. Аспаптың мүмкіндіктерін анықтау және өңдеуге керектігіне байланысты салыстыру. Жобада пайдалану үшін дайын компоненттерді іздеу. Қайта қолдану парадигмасы. Препроцессор жұмысы, трансляция, байланыстыру, жүктеу, программаның орындалуы. Программаның ауысу фазасы. Визуальды құрушылар файлының жобасы және олардың өңдеу процессі кезіндегі алынуы. Ресурстар файлын автоматты және қолмен құру әдістері. Ресурстар редакторы. Макростар және олардың жобада қолданылуы.

«(C++Builder Глава 4.) Препроцессорлар және компилятор ерекшеліктері.

..C++Builder-дің кейбір кілттік сөздері жайындаолар ANSI стандартына жатпайдыСонымен қатарProject | Options диалогы жайында айтамыз,онда программа компиляциясын басқаратын әртүрлі параметрлер беріледі.

Препроцессор директивалары

Препроцессорлық өңдеу процесстің бірінші фазасы деп аталатын, C/C++-тағы программаларды компиляциялайтын, бірақ  C++Builder компиляторы аралық файлдарды препроцессорлық өңдеуден кейін де генерацияламайды. Бірақ, егер нәтижесінде препроцессор жұмысын көргіңіз келсе, онда срр32.ехе бөлек программасын командалық жолдан жіберіп көруге болады: срр32 myfile.c

Макроанықтамалар

Макроанықтамалар, әдетте макростар деп те аталады, препроцессордың #define директивасымен анықталады. #define макростарының үш түрлі формаларын атап айтуға болады: қарапайым символды анықтау, символдық константаны анықтау және параметрлері бар макростарды анықтау. Қарапайым анықтау келесі түрде беріледі:  #define NDEBUG

Мұндай директивадан кейін NDEBUG символы анықталған деп есептеледі. Ол ешнәрсені білдірмейді, бірақ жәй ғана — анықталған (бос) екендігін білдіреді. Оны:  #define NDEBUG 1 деп жазуға болады.

Ол кезде NDEBUG символдық константа ретінде де қолдануға болады. Сонымен, #define константаларды ғана емес, басқа текстілік көрсеткіштерді және операторлар тізбегін де анықтауға мүмкіндік береді, ол төменде берілген:

#define SHUTDOWN printf("Error!"); \ return -1

if (ErrorCondition()) SHUTDOWN; // "шықырумакросты.

Кері бөлу белгісі (\) макрос келесі бетте жалғасатындығын көрсетедіС операторларынан айырмашылығы препроцессор директивалары бір жолда орналасуы керекегер ол орналаспаған жағдайда оның келесі жолда екендігі осы белгімен анықталады.

Ертерек анықталған макросты #undef  директивасымен алып тастауға болады:

#undef NDEBUG

Бұдан кейін макрос анықталмаған деп есептеледіодан кейінге оған қатынаулар компиляция кезіндеге қателерге алып келеді.

Алдыналаанықталған макростар

C++Builder компиляторы автоматты түрде кейбір макростарды анықтайды. Оларды екі категорияға бөлуге болады: ANSI макростары және C++Builder-ге арналған спецификалық макростар. Алдыналаанықталған макростардың түрлері сәйкесінше 4.1 және 4.2 кестелерде берілген.

Кесте 4.1. Алдыналаанықталған ANSI макростар

      Макрос   сипаттамасы  

      DATE     форматтағы литеральдық жол "mmm dd yyyy”,  берілген файлдың

                      препроцессормен өңделу күнін көрсетеді.

      FILE      ағымдағы файлдың атын көрсететін жол (жақшада болады).

      LIME    бүтін, ағымдағы файлдың нөмірін көрсететін жол.

      STDC    1 тең, егер компилятор мен стандарт сәйкес келсе.

      ANSI (А командалық жолының – кілті). Басқа жағайда макрос анықталмаған.

      TIME     "hh:mm:ss форматындағы жолфайлды өңдеудің препроцессорлық                      уақыттын көрсетеді.

       _fileжәне _lineмакростарының мәні  #line директивасымен өзгертілуі мүмкін.

      Кесте 4.2. Алдыналаанықталған C++Builder макростар

      Макростар  Мәндері  Сиапттамасы

      ВСОРТ 1  кез – келген компиляторда анықталған.

      BCPLUSPLUS 0х0540  Анықталған, егер компиляция С++ режимінде орындалса.

      Келесі  версияларда өсіп отырады.

      BORLANDC 0х0540 Версия нөмірі.

      CDECL 1 Анықталған, егер cdecl шақыру жайында хабар болса, ал басқа жағдайда

      анықталмаған.

      CHARUNSIGNED 1 Үнсіздікпен анықталған (char үнсіздікпен  unsigned char екендігін

      білдіреді). Оны К- кілтімен алып тастауға болады.

      CONSOLE   Консолдік қосымшаларды компиляциялау кезінде анықталады.

      CPPUNWIND 1 Стекті пайдалануға рұқсат алуүнсіздікпен анықталадыОны -xd-

      кілтімен алып тастауға болады. 

      cplusplus 1 C++ режимінде компиляциялау кезінде анықталады

      DLL 1 анықталған, егер динамикалық кітапханамен компиляцияланса.

      FLAT 1 32-биттік жады моделімен компиляцияланса анықталаған.

      MIХ86 бар уақытта анықталған. Үнсізікпен мәні — 300. (мәнін өзгертуге болады 400  

      немесе 500, сәйкесінше /4 немесе /5 кілттерін  командалық жолдан енгізесіз.)

      MSDOS 1 Бүтін константа.

      MT 1 Анықталған, егер WM – опциясы орналасса. Ол мультисызықты (multithread)

      кітапхана қосылатындығын көрсетеді.

      PASCAL 1 Анықталған, егер Pascal-ды шақыру жайында шарт берілсе.

      TCPLUSPLUS 0х0540 Анықталған, егер компиляция C++ режимінде орындлса (bcplusplus ұқсас).

      TEMPLATES 1 C++ файлдары үшін анықталған (шаблондар қолданылатындығын көрсетеді).

      TLS 1 Thread Local Storage.  C++Builder –де барлық уақытта анықталған.

      TURBOC 0х0540 Версия нөмірі ( BORLANDC ұқсас).

      WCHAR T 1 Тек C++ программаларында анықталағн (wear t — іштей анықталған тип екендігін көрсетеді.

      WCAR T DEFINED 1,  WCHAR Т сияқты.

      Windows  Код үшін анықталғантек Windows-та қолданылады.

      WIN32 1 Консольдік және GUI-қосымшалар үшін анықталған.

Көріп отырғандайкөптеген алдыналаанықталған C++Builder макростары құрылатын компиляцияның әртүрлі параметрлерін командалық жолдан(Ьсс32.ехе копиляторын қолмен жіберу кезінде) бейнелеу үшін қоданыладыОсы жұмыстарды интеграцияланған ортада Project Options диалогы арқылы да орындауға боладыоны біз әлі қарастырамыз.

Праметрлері бар макростар

Макростар тек текстік қойылымдарды ғана орындамайдыПраметрлері бар макростар С тілінің функцияларына ұқсас жұмыстарды да орындайды,мысалы:

#define PI 3.14159265

#define SQR(x) ( (x) * (x) )

#define AREA(x) (PI * SQR(x))

#define MAX(a, b) (<a)>(b) ? (a): (b))

circleArea = AREAfrl + r2);

cMax = MAX(i++, j++);

Үшінші макроанықтағыш макростар ішіне орналасқан бола алатындығын көрсетеді. Макростың әрбір кеңейтілуінен кейін препроцессор алынған тексті жаңадан сканірлейді де ондағы өз кезегінде макрос болып табылатын идентификаторларды анықтайды.

Жөғарыда көрсетілген анықтаулардағы жақшаларға көңіл бөліңіз. Олардан келесі тәртіптерді құрастыруға болады: әрбір параметр және барлық анықтаулар бүтіндей жақшаға алынуы керек. Әйтпесе макросқа кіру кезінде операцияның приоритетіне байланысты қателер шығуы мүмкін. Келесі жағдайды қарастырайық:

#define SQR(x) х*х binom = -SQR(a + b) ;

Макростың кеңейтілуінен кейін келесі жол пайда болады:  binom = -a + b*a + b;

Бағалау тәртібі дұрыс шықпайды.

Макрогенерация – орындалатын модулдің текстін генерациялауды басқару. 

Макрогенерацияны басқару құралдары және макрокеңейтулер құру. Генерация параметрлері мен анықтаулары және олардың қолданылуы.Препроцессор жұмысының нәтижесін тексеру  (визуальды бақылау).

Трансляция фазалары. Орындалатын программаның сканирленуіТранслятор жұмысының лексикалық фазасыСинтакситік фаза. Код генерациясыТранслятор кестесі - әрбір фазадағы кіріс және шығыс ақпараттарыКодтың оптимизациясыОрындалатын (жүктемеленетін) файл форматтары. Жүктемелегіштің қызметі және жүктемеленетін файлдағы ақпараттардың берілуіАқапарты файлға орналастыру және ақпартпен жүктемелегішті жүргізу.

 Транслятор (компилятор) және құрастырушы (линкер) жұмыстары. Программа текстінің опциясы арқылы трансляцияны және компоновканы басқаруОпциялар тізімі және олардың қолданылуыКомпиляторды және компоновщикті орнату  – Project Options диалог терезесінің CompilerLinkerқосылғыштары.

Аспаптардың жұмысын басқару файлдарын құру – командалық файлдарәр түрлі тілдегі программа компоновкасы.

 Программаның берілуінің аралық формалары. Транслятор кестелері, байланыс редакторы, жүктемелегіш,  орындағыш (диспетчер міндеті). Объектілік модулдер құрылымы. Компоновкалау, жүктемелеу және тарату этаптарындағы орындалатын модулдердің паралелденуі. Микропроцессордың гиперконвейерлік мүмкіндіктеріне программаны ауыстыру аспаптарын орнату. Turbo-қабықшалар - текстік редактор, жөндегіш, компилятор, тапсырмалар құрушы - maker, байланыс редакторы. Текстінің командалық құрылуы. Текстілік редакторлардың жұмысын ұйымдастыру. Редактор функцияларының стандартты жиыны. Программаны жазу жұмыстарын жеделдету. Турбо қабықшалардың қосымша функциялары.

   Visio құрушылары, дизайнерлер. Визуальды жобалау аспаптарының құрамыВизуальды компонент қасиеттерін орнату. «Фокус» түсінігі және оның визуальды жобалаудағы қолданылуыОбьектілер қасиетін программалы өзгертуВизуальды құрушылардың көртүрлілігіолардыңклассификациясы және салыстырмалы мінездемесі.

Обьектілер кітапханасы. Обьектілер және кітапханалармен жұмыс істеу аспаптары.  Стандартты және жүйелік компонент жиындары. Компоненттің пакеттелуі. Компоненттердің қосымша жиыны. Динамикалық жүктелетін кітапханалар құру. Пакеттеу және компоненттерді орналастыру. Жобалау уақытының пакеті және орындалу уақытының пакеті. Пакеттердің қолданылуы. Пакентті орналастыру әдістемесі немесе әйпесе бөлек компоненттерді және аспаптарды визуальды құрастырушылар кітапханасына орналастыру.

 

 

Бақылау сұрақтары:

1.      Орындалатын модул құрғаннан кейін программаның ауысу этаптары?

2.      Препроцессор жұмысы?

3.      Компилятор жұмысы?

4.      Компиляция процессі қандай қадамдардан тұрадыкомпиляция нәтижесінде не алынады және      

      компилятор қандай кесте құрады?

5.      Компоновщик жұмысы және ол қандай объектілермен жұымыс жасайды?

6.      maker қай кезде қолданыладыол нені және қалай экономдайды?

7.      Текстуальды және визуальды программалаудың айырмашылықтары?

8.      Пакеттер не үшін керек және олардың артықшылықтары?

9.      Командалық файлдар не үшін керек және программалық аспаптарды қолданғанда олардың

      атқаратын ролі?

Категория: Информатика | Добавил: admin_ (01.12.2013)
Просмотров: 1582 | Теги: ресурсы, Физикалық жобалау процедурасы – тәр, құжаттары, аспабы | Рейтинг: 0.0/0
Всего комментариев: 0

Имя *:
Email:
Код *: