我正在用C ++编写一个程序。 我想把它编译成一个Linux库,比如Windows中的一个DLL。 我怎么能做到这一点? 你知道如何创build库的任何教程?
我只是想明白,这是一个Linux的DLL的模拟和如何创build它。 我将感谢一个小例子。
波兰字符在std :: string
call_usermodehelper / call_usermodehelperpipe用法
为什么fopen(“any_path_name”,“r”)不能返回NULL?
如何写入命名pipe道,不要等待读取pipe道
在Linux中,DLL的等价物(无论如何)都是共享对象(.so)。
你需要做这样的事情:
$ g++ -c -fPIC libfile1.cpp $ g++ -c -fPIC libfile2.cpp $ g++ -shared -o libyourlib.so libfile1.o libfile2.o
看看一些开源的C ++库项目了解更多信息。 GTKMM就是其中之一。
当然,我们强烈建议您不要手动编译所有东西,而应该使用make文件或IDE (比如带有CDT或KDevelop的 Eclipse或{ 在此选择您最喜欢的 }),以便在幕后为您创建一个。
在UNIX / Linux世界中,DLL称为shared libraries ,通常具有.so或.o扩展名。
请参阅共享库上的Linux HOWTO 。
您可能需要更改符号的默认可见性。 它可以提高性能。 查看关于这个主题的GCC维基条目。
还有一篇由Ulrich Drepper在2006年撰写的论文 ,描述了在UNIX系统上实现动态共享对象的正确方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。