普通网友 2015-03-12 03:28 采纳率: 19%
浏览 1448

关于代码编译连接的细节问题

在终端通过pkg-config --libs gtk+-2.0命令获得代码做连接动作时gtk库的搜索路径如下:

 -L/usr/local/arm-linux/arm-linux/lib -L/usr/local/arm-linux/lib -L/usr/local/arm-linux//lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lX11

例如第一个路径-L/usr/local/arm-linux/arm-linux/lib下有N多动态/静态库文件如下图:
图片说明
问题来了:
1.编译器确切地知道哪个库文件中会有需要的接口函数吗?
2.如果它知道,是怎样知道的?
3.如果编译器不知道,那么它是在该路径下挨个库文件打开搜索吗?这样不会慢成马吗?

  • 写回答

3条回答 默认 最新

  • threenewbee 2015-03-12 03:43
    关注

    不知道,需要头文件来指示。头文件包含对静态库中函数原型的定义。

    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置