请问在linux中C语言是否可以调用QT生成的动态链接库

weixin_39493451 2018-02-03 04:58:39
请问在linux中C语言是否可以调用QT生成的动态链接库?
如何可以调用该怎么实现?
...全文
1535 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jklinux 2018-02-27
  • 打赏
  • 举报
回复
引用 楼主 weixin_39493451 的回复:
请问在linux中C语言是否可以调用QT生成的动态链接库? 如何可以调用该怎么实现?
应不行吧, qt里是使用c++语言的。c++可以兼容c, 但 c应兼容不了c++. 在qt里使用c的动态库没问题.
zarelaky 2018-02-11
  • 打赏
  • 举报
回复
忘了填类型转换了,void* a 需要指针转换成A*, reinterpret_cast<A*>(a)->show(); delete reinterpret_cast<A*>(a);
zarelaky 2018-02-11
  • 打赏
  • 举报
回复
C++编写的动态库函数名称及使用模型跟c的不太一样,最好将c++功能封装层c调用接口进行使用,否则c++ 的很多特性(RAII, exception等)会被破坏,引起不必要的错误. 简单弄个例子: C++ class A{ public: A(){} ~A(){} void show(){} }; //C code #ifdef __cplusplus extern "C" { #endif // __cplusplus void* A_new() { return new A(); } void A_show(void* a) { a->show(); } void A_destroy(void* a) { delete a; } #ifdef __cplusplus } #endif // __cplusplus
Hello Worm 2018-02-09
  • 打赏
  • 举报
回复
可以,很简单
老马何以识途 2018-02-05
  • 打赏
  • 举报
回复
動態鏈接庫就是有統一標準的,都可以調用。編譯時聲明函數,運行時指定LD_LIBRARY_PATH。
zhxianbin 2018-02-05
  • 打赏
  • 举报
回复
可以,写个 hello world 测试一下就知道了

23,114

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧