linux c的连接库和怎么同时编译多个源程序

1、理解库函数

      库函数有头文件和库文件(so 或者 a)的集合

     1)头文件的默认目录

    /usr/include

     2)库文件的默认目录

         

    /user/lib

     3)linux的库文件分为动态连接库(.so)和静态连接库(.a)

         他们之间的差距在于程序执行时所需代码是运行时加载的,海山编译是静态加载的,默认情况下,gcc在链接时优先使用动态链接库


2、用 -I 编译不是默认路径的头文件

        such as:  我们有个头文件路径,/usr/chenyu/include ,编译命令如下

       

   gcc -I /usr/chenyu/include hello.c -o hello


3、用-L编译不是默认路径的库文件(动态连接库)

          such as:  我们有个库文件路径/user/chenyu/lib 下有个libhello.so文件的编译命令如下(libhello.so可以简写成lhello)

         

    gcc -L /usr/chenyu/lib -lhello -o hello


4、用-static 编译不是默认路径的库文件(静态连接库)

         such as:  我们有个库文件路径/user/chenyu/lib 下有个libhello.a文件的编译命令如下(libhello.a可以简写成lhello)

        

    gcc -L /usr/chenyu/lib -tatic -lhello -o hello


5、同时编译多个源程序

       比如文件hello1.c、hello2.c、hello3.c,编译命令如下

      

   gcc hello1.c hello2.c hello3.c -o hello


6、用管道-pipe优化编译 

      如果源程序很多,有100多个,我们用gcc编译了一次,但是修改其中的一个文件再去编译,这个时候会重新编译,会浪费时间,我们可以用-pipe命令来优化,但是会消耗内存大点

     

  gcc -pipe hello.c -o hello


    

你可能感兴趣的:(Linux,C/C++)