Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

КонстрПЗ_ПI_ЛР2014_ч2

.pdf
Скачиваний:
4
Добавлен:
07.02.2016
Размер:
2.18 Mб
Скачать

“ ”

6.050103 “& '” ( * )

2014

2

-

/ 0 ” -

6.050103 “& '” ( * -). 1 22 / 4. 5. 5, 5. 5. 5, 7. . 8. –

'' : ;<, 2014. – 70 .

4:

4. 5. 5, . . ., ,

 

5. 5. 5, . . ., ,

 

7. . 8,

>: ?. 5. ?, . . ., *

@

: @. 2. A, . . ., *

'

*

& B 1

“20” 2014 .

3

...........................................................................................................

5

1 1 ! "

#"$%: nMake

CMake .........................................................................................................

6

1.1

..........................................................................................

6

1.2

/ ..............................................................

6

1.2.1 > ...............................................................................

7

1.2.2 * make-* .............................................

7

1.2.3 > make-* .....................................................................

8

1.2.4 ; 0 ....................................................................

10

1.2.5 CMake ...............................................................................................

14

1.3

.............................................................................

18

1.4

............................................................................................

19

1.5

/ ............................................................................

19

2 2 % ! .$/# 0 #1

 

" /2 %#$3. Mercurial...................................................................

21

2.1

.....................................................................................................

21

2.2

/ ............................................................

21

2.2.1 & ................................................................................

21

2.2.2 > K..................................................

22

2.2.3 5 Mercurial......................................

23

2.2.4 5 .............................................

24

2.2.5 > ' 0 Mercurial ....................

26

2.3

.............................................................................

32

2.4

............................................................................................

32

2.5

/ ............................................................................

33

3 3 % ! " % IDE Eclipse.

 

% ! Apache Tomcat. % HTML..............................

34

3.1

.....................................................................................................

34

3.2

/ ............................................................

34

3.2.1 5 IDE Eclipse ......................................................

34

3.2.1.1 > Eclipse ...............................................................

35

3.2.1.2 Java Development Tools (JDT)......................................................

36

3.2.1.3 A .........................................................................

41

3.2.1.4 4 * Eclipse...................................................

41

 

4

 

3.2.2 5 Apache Tomcat.....................................................

43

3.2.3 5 HTML ..................................................................................

45

3.2.3.1 5 HTML......................................................

45

3.2.3.2 ` HTML ...........................................................................

46

3.2.3.3 . GET POST .......................................................

52

3.2.3.4 @ * GET POST ..........

53

3.3

.............................................................................

54

3.4

............................................................................................

55

3.5

/ ............................................................................

56

4 4 G ! " # %/#$%................................

58

4.1

.....................................................................................................

58

4.2

/ ............................................................

58

4.2.1 ; 0 Eclipse......................................................................

58

4.2.2 ? Tomcat- .............................................................

60

4.2.3 5 e ...........................................................................

61

4.2.4 ; 0 web- ............................................................

62

4.3

.............................................................................

63

4.4

............................................................................................

65

4.5

/ ............................................................................

65

5 5 G ! " JSP ..........................................

66

5.1

.....................................................................................................

66

5.2

/ ............................................................

66

5.3

.............................................................................

68

5.4

............................................................................................

69

5.5

/ ............................................................................

69

$#................................................................................................

70

5

NO

A K

* 0

.

@ *

0

0. , '

, -

. < , ,

. < -

, -

. & - ' e .

A ' ' K

* , ' K 0

.

K :

e ( 0 ,

, *, , i ,

, i K , );

;

;

;

;

.

0 * A4 (210 x 297 ). < i 0 K . &

– 20 . 4 e 00 0 -

i 0 *.

& -

, ,

' , -

* K0

. ?

. A

,

.

6

1 P G G G P 1

P P G OG: QMAKE CMAKE

1.1 #

-

nmake. ; - 0 CMake.

1.2 "$ # # S$ %$. 1$

& ' . 1

e 0 IDE (Integrated Development Environment, i ), K, i

K – , i -

* ( )

IDE ( , Visual Studio). 5 -

' K nmake, -

Microsoft.

2 K *, -. Microsoft Visual C++ * K

:

* .../Visualstudio/vc7/bin (cl.exe, link.exe

. .);

*;

:

;

pdb-*, i ( ) debug- . 5

' - , ' . < ' '

0

.

< , - K:

*;

0 ;

.

5 ', IDE :

7

) , i K :

1)bin – *.exe;

2)include – *.h;

3)static_data – *.lib *.pdb;

4)dynamic_data – *.dll.

) :

1)build;

2)config;

3)src.

5 - -

, e -

, , CPP_BUILDER_HOME.

1.2.1 G# /$! Y$Z ! "

Make-* * * nmake. 0 - e *.mak. u ' 0-

, . >-

, ' 0, cmd- .

Make-* 0 !IQCLUDE,

include C++. u '

, i 0 ( , * common.mak).

A ' '

make-*. < , K 0, , -

' 0 ' debug release K0

make-* ( 0

config):

common.mak;

dll_debug.mak;

dll_release.mak.

1.2.2 ] /^ $ _ 1 Y$Z make-_ 3/

Make-* K . 0 :

VARIABLE_NAME = VARIABLE_VALUE

5 ' ' :

8

FIRST_VARIABLE = SOME_VALUE SECOND_VARIABLE = $(FIRST_VARIABLE)

4 ' ' . / 0 , i K #. v make-* – targets. Target – *-

, ' . ' targets ' -

0 ': target1:

#target1 command

target2:

#target2 command

target0 : target1 target2 #target0 command

target0 -

target1 target2, target1 target2.

' , target e-

target ' , e e. ;, K *.cpp *, -

*.obj. x i K , i K,

- *.cpp ' *.obj, '

*.cpp 0 target 0, i K

*.cpp *.obj.

7 e, ' -

. <, , cpp, obj.

? , , *.cpp *.obj, K

:

.cpp.obj: command

1.2.3 G# /$! Y$Z make-_ 3/$%

i ' -

make-*.

common.mak:

#*+,-./01+ 1/23и56-/.+

9

COMPILER=$(CPP_BUILDER_HOME)/bin/cl.exe COMPILER_DLL_RELEASE_FLAGS=/Ox /Og /D "WIN32" /D "_CONSOLE" /D "_WINDLL" /D "_MBCS" /D "_AFXDLL" /EHsc /MD /GS /W3 /nologo /c /Wp64 /TP

COMPILER_DLL_DEBUG_FLAGS=/Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_WINDLL" /D "_MBCS" /Gm /EHsc /RTC1 /MTd /Fd"$(BUILD_PATH)/$(PRODUCT_NAME).pdb" /W3 /nologo /c /Wp64 /ZI /TP

COMPILER_INCLUDES=/I"$(CPP_BUILDER_HOME)/include" /I"$(SRC_PATH)"

#*+,-./01+ 5и*1G.+

LINKER=$(CPP_BUILDER_HOME)/bin/link.exe LINKER_DLL_RELEASE_FLAGS=/NOLOGO /INCREMENTAL /SUBSYSTEM:console /MACHINE:X86 LINKER_DLL_DEBUG_FLAGS=/NOLOGO /INCREMENTAL /DEBUG /PDB:"$(BUILD_PATH)/$(PRODUCT_NAME).pdb" /SUBSYSTEM:console /MACHINE:X86

dll_debug.mak:

!INCLUDE common.mak

#Make-N+05, PG*G.и.QG2R0 ,1.и3-/2 и ,/SG.T+Uи0 +.PQ2G*-R

#1/23и56-/.+(COMPILER_FILE_SET) и 5и*1G.+(LINKER_FILE_SET).

#V26 W-/P/ N+05+(ARGS_FILE) /3.GSG56G-,6 X ,1.и3-G Y+3Q,1+. !INCLUDE $(ARGS_FILE)

#ZG.XR0 target X N+05G, Y*+[и-, /* \QSG- XR3/5*6-],6 3.и Y+-

3Q,1G nmake.

#^/2+*S+ W-/P/ target ,/,-/и- X 5и*1/X1G *+\/.+ *.obj, 3G.G- S+**/P/ X

#3G.G2G**/0 LINKER_FILE_SET. Z.и W-/2 и,3/5]YQ`-,6 15`[и 5и*- 1G.+, /3.GSG5G**RG

#X 3G.G2G**/0 LINKER_DEBUG_FLAGS. a56 -/P/, [-/\R *+2 \R5/ [-/ 5и*1/X+-],

#,*+[+5+ *+S/ W-/ [-/--/ 3/5Q[и-]. a56 W-/P/ XR,-+X56G2 Y+Xи- ,и2/,-] /-

#*+\/.+ target c .+,bи.G*иG2 obj. c+1 1+1 /3.GSG5G*/ 3.+Xи5/

#3/5Q[G*и6 *.obj иY *.cpp, S56 1+TS/P/ target иY ,3и,1+ Y+Xи- ,и2/,-и \QSG-

#XRYX+*+ 1/2+*S+ иY 3.+Xи5+ .cpp.obj all: $(COMPILER_FILE_SET)

"$(LINKER)" $(LINKER_DLL_DEBUG_FLAGS) - OUT:$(BUILD_PATH)/$(PRODUCT_NAME).dll /DLL $(LINKER_FILE_SET)

#Z.+Xи5/ 3/,-./G*и6 *.obj иY *.cpp. dR3/5*6G- 1/23и56eи` , N5+P+2и,

10

#/3.GSG5G**R2и X 3G.G2G**/0 COMPILER_DEBUG_ARGS. fSG,] и,- 3/5]YQG-,6

#,5QTG\*+6 3G.G2G**+6 $*. g*+ /Y*+[+G- 3Q-] и и26 -G1QUGP/ #target \GY .+,bи.G*и6. c+1 1+1 X W-/ 3.+Xи5/ 3G.GS+`-,6 target XиS+

#*.obj, 3.и2G*G*иG 1 *G2Q XR.+TG*и6 $*.cpp 3./,-/ S+,- *+2

#3Q-] и и26 *.cpp N+05+, 1/-/.R0 S/5TG* \R-] /-1/23и5и./X+*.

.cpp.obj:

"$(COMPILER)" $(COMPILER_DLL_DEBUG_FLAGS) $(COMPILER_INCLUDES) $*.cpp /Fo"$(BUILD_PATH)/"

dll_release.mak:

!INCLUDE common.mak !INCLUDE $(ARGS_FILE)

#hSи*,-XG**/G /-5и[иG W-/P/ target /- +*+5/Pи[*/P/ иY dll_debug.mak

#,/,-/и- X -/2, [-/ 3.и 5и*1/X1G и,3/5]YQ`-,6 N5+Pи, /3.GSG- 5G**RG X

#3G.G2G**/0 LINKER_DLL_RELEASE_FLAGS. all: $(COMPILER_FILE_SET)

"$(LINKER)" $(LINKER_DLL_RELEASE_FLAGS) - OUT:$(BUILD_PATH)/$(PRODUCT_NAME).dll /DLL $(LINKER_FILE_SET)

#hSи*,-XG**/G /-5и[иG W-/P/ 3.+Xи5+ /- +*+5/Pи[*/P/ иY dll_debug.mak

#,/,-/и- X -/2, [-/ 3.и 1/23и56eии и,3/5]YQ`-,6 N5+Pи, /3.G- SG5G**RG X

#3G.G2G**/0 COMPILER_DLL_RELEASE_FLAGS.

.cpp.obj:

"$(COMPILER)" $(COMPILER_DLL_RELEASE_FLAGS) $(COMPILER_INCLUDES) $*.cpp /Fo"$(BUILD_PATH)/"

8 ARGS_FILE, i

COMPILER_FILE_LIST LIQKER_FILE_LIST, '

BUILD_PATH, PRODUCT_QAME SRC_PATH 00

0 . & '. CPP_BUILDER_HOME – , i K e -

( . i).

1.2.4 2% Z "

:

0 ( -

CPP_BUILDER_HOME );