测试GCC和make是否正常工作
2007-07-18 23:48
393 查看
我下一周的主要工作就是要让CDC在Linux-x86平台上跑起来,《论语·魏灵公》:“工欲善其事,必先利其器。“,所以,我首先要测试以下我的编译环境是否建好。首先创建几个文件:
defs.h:
###################################################################################
#ifndef BOLIDA_DEFS_H
#define BOLIDA_DEFS_H
#define DEFS_NAME "defs"
#endif
###################################################################################
command.h:
###################################################################################
#ifndef BOLIDA_COMMAND_H
#define BOLIDA_COMMAND_H
#define COMMAND_NANE "command"
#endif
###################################################################################
buffer.h:
###################################################################################
#ifndef BOLIDA_BUFFER_H
#define BOLIDA_BUFFER_H
#define BUFFER_NAME "buffer"
#endif
###################################################################################
main.c:
###################################################################################
#include "defs.h"
#include "stdio.h"
int main()
{
printf("%s/n","main begin!");
printf("main print: %s/n","main");
printf("reference defs: %s/n", DEFS_NAME);
printf("%s/n","main end!");
return 0;
}
###################################################################################
utils.c:
###################################################################################
#include "defs.h"
#include "stdio.h"
void utils_print()
{
printf("%s/n","utils begin!");
printf("utils print: %s/n","utils");
printf("reference defs: %s/n", DEFS_NAME);
printf("%s/n","utils end!");
}
###################################################################################
command.c:
###################################################################################
#include "defs.h"
#include "command.h"
#include "stdio.h"
void command_print()
{
printf("%s/n","command begin!");
printf("command print: %s/n","command");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference command: %s/n", COMMAND_NANE);
printf("%s/n","command end!");
}
###################################################################################
display.c:
###################################################################################
#include "defs.h"
#include "buffer.h"
#include "stdio.h"
void display_print()
{
printf("%s/n","display begin!");
printf("display print: %s/n","display");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference buffer: %s/n", BUFFER_NAME);
printf("%s/n","display end!");
}
###################################################################################
files.c:
###################################################################################
#include "defs.h"
#include "buffer.h"
#include "command.h"
#include "stdio.h"
void files_print()
{
printf("%s/n","files begin!");
printf("files print: %s/n","files");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference buffer: %s/n", BUFFER_NAME);
printf("reference command: %s/n", COMMAND_NANE);
printf("%s/n","files end!");
}
###################################################################################
insert.c:
###################################################################################
#include "defs.h"
#include "buffer.h"
#include "stdio.h"
void insert_print()
{
printf("%s/n","insert begin!");
printf("insert print: %s/n","insert");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference buffer: %s/n", BUFFER_NAME);
printf("%s/n","insert end!");
}
###################################################################################
kbd.c:
###################################################################################
#include "defs.h"
#include "command.h"
#include "stdio.h"
void kbd_print()
{
printf("%s/n","kbd begin!");
printf("kbd print: %s/n","kbd");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference command: %s/n", COMMAND_NANE);
printf("%s/n","kbd end!");
}
###################################################################################
search.c:
###################################################################################
#include "defs.h"
#include "buffer.h"
#include "stdio.h"
void search_print()
{
printf("%s/n","search begin!");
printf("search print: %s/n","search");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference buffer: %s/n", BUFFER_NAME);
printf("%s/n","search end!");
}
###################################################################################
GNUmakefile:
###################################################################################
#Set var
CC = gcc
LD = ld
OBJS = main.o kbd.o command.o display.o insert.o search.o files.o utils.o
#get final target
#----------------------
mytestmake : $(OBJS)
@echo "begin!"
$(CC) -o mytestmake $(OBJS)
#----------------------
#get obj
#----------------------
main.o : main.c defs.h
$(CC) -c main.c
kbd.o : kbd.c defs.h command.h
$(CC) -c kbd.c
command.o : command.c defs.h command.h
$(CC) -c command.c
display.o : display.c defs.h buffer.h
$(CC) -c display.c
insert.o : insert.c defs.h buffer.h
$(CC) -c insert.c
search.o : search.c defs.h buffer.h
$(CC) -c search.c
files.o : files.c defs.h buffer.h command.h
$(CC) -c files.c
utils.o : utils.c defs.h
$(CC) -c utils.c
#-----------------------
#clean
#-----------------------
.PHONY : clean
clean :
-rm mytestmake ./$(OBJS)
###################################################################################
将这12个文件放在同一个目录下,然后cd到这个目录下,输入make命令,可以看见编译没有问题,再执./mytestmake 可以看见main函数中的输出可以正确显示!
defs.h:
###################################################################################
#ifndef BOLIDA_DEFS_H
#define BOLIDA_DEFS_H
#define DEFS_NAME "defs"
#endif
###################################################################################
command.h:
###################################################################################
#ifndef BOLIDA_COMMAND_H
#define BOLIDA_COMMAND_H
#define COMMAND_NANE "command"
#endif
###################################################################################
buffer.h:
###################################################################################
#ifndef BOLIDA_BUFFER_H
#define BOLIDA_BUFFER_H
#define BUFFER_NAME "buffer"
#endif
###################################################################################
main.c:
###################################################################################
#include "defs.h"
#include "stdio.h"
int main()
{
printf("%s/n","main begin!");
printf("main print: %s/n","main");
printf("reference defs: %s/n", DEFS_NAME);
printf("%s/n","main end!");
return 0;
}
###################################################################################
utils.c:
###################################################################################
#include "defs.h"
#include "stdio.h"
void utils_print()
{
printf("%s/n","utils begin!");
printf("utils print: %s/n","utils");
printf("reference defs: %s/n", DEFS_NAME);
printf("%s/n","utils end!");
}
###################################################################################
command.c:
###################################################################################
#include "defs.h"
#include "command.h"
#include "stdio.h"
void command_print()
{
printf("%s/n","command begin!");
printf("command print: %s/n","command");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference command: %s/n", COMMAND_NANE);
printf("%s/n","command end!");
}
###################################################################################
display.c:
###################################################################################
#include "defs.h"
#include "buffer.h"
#include "stdio.h"
void display_print()
{
printf("%s/n","display begin!");
printf("display print: %s/n","display");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference buffer: %s/n", BUFFER_NAME);
printf("%s/n","display end!");
}
###################################################################################
files.c:
###################################################################################
#include "defs.h"
#include "buffer.h"
#include "command.h"
#include "stdio.h"
void files_print()
{
printf("%s/n","files begin!");
printf("files print: %s/n","files");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference buffer: %s/n", BUFFER_NAME);
printf("reference command: %s/n", COMMAND_NANE);
printf("%s/n","files end!");
}
###################################################################################
insert.c:
###################################################################################
#include "defs.h"
#include "buffer.h"
#include "stdio.h"
void insert_print()
{
printf("%s/n","insert begin!");
printf("insert print: %s/n","insert");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference buffer: %s/n", BUFFER_NAME);
printf("%s/n","insert end!");
}
###################################################################################
kbd.c:
###################################################################################
#include "defs.h"
#include "command.h"
#include "stdio.h"
void kbd_print()
{
printf("%s/n","kbd begin!");
printf("kbd print: %s/n","kbd");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference command: %s/n", COMMAND_NANE);
printf("%s/n","kbd end!");
}
###################################################################################
search.c:
###################################################################################
#include "defs.h"
#include "buffer.h"
#include "stdio.h"
void search_print()
{
printf("%s/n","search begin!");
printf("search print: %s/n","search");
printf("reference defs: %s/n", DEFS_NAME);
printf("reference buffer: %s/n", BUFFER_NAME);
printf("%s/n","search end!");
}
###################################################################################
GNUmakefile:
###################################################################################
#Set var
CC = gcc
LD = ld
OBJS = main.o kbd.o command.o display.o insert.o search.o files.o utils.o
#get final target
#----------------------
mytestmake : $(OBJS)
@echo "begin!"
$(CC) -o mytestmake $(OBJS)
#----------------------
#get obj
#----------------------
main.o : main.c defs.h
$(CC) -c main.c
kbd.o : kbd.c defs.h command.h
$(CC) -c kbd.c
command.o : command.c defs.h command.h
$(CC) -c command.c
display.o : display.c defs.h buffer.h
$(CC) -c display.c
insert.o : insert.c defs.h buffer.h
$(CC) -c insert.c
search.o : search.c defs.h buffer.h
$(CC) -c search.c
files.o : files.c defs.h buffer.h command.h
$(CC) -c files.c
utils.o : utils.c defs.h
$(CC) -c utils.c
#-----------------------
#clean
#-----------------------
.PHONY : clean
clean :
-rm mytestmake ./$(OBJS)
###################################################################################
将这12个文件放在同一个目录下,然后cd到这个目录下,输入make命令,可以看见编译没有问题,再执./mytestmake 可以看见main函数中的输出可以正确显示!
相关文章推荐
- 测试Linux网卡是否正常工作
- 微软自己写的~测试远程数据库是否工作正常
- 如何简单的测试kubernetes的dns add-ons是否工作正常?
- 测试杀毒软件是否在正常工作
- 测试Linux网卡是否正常工作
- 测试Linux网卡是否正常工作
- 树莓派3B验证SPI是否正常工作
- 怎样测试串口和串口线是否正常
- 测试数据库连接是否正常 Sql server 2005
- 2014-03-14周五工作日志:检查指定目录是否存在的函数MakeSureDirectoryPathExists
- 怎样测试串口和串口线是否正常
- 测试某个类运行是否正常的方法
- 做一个简单的PHP测试页来测试是否正常
- 【和小强学移动app测试5】Android虚拟机无法正常工作几例及解决办法
- 测试公式是否正常显示
- 使用 sys.sp_testlinkedserver 测试Linked Server 连接是否正常
- 易语言测试与指定主机是否能够正常通讯
- 第36周星期四小结如何测试sql服务是否安装并正常运行
- telnet命令 测试端口连接是否正常
- 新路程------hi3516a uboot测试网络是否正常