1.二分搜索原则对查找未知位置的语法错误非常有用。
2.库,库缺少问题
缺少库的常见提醒:undefined reference to “function”
库分为两种:静态库、动态库
当编译调用静态库中函数代码时,那些函数成为最终可执行文件的一部分;
当是动态库时,直到实际执行时,这些函数才会真正附到调动代码上。
在Unix系统上,静态库文件名后面加后缀 .a, 即archive;动态库后缀一般为.so, 即shared object; 另外,库名称一般以lib开头。
$ ar rc file.c -l88 -L path //创建静态库$ gcc -fPIC -c b.c //生成目标文件b.o
$ gcc -shared -o lib88 b.o //将目标文件b.o编译生成动态库1 linux ar 命令
2 gcc编译参数-fPIC的一些问题
-L,指示GCC告诉LD在查找函数时顺便在除当前目录外的其他目录中查找一下(以及默认目录)
通过ldd
命令可以检查程序需要哪些库,如果有,操作系统可以在何处找到它们。