如何通过 g++ 创建共享库

2023-12-20

关于创建和理解动态库中使用的技术的官方“如何”在哪里?我正在使用 g++ 编译器。我用谷歌搜索了这个问题,但找不到任何关于此的官方信息。


例如,您可以轻松创建共享库。

我有乘法示例程序,例如multiplyNum.cpp

The -fpic选项告诉g++创建共享库所需的位置无关代码。我的源文件位于src/ folder.

> g++ -I ./inc -fpic -c src/multiplyNum.cpp -o obj/multiplyNum.o

最后创建共享库。注意库名必须以三个字母开头lib并且有后缀.so.

> g++ -shared -o lib/libmultiplyNum.so obj/multiplyNum.o

您现在就可以使用libmultiplyNum.so你的 makefile 中的库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 g++ 创建共享库 的相关文章

  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 如何为 Linux 桌面条目文件指定带有相对路径的图标?

    对于我的一个 Linux 应用程序 我有应用程序二进制文件 一个 launcher sh 脚本 针对 LD LIBRARY PATH 和一个 desktop 文件 所有这些都位于同一文件夹中 我想使用图标的相对路径而不是绝对路径 我试过了
  • 用于检查类是否具有运算符/成员的 C++ 类型特征[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以编写一个 C 模板来检查函数是否存在 https stackoverflow com questions 257288 is it possible to write a c template
  • 使用实体框架模型输入安全密钥

    这是我今天的完美想法 Entity Framework 中的强类型 ID 动机 比较 ModelTypeA ID 和 ModelTypeB ID 总是 至少几乎 错误 为什么编译时不处理它 如果您使用每个请求示例 DbContext 那么很
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • 通过 Visual Studio 2017 使用远程调试时 Linux 控制台输出在哪里?

    我的Visual Studio 2017 VS2017 成功连接Linux系统 代码如下 include
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低

随机推荐

  • Eclipse 中我的项目旁边有一个红色感叹号是什么原因?

    I have a red exclamation mark over my project name in Eclipse looking like this 有谁知道这意味着什么以及我应该做什么 有一个 问题 视图 尝试 窗口 gt 显示
  • Furo Sphinx 主题在 API 文档中大写过多

    我是 Sphinx 文档的初学者 我想生成 numpy 风格的文档 因此 我使用了 numpydoc 扩展 Numpy 的用途pydata主题 但是我选择了furo 我知道外观上会有一些差异 但我希望我的页面至少具有与 numpy 相同的格
  • 在 adobe air 中通过网络访问共享文件夹

    我正在尝试使用 File 类写入 AIR 中 Windows 网络上的共享文件夹 我不明白如何格式化共享文件夹的路径 我尝试过的所有操作都出现错误之一 指定的文件夹不存在 和 缺少参数 从我的计算机访问此文件夹的 UNC 路径如下 loca
  • 这个 JS 唯一 ID 生成器不可靠吗? (发生碰撞)

    我使用以下 JS 函数来生成唯一 ID 这是我从另一个 StackOverflow 线程获得的 function generateUniqueID return Math round new Date getTime Math random
  • 为什么 Keras API 需要第一层的输入形状,因为没有它实际上也能正常工作?

    我在用tf keras从 TensorFlow 1 9 0 开始 似乎一切正常 无需指定input shape构建时在第一层Sequential model import tensorflow as tf from tensorflow i
  • Java 泛型:方法 X 不适用于参数

    事件处理程序 java public abstract class EventHandler
  • 处理Web浏览器控件的点击事件

    我想添加webBrowser控件的点击事件 这是我的代码 using System using System Collections Generic using System ComponentModel using System Data
  • 如何将 40 亿条记录从 MySQL 一次性加载到 SQL Server

    我们需要对一个拥有超过 4 亿条记录的表从源 MySQL 5 5 进行初始数据复制到目标 SQL Server 2014 该表相当宽 有 55 列 但没有一个是 LOB 我正在寻找以最有效的方式复制这些数据的选项 我们尝试通过 Attuni
  • 在 Travis-CI 上运行 Google App Engine 并使用 PhantomJS 进行测试

    有没有办法运行 Google App Engine开发应用服务器 https developers google com appengine docs python tools devserver实例于特拉维斯 CI http about
  • 即使列表不能被 10 整除,也可以根据百分比将列表分成四部分。Python [重复]

    这个问题在这里已经有答案了 所以我正在处理一个长度未知的列表 我需要把这个清单分成四个部分 第一部分 列表的前 20 第二部分 列表的 20 到 40 第三部分 列表的 40 到 80 第四部分 列表的 80 到 100 现在的问题是 如果
  • 使用 knockout.js 突出显示表格行

    我正在努力学习淘汰赛 我想在单击行中的链接时突出 显示表行 我很难理解上下文this e以及淘汰赛如何相互作用JQuery 我不能像标准 jquery 函数一样构建淘汰函数吗 table thead tr th th th Name th
  • jquery中选择并触发单选按钮的点击事件

    文档加载后 我尝试触发第一个单选按钮的单击事件 但单击事件是not triggered 此外 尝试 更改 而不是单击 但结果相同 document ready function checkbox div input radio click
  • 装配中的搬迁

    我有一个用汇编语言编写的裸机 ARM 的启动代码 我试图了解它是如何工作的 该二进制文件被写入一些外部闪存中 并在启动时将其自身的一部分复制到 RAM 中 尽管我读了这篇文章 但我仍然没有完全理解这种情况下的搬迁概念维基百科条目 http
  • 在 Docker 中对端点进行 REST 调用

    我正在构建一个 Spring Boot 应用程序 它有几个不同的 REST 端点 可以在本地成功打包并作为jar文件启动 在本地运行时 我可以通过 访问其端点http localhost 8080 endpoint params http
  • 可编辑的动态目标值

    我正在使用 jeditable 它的效果真的很棒 我只是有点难以弄清楚 了解如何动态更改目标 URL jeditable 绑定到我想要内联编辑的值表 所以我有 td class edit id 是两个值的混搭 我需要知道它才能在服务器端编辑
  • 来自 pandas 数据帧的边缘列表,具有不同颜色的节点

    我有以下数据框 Src Dst A A B B B A C C D D E F E E D F F F D E 我想生成一个网络Src是节点 Dst是边 其中有一个新列 Weight 可以为节点指定不同的颜色 绿色 A或 D 而其他都相同
  • 如何在 Nginx 反向代理后面设置 MongoDB

    我正在尝试将 Nginx 设置为访问 MongoDB 数据库的反向代理 默认情况下 Mongo 监听 27017 端口 我想要做的是通过 nginx 重定向主机名 例如 mongodb mysite com 并将其传递到 mongodb 服
  • 调用 BashOperator 时出错:Bash 命令失败

    这是我的 dag 文件和 BashOperator 任务 my dag dag id my dag start date datetime year 2017 month 3 day 28 schedule interval 01 my b
  • Java EE 环境中的单元测试

    我们正在将应用程序迁移到 Java EE 容器中 并寻找用于对迁移的应用程序进行单元测试 和集成测试 的工具 我们的要求包括 临时测试 能够按需手动运行测试 由开发人员在开发代码时使用 批量测试 定期运行大量 且不断增长的 测试的能力 容器
  • 如何通过 g++ 创建共享库

    关于创建和理解动态库中使用的技术的官方 如何 在哪里 我正在使用 g 编译器 我用谷歌搜索了这个问题 但找不到任何关于此的官方信息 例如 您可以轻松创建共享库 我有乘法示例程序 例如multiplyNum cpp The fpic选项告诉g