【问题标题】:xorg input driverxorg 输入驱动程序
【发布时间】:2014-08-31 03:29:46
【问题描述】:

我需要为虚拟设备编写一个 xinput 驱动程序,例如http://cgit.freedesktop.org/~whot/xf86-input-random。设备已连接到 LAN。该设备的客户端是用 C++ 编写的。是否可以在此驱动程序中使用 C++ 代码,或者整个项目必须是 C 语言?

【问题讨论】:

    标签: c c++11 xorg


    【解决方案1】:

    Xorg 驱动程序只是遵循一些文档化约定的ELF 共享对象插件。原则上,您如何获得.so 是您自己的事情(如果您有几个世纪的时间可以浪费,理论上您可以一点一点地手动编写它)。 原则上,您可以将libstdc++.so 链接到您的共享对象(因为可以将共享对象链接到其他对象)。我猜你会编译你的插件并将其与g++ 链接,并且可能明确需要与-lstdc++ 链接

    但是,我想这可能是不安全的。也许 C++ ABI 需要crt0 执行一些特定的事情。

    所以你可能会尝试,但如果某些事情没有按你的意愿工作(例如异常处理),我不会感到惊讶。它可能取决于 C++ 库的版本和 C 库的版本以及编译器的版本......我想它可能与最近的 g++、最近的 libc、最近的 libstdc++ 一起工作得更好。 ...

    阅读Drupper's paper: How to Write Shared Libraries

    制作您的驱动程序免费软件,并快速发布其源代码,以便您可以从 Xorg 社区获得一些帮助(即使您的驱动程序不完整)。可能使用最近的Xorg....

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      • 2016-03-22
      • 1970-01-01
      相关资源
      最近更新 更多