终端下编译运行一个简单C++程序流程

test1.c

#include <stdio.h>
#include "test.h"

void test1(){
    printf(add1);
}

 test2.c

#include <stdio.h>
#include "test.h"

void test2(){
    printf(add2);
    for(; i > 0; i--){
        printf("%d-", i);
    }
}

 test.c

#include <stdio.h>
#include "test.h"

char add1[] = "www.shellbox.cn/n";

char add2[] = "www.scriptbox.cn/n";


int i = 10; extern void test1(); extern void test2(); int main(){ test1(); printf("ok/n"); test2(); printf("%d/n", i); return 0; }

 test.h

#ifndef _TEST_H_
#define _TEST_H_

extern char add1[];
extern char add2[]; extern int i; void test1(); void test2(); #endif

 Makefile

test: test.o test1.o test2.o
    gcc -o test test.o test1.o test2.o
test1.o: test1.c
    gcc -c -o test1.o test1.c
test2.o: test2.c
    gcc -c -o test2.o test2.c
test.o: test.c
    gcc -c -o test.o test.c
clean:
    rm test test.o test1.o test2.o

 执行:

make test

  运行:

./test

posted on 2015-06-29 11:55  Matrixin  阅读(797)  评论(0编辑  收藏  举报

导航