zoukankan      html  css  js  c++  java
  • C、C++编译,链接,extern链接

     1 //b.cpp
     2 
     3 #inlcude <iostream>
     4 
     5 void b()
     6 {
     7     std::cout<<"fun b";
     8 }
     9 
    10 //a.cpp
    11 extern void b();
    12 
    13 int main()
    14 {
    15     b();
    16     return 0;
    17 }
    18 
    19 //makefile
    20 testA: a.o b.o
    21     g++ -o testA a.o b.o
    22 
    23 clean:
    24     rm testA a.o b.o

    b.cpp 和 a.cpp之间没有任何联系,编译时可以分别编译通过生成a.o和b.o,链接时a.o中的b()没有定义,编译器自动的从b.o中查找到。

    这里简单的体现了C语言的单独编译,相互链接的过程,即单独生成“.o”文件,共同生成执行文件。

  • 相关阅读:
    最大子列和
    喷水装置
    某种排序
    三个水杯
    奇偶数分离
    ASCII码排序(未完)
    1002
    if语句
    6.7
    A+B问题 涉及EOF
  • 原文地址:https://www.cnblogs.com/kevinGaoblog/p/3865227.html
Copyright © 2011-2022 走看看