java生成动态库so 为什么有很多出名开源的C/C 方面的高性能网络库,比如libevent,boost-asio,有些企业还要自己写?
为什么有很多出名开源的C/C 方面的高性能网络库,比如libevent,boost-asio,有些企业还要自己写?
我认为,是构建轮子还是直接使用开源库,很大程度上取决于部门负责人的个人喜好。曾几何时,c开发人员热衷于重新构建轮子,那么为什么有些企业要自己编写呢?我在项目开始时不知道这个库的存在,我不想以后再介绍它。
2)许多第三方库依赖于许多其他第三方库。要引进a馆,就得引进B馆、C馆、D馆,这无疑增加了院系成员的学习成本。
3)第三方开源库通常会频繁更新。如果你知道有一个bug,你想更新它吗?基础库的更新无疑会花费更多的开发时间和测试时间。
4)使项目整体可控。一旦引入的开放源代码库出现问题并且项目团队不熟悉它,这将是灾难性的。
5)现有开源库过于复杂,学习成本高,团队成员水平参差不齐。
最后,附上一本我前段时间读过的书。
本文是作者《一个程序员的奋斗史》悟空问答原创文章,未经允许转载,抄袭将被追究
so是什么文件?
所以file是Linux下的程序函数库,即编译后的代码和数据,可以被其他程序使用。
1. 所以文件类似于。DLL文件。
2. 一般来说,动态链接库通常被称为动态链接库,它是用C或C语言编写的,与Java相比,它通常使用类文件(字节码)。
3. 所以Linux下的文件不能直接运行。一般来说,。所以文件被称为共享库。
4. 如何使用so文件
(1)编译动态库。这里有一个头文件:soTest。H、 三个。C文件:testa.C、test.C、testC.C。我们将这些文件编译成一个动态库libtest.so文件.
命令:$GCC test a.c test b.c test c.c-fPIC-shared-olibtest.so文件没有此标志,外部程序无法连接。相当于一个可执行文件。
(2)有一个程序源文件测试。C语言与动态库libtest.so文件链接生成执行文件测试:
命令:$GCC test。命令:$lddtest executetest,您可以看到它如何调用动态库中的函数。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。