前两天写了一个动态库,然后试图编译到程序里面去运行,结果发现编译的时候通过gcc的-L参数来指定路径仅仅能让编译通过,运行时还是会出问题的. 比如下面这个例子: main.c是主程序,sum.c中间含有一个函数add,用来执行加法,代码如下: /* * main.c */ #include <stdio.h> int add(int a, int b); int main(int argc,char *argv[]) { printf(,)); ; } /* * sum.c */ int ad
先看两篇博文,作为基础知识.如果对C/C++编译链接过程都了解的话,可以跳过不看. http://www.firedragonpzy.com.cn/index.php/archives/2556 http://www.cppblog.com/shifan3/archive/2007/01/05/17325.html 一. 编译不同目录下的多个文件 各个文件的布局如下: head.h文件的代码: #ifndef HEAD_H #define HEAD_H int add(int a, int