易截截图软件、单文件、免安装、纯绿色、仅160KB

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]:编译失败"


相关文档:

C标准库

索引:
1 输入与输出
1.1 文件操作
1.1.1 fopen
1.1.2 freopen
1.1.3 fflush
1.1.4 fclose
1.1.5 remove
1.1.6 rename
1.1.7 tmpfile
1.1.8 tmpnam
1.1.9 setvbuf
1.1.10 setbuf
1.2 格式化输出
1.2.1 fprintf
1.2.2 printf
1.2.3 sprintf
1.2.4 snprintf
1.2.5 vprintf
1.2.6 vfprintf
1.2.7 vsprintf ......

linux 下C、C++编程资料




GCC    中文手册   
     http://www.nbfan.com/forum/dispbbs....&ID=1433&page=1   
     GNU    make    指南   
     http:/ ......

ARM C嵌入式编程中的几个关键字

ARM C嵌入式编程中的几个关键字
1、访问绝对地址的内存位置:
     #define pISR_EINT0 (*(unsigned *) (_ISR_STRATADDRESS+0x74))
     上述语句把无符号整数_ISR_STRATADDRESS+0x74强制转换为指针,指向RAM,用下面的语句可以访问它:
pISR_EINT0 = (int)Eint0_ISR
 & ......

c/c++内存划分

一、一个经过编译的C/C++的程序占用的内存分成以下几个部分:
  1、栈区(stack):由编译器自动分配和释放 ,存放函数的参数值、局部变量的值等,甚至函数的调用过程都是用栈来完成。其操作方式类似于数据结构中的栈。
  2、堆区(heap) :一般由程序员手动申请以及释放, 若程序员不释放,程序结束时可能由OS回收 ......

C/C++与Java函数重载区别!

#include <iostream>
using namespace std;
class Base {
public:
virtual void fn(int x) {
cout << "In Base class, int x = " << x << endl;
}
};
class SubClass : public Base {
public:
// 函数的重载,这样的重载方式,在Java中能行,在C/C++中却不行
virt ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号