C程序在 Linux系统
编辑器: mcedit;vi;emacs
编译: cc;gcc;g++
运行: ./a.out (编译输出的默认文件)
一般是编辑Makefile文件,用make编译工程文件
Makefile 规则通用形式:
target :dependency dependency [....]
command
command
[....]
#一个简单的Makefile:
include ../Make.defines
PROGS = tcpcli tcpserv
all: ${PROGS}
tcpcli: tcpcli.o
${CC} ${CFLAGS} -o $@ tcpcli01.o ${LIBS}
tcpserv: tcpserv.o str_echo.o sigchldwaitpid.o
${CC} ${CFLAGS} -o $@ tcpserv.o str_echo.o sigchldwaitpid.o ${LIBS}
clean:
rm -f ${PROGS} ${CLEANFILES}
#注意:每一个命令的第一个字符必须是制表符,不要用8个空格代替。
#有些编辑器会友好的将制表符转换8个空格,导致编译出错(Missing Seprarator)。
--------------------------------------------------------------------------------
简单的时间/日期客户程序
--------------------------------------------------------------------------------
程序结构
头文件
命令行参数
创建TCP套接口
指定服务器IP地址和端口
建立与服务器的连接
读入并输出服务器的响应
结束程序
--------------------------------------------------------------------------------
源程序示例:
#include "unp.h"
int main(int argc, char **argv)
{
int sockfd,n;
strUCt sockaddr-in servaddr;
char recvline[MAXLINE +1];
sockfd=socket(AF-INET, SOCK-STREAM, 0);
bzero(&servaddr,sizeof(servaddr));
servaddr.sin-family = AF-INET;
servaddr.sin-port=htons(13);
inet_pton(AF-INET, argv[1], &servaddr.sin_addr);
connect(sockfd,(SA*) &servaddr, sizeof(servaddr));
n=read(sockfd, recvline, MAXLINE);
fputs(recvline,stdout);
exit(0);
}