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 ......
一、一个经过编译的C/C++的程序占用的内存分成以下几个部分:
1、栈区(stack):由编译器自动分配和释放 ,存放函数的参数值、局部变量的值等,甚至函数的调用过程都是用栈来完成。其操作方式类似于数据结构中的栈。
2、堆区(heap) :一般由程序员手动申请以及释放, 若程序员不释放,程序结束时可能由OS回收 ......
1 编译器 有谁真正的理解过一个编译器呢?许多人认为TC很简单很落后,但是即便是这样简单的工具,到底有几个人真正的深入理解了呢?一个简单的编译器都不能理解,如何能成为高手,如何能深入的使用更加高级的工具呢?不要以为自己使用的是VC就很了不起,因为使用这样傻瓜化的工具只能让你看不到事物的本质。接下来我们就来 ......
题目:在屏幕上画一个矩形
要求:每按一次键盘,该矩形转动45度。矩形的大小和转动的方向有键盘输入,并将输入的数据送文件保存,按回车键程序结束。(功能延伸:改变数据文件的内容后,再根据数据文件里的数据绘制矩形)
......
c/s是客户端和服务器,b/s是浏览器和服务器。
c/s在客户端要安装软件的,b/s只要有IE就可以浏览。
c/s的扩展升级比较困难,b/s就很容易的。
c/s的安全性好一些,b/s就没有c/s的高。
c/s一般用在局域网,b/s一般用在广域网。
------------------------------------------------
C/S运用在有专用性的场合。比如 ......