作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在用 C++ 编写一个小应用程序,对此我有一些疑问。我基本上是一名 Java 开发人员,现在正在转向 C++。
如果我使用一些库,如 boost、curl 等,我可以在不在客户端机器上安装它的情况下运行它吗(我的意思是像在 Java 项目中包含所有库 jar 文件)
我在 linux 中安装了一些库或软件。之后,如果我输入终端,它会 ping 软件。例如 php,安装后你可以从终端使用 php。这是如何运作的?我可以使用我的简单 C++ 项目这样做吗?
最佳答案
是的。您使用称为静态链接 的过程,它将所有库链接到一个大的可执行文件中。在 ./configure
脚本(来自 autotools),你使用 --enable-static
旗帜。构建程序时,您使用 -static
旗帜。静态库是带有 .a
的库后缀;共享库使用 .so
,有时带有版本号后缀)。
PHP 不是一个库,它是一种提供自己的命令行界面的语言(即可执行文件)。您的 C++ 可执行文件可以类似地工作,您只需从 cin
获取输入即可(在 <iostream>
中)并将结果写入 cout
, 使用 cerr
用于错误消息。
您的标题问题“如何在 Linux 中使用 C++ 创建库”(相对于使用库):您使用 ar
程序链接多个 .o
文件合并成一个.a
库文件。您也可以使用 ranlib
清理 .a
文件。阅读 man
这些命令的页面以查看它们是如何使用的。
关于c++ - 如何在 Linux 中用 C++ 创建一个库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8252008/
我是一名优秀的程序员,十分优秀!