码迷,mamicode.com
首页 > 其他好文 > 详细

gcc的简单使用

时间:2016-04-10 06:46:39      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

1. 编译选项-E、-S、-c

  选项告诉gcc编译过程停在哪一步(源程序到目标程序大致经历预处理、编译、汇编、链接等阶段)。

  -c 编译或汇编源程序文件, 不链接

  -S 停止编译后的阶段, 生成汇编代码, 不汇编

  -E 停止预处理后的阶段,

 

 -I(大写i)添加头文件的搜索路径

 -L添加库文件搜索路经 

2. 静态库

  gcc -c add.c -o add.o

  ar rcs libadd.a add.o

  gcc -o main main.c  /lib/libadd.a

  gcc -o main main.c -L/lib -ladd

   add.c如下

#include "add.h"

int add(int a, int b)
{
    return  a + b;
}

 add.h如下

#ifndef __ADD_H__
#define __ADD_H__

int add(int a, int b);

#endif

 main.c如下

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

int main(int argc, char *argv[])
{
    int sum = 0;
    int i = 0;

    if(argc >= 3) {
        //for(i = 1; i < argc; i++) printf("argv[%d] = %s\n", i, argv[i]);
        sum = add(atoi(argv[1]), atoi(argv[2]));    
    } else {
        printf("too little argment!\n");
    }

    printf("sum = %d\n", sum);

    return  0;
}

  执行结果如下

  技术分享

3. 动态库

  gcc -fPIC -g -c add.c -o add.o

  gcc -shared -o libadd.so add.o

  gcc -o main main.c -L. -ladd

  同样的代码执行如下:

  技术分享

gcc的简单使用

标签:

原文地址:http://www.cnblogs.com/zhanglong71/p/5248073.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!