pro*c makefile ±àд
¸Ãmakefile Ö»ÊÇÔÚlinux ÖвâÊÔ¹ý£¬ Èô²ÉÓÃhu-ux Ö»ÒªÒÔÏÂmakefileÖеÄgcc ¸ÄΪaCC µ«
hu-ux δ²âÊÔ
1¡¢Ê×ÏÈÈ·¶¨pro*c ¹¤³ÌĿ¼½á¹¹
proc/bin
proc/include
proc/lib
proc/src
src/libsrc
src/project_src
.........
ÒÔÏÂmakefile Ïà¹ØÎļþ¶¼ÊÇ·ÅÔڵײãÎļþ¼ÐÏ£¬ÐèҪн¨Ô´´úÂëÎļþ¼ÐÇëÔÚsrc Îļþ¼ÐÏ´´½¨
¶ÔÓ¦µÄmakefile
PRJHOME=../..
.SUFFIXES:.c .pc .o
CC=gcc
CFLAG=-c
PROC=proc
PFLAG=mode=ansi
#PPOOL=cpool=yes
#PTHREAD=threads=yes
LIBDIR=-L${PRJHOME}/lib
INCLDIR=-I${PRJHOME}/include
ORA_INCL=-I${ORACLE_HOME}/precomp/public
ORA_LIB=-L${ORACLE_HOME}/lib -lclntsh
.c.o:
${CC} ${CFLAG} -o $@ $< ${INCLDIR}
.pc.o:
${PROC} ${PFLAG} $< include=${PRJHOME}/include
${CC} ${CFLAG} -o $@ ${<:.pc=.c} ${INCLDIR} ${ORA_INCL}
rm -f ${<:.pc=.c}
LIBS=
EXEC=${CC} -o $@ $^ ${INCLDIR} ${LIBDIR} ${LIBS} ${ORA_INCL} ${ORA_LIB};\
rm -f *.o \
rm -f tp?????? \
rm -f *.lis \
mv $@ ${PRJHOME}/bin;
BINS= ${LINE_NAME} \
all: $(BINS)
PC_SRC0= ${LINE_NAME}.pc
OBJ0=$(PC_SRC0:.pc=.o)
${LINE_NAME}:${OBJ0}
${EXEC}
clean:
rm -f *.o
rm -f tp??????
rm -f *.lis
¶ÔÓ¦µÄmakeproc
#!/bin/sh
if [ $# == 1 ] && [ $1 == 'clean' ]
then
rm -f *.c
rm -f tp??????
rm -f *.lis
rm -f *.o
exit 0
fi
typeset -i A=0 B=0
if [ $# != 0 ]
then
for i in `echo $@`
do
LINE_NAME=$i
export LINE_NAME
make >>log_make.log
if [ $? = 0 ]
then
A=A+1
echo -e "[`date '+%Y-%m-%d %T'`][$LINE_NAME]:±àÒë³É¹¦"
else
B=B+1
echo -e "[`date '+%Y-%m-%d %T'`][$LINE_NAME]:±àÒëʧ°Ü"
fi
done
else
while read LINE
do
LINE_NAME=$LINE
if [ -z ${LINE_NAME} ]
then
continue
fi
if [ `echo ${LINE_NAME:0:1}` == '#' ]
then
continue
fi
export LINE_NAME
make >>log_make.log
if [ $? = 0 ]
then
A=A+1
echo -e "[`date '+%Y-%m-%d %T'`][$LINE_NAME]:±àÒë³É¹¦"
else
B=B+1
echo -e "[`date '+%Y-%m-%d %T'`][$LINE_NAME]:±àÒëʧ°Ü"
Ïà¹ØÎĵµ£º
µ±Òª½¨Á¢Ï̵߳Èʱ£¬ÔÚLinuxÏ£¬ÓÃÎı¾±à¼£¬ÔÚ¼üÈë“g++ -lpthread”.......“¿ÉÒÔ°Ñ¿âpthreadÒýÈ딣¬±àÒëͨ¹ý¡£ÏÖÔÚÏëÓÃeclipse£¬µ«ÊÇĬÈÏÇé¿öÏ£¬ÒýÈë²»ÁËpthread¡£»á±¨“undefined reference to phread_create”µÈ´íÎó¡£
½â¾ö·½·¨£º¿ÉÒÔÔÚprojectÖкõ½properties
ÔÚÀïÃæµÄ&ldquo ......
ת×Ô£ºhttp://blog.csdn.net/xiaocai0001/archive/2006/04/14/662921.aspx
static¹Ø¼ü×ÖÊÇC, C++Öж¼´æÔڵĹؼü×Ö, ËüÖ÷ÒªÓÐÈýÖÖʹÓ÷½Ê½, ÆäÖÐǰÁ½ÖÖÔÚC/C++ÓïÑÔÖÐʹÓÃ, µÚÈýÖÖÖ»ÔÚC++ÖÐʹÓÃ(C,C++ÖоßÌåϸ΢²Ù×÷²»¾¡Ïàͬ, ±¾ÎÄÒÔC++Ϊ׼).
(1)¾Ö²¿¾²Ì¬±äÁ¿
(2)Íⲿ¾²Ì¬±äÁ¿/º¯Êý
(3)¾²Ì¬Êý¾Ý³ÉÔ±/³ÉÔ±º¯Êý
ÏÂÃæ¾ÍÕâÈ ......
Ô½½çÊÇ×îÄѲéµÄ£¬×¢Òâmemcpy strcpy,strncpyÕâЩº¯ÊýʹÓÃǰһ¶¨Òª¼ì²é±ß½ç
¡¡ÌرðÊÇÄãÌṩº¯Êý¸ø±ðÈËÓÃʱ£¬ÄãµÄº¯ÊýÖÐÓõ½ÁËÕâЩ¶«Î÷£¬Ò»¶¨Òª¼ì²é±ðÈË´«¸øÄãµÄÖ¸ÕëµÄ
¡¡±ß½ç
2¡¢±äÁ¿³õʼ»¯
¡¡ÕâÖÖÎÊÌâ񻄿³ÉºÃϰ¹ß£¬·ñÔò³öÀ´Å¼È»ÐÔÎÊÌ⣬·Ç³£ÄѲé
3¡¢¶àÏß³ÌÖ¸Õë¹ÜÀí
¡¡ÔÚ¶àÏ̻߳·¾³ÏÂʹÓÃÖ¸Õëʱ£¬×îºÃ²ÉÓÃÒýÓü ......
Ò»¡¢×Ö·û´®³õʼ»¯·½Ê½
//µÚÒ»ÖÖ£º´óСȷ¶¨µÄÇé¿ö
char string1[10] = "I am a boy";
//µÚ¶þÖÖ£º×Ô¶¯¼ÆËã´óС
char string2[] = "I am a boy";
//µÚÈýÖÖ£º³õʼ»¯Ò»¸öÖ¸Õë
char *string3 = "I am a boy";
//µÚËÄÖÖ£º³õʼ»¯Ò»¸öÖ¸ÕëÊý×é
char *string4[10] = "I am a boy";
......