社区
Linux/Unix社区
帖子详情
求大神解释一下动态库位置与头文件位置的关系
孤舟蓑笠不倒翁
2014-04-12 03:58:32
*.so动态库的安装位置和头文件*.h的位置有什么关系 我写代码时包含了wiringPi.h头文件,编译后用ldd命令看到我的代码调用了libwiringPi.so动态库,该库位置是/usr/local/lib,但头文件位置是/usr/local/include/,这两者到底是怎么关联的,求大神指导
...全文
163
1
打赏
收藏
求大神解释一下动态库位置与头文件位置的关系
*.so动态库的安装位置和头文件*.h的位置有什么关系 我写代码时包含了wiringPi.h头文件,编译后用ldd命令看到我的代码调用了libwiringPi.so动态库,该库位置是/usr/local/lib,但头文件位置是/usr/local/include/,这两者到底是怎么关联的,求大神指导
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
静之深
2014-04-12
打赏
举报
回复
头文件仅仅是用于编译时用的,跟运行时没有任何关系。编译时默认会到/usr/local/include/找相应函数的定义。运行时才需要动态链接库的支持 这两个路径系统环境变量中都有包含
易语言-易语言编写支持库
========== 1.易支持库机制 ========== !!!易支持库的库信息、命令信息等等均使用某个结构储存 !!!易源码中的自定义数据类型、类模块、组件即为支持库中的库定义数据类型 !!!易语言通过 GetNewInf() 获取支持库信息 !!!所以支持库必须导出这个函数 ========== 2.支持库命令调用 ========== !!!支持库的命令调用方式也比较特殊 !!!每个命令需要三个参数:返回值指针,参数数目,参数信息指针 !!!做个一个库定义数据类型的方法,每个方法的第一个参数为指向该对象的结构指针 ========== 3.简单说下易源码 ========== !!!易保存源码时没有保存各信息名称(比如命令名、数据类型名),而是保存了索引 !!!所以支持库内的各信息有必要时可以修改 !!!但不要改动TA们的顺序,这会导致前期版本的源码出现问题 ========== 4.模版说明 ========== !!!本模版整天来说思路清晰,代码连小白都能理解 !!!模版多数的参数使用通用型,使得模版简便 !!!模版内没有多说废话, 直接把关键的过了一遍, 足够写支持库了 !!!每条命令都演示了支持库的各种操作,能想到的都先写了 !!!暂时没写组件,目前没什么时间了,玩着电脑也冷~ !!!尽量抽时间将组件的开发也模块化 !!!或者各位有心人士可参考 e\sdk\cpp\samples\HtmlView 写一下 ========== 5.关于静态库 ========== !!!本人目前只做了
动态库
,不做静态库原因很多 !!!本来打算做静态库的,不过考虑到某些原因: !!!静态库误报,
动态库
转到静态库时也会出现一些未知问题 !!!个人也建议使用独立编译,5.3已经恢复 !!!更建议用 黑月Cool编译 !!!或者直接就是一个“懒”字! !!!各路有心人士可动手改一下 !!!我也弄好了静态连接名的录入机制 ========== 6.为何选择支持库 ========== !!!其实用模块扩展程序也是足够了 !!!选择做支持库还是安全的 !!!而且支持库有许多模块做不到的功能 ========== 7.关于易功能函数 ========== !!!顾名思义, 就是易内部提供给支持库的函数 !!!主要的用法呢还是得参考 lib2.h(位于 e\sdk\cpp\elib\lib.h) !!!虽说是一个C++
头文件
,但是语文好点、懂易语言就能理解 !!!小学生的语文水平就差不多啦 !!!我还是把一些常用的写到了 类_易功能 这个类里面 !!!各位同学可以看看、、 ========== 【最后】 ========== !!!直说:本人纯属菜鸟一枚, 各路
大神
勿喷即可 ========== 【信息】 ========== !!!模版:易支持库模版 !!!作者:SalHe(Rabbit Group) !!!声明:大鸟勿喷即可 !!!日期:2014年11月8日
易语言编写支持库超简单模版分享-易语言
========== 1.易支持库机制 ========== !!!易支持库的库信息、命令信息等等均使用某个结构储存!!!易源码中的自定义数据类型、类模块、组件即为支持库中的库定义数据类型!!!易语言 通过 GetNewInf() 获取支持库信息!!!所以支持库必须导出这个函数 ========== 2.支持库命令调用 ========== !!!支持库的命令调用方式也比较特殊!!!每个命令需要三个参数:返回值指针,参数数目,参数信息指针!!!做个一个库定义数据类型的方法,每个方法的第一个参数为指向该对象的结构指针 ========== 3.简单说下易源码 ========== !!!易保存源码时没有保存各信息名称(比如命令名、数据类型名),而是保存了索引!!!所以支持库内的各信息有必要时可以修改!!!但不要改动TA们的顺序,这会导致前期版本的源码出现问题 ========== 4.模版说明 ========== !!!本模版整天来说思路清晰,代码连小白都能理解!!!模版多数的参数使用通用型,使得模版简便!!!模版内没有多说废话, 直接把关键的过了一遍, 足够写支持库了!!!每条命令都演示了支持库的各种操作,能想到的都先写了!!!暂时没写组件,目前没什么时间了,玩着电脑也冷~!!!尽量抽时间将组件的开发也模块化!!!或者各位有心人士可参考 e\sdk\cpp\samples\HtmlView 写一下 ========== 5.关于静态库 ========== !!!本人目前只做了
动态库
,不做静态库原因很多!!!本来打算做静态库的,不过考虑到某些原因:!!!静态库误报,
动态库
转到静态库时也会出现一些未知问题!!!个人也建议使用独立编译,5.3已经恢复!!!更建议用 黑月Cool编译!!!或者直接就是一个“懒”字!!!!各路有心人士可动手改一下!!!我也弄好了静态连接名的录入机制 ========== 6.为何选择支持库 ========== !!!其实用模块扩展程序也是足够了!!!选择做支持库还是安全的!!!而且支持库有许多模块做不到的功能 ========== 7.关于易功能函数 ========== !!!顾名思义, 就是易内部提供给支持库的函数!!!主要的用法呢还是得参考 lib2.h(位于 e\sdk\cpp\elib\lib.h)!!!虽说是一个C++
头文件
,但是语文好点、懂易语言就能理解!!!小学生的语文水平就差不多啦!!!我还是把一些常用的写到了 类_易功能 这个类里面!!!各位同学可以看看、 、 ========== 【最后】 ========== !!!直说:本人纯属菜鸟一枚, 各路
大神
勿喷即可 ==========??【信息】??========== !!!模版:易支持库模版!!!作者:SalHe(Rabbit Group)!!!声明:大鸟勿喷即可!!!日期:2014年11月8日怎么编译我还是简单说一下,针对一下小白。编译的时候将文件名的后缀改为fne在放入易语言的支持库目录就好了支持库一发布后就不要修改数字签名和支持库文件名了
怎么样才能使
动态库
调用其他
动态库
的函数生成新的接口并且能被调用。
我使用visual studio创建了一个
动态库
,里面的接口来提供给C#程序来调用。自己写的接口已经调用成功,现在要在
动态库
里面调用别人提供的
动态库
(包含
头文件
,dll文件和lib文件),调用别人提供的函数加上自己的需
求
和逻辑来生成新的函数接口,但是,在调用其他
动态库
后,生成的dll文件被c#程序调用时会出现找不到指定模块,实在是找不到解决办法了,那位
大神
指点一些。请
求
给位
大神
帮我看看怎么办。
VC 6 0中添加库文件和
头文件
VC 6 0中添加库文件和
头文件
动态库
的使用方法
在编写程序时,
动态库
是常常用到的工具,在vs等编程环境下只需要,完成工程的本地化配置或是直接将dll配置到环境变量即可(不推荐,毕竟小题大做了),而对于像楼主这样刚刚接触Linux操作系统的菜鸟来说,配置动态(共享)库还不是一个简单的问题。在介绍
动态库
的调用方法之前,先介绍一下
动态库
的编译(如何生成so文件)需要一个包含几个方法声明的
头文件
和对应的定义文件。 再介绍共享库的显示和隐式调用
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章