【问题标题】:changing c++ windows code for linux [closed]为linux更改c ++ windows代码[关闭]
【发布时间】:2011-11-05 14:39:07
【问题描述】:

我在 Linux 上工作,需要将使用 win32 api 函数的给定代码更改为可以在 linux 上运行的代码

 bool ret = ::TlsSetValue(tlsInChessFlag, (void *)(((size_t)TlsGetValue(tlsInChessFlag))+1));

有人可以告诉我 c++ ubuntu 中的等效代码是什么吗? 提前谢谢

【问题讨论】:

    标签: c++ linux winapi


    【解决方案1】:

    您也可以使用 GCC 中提供的 __thread 关键字(它是 GCC 扩展)。

    要开发可在 Windows 和 Linux 上移植的 C++ 代码,您可以使用一些跨平台库,例如Qt

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      在 Windows 和 Linux 上使用 boost 的可移植线程本地 API。

      http://www.boost.org/doc/libs/1_35_0/doc/html/thread/thread_local_storage.html

      【讨论】:

        【解决方案4】:

        你可以使用 thread local storage 的 boost::thread 实现

        【讨论】:

        • 我认为你不能在 Linux 上使用 Win32 API...
        • @rve:哎呀,你是对的——我理解了另一个问题——但是任何方式的 boost 解决方案都适用于两个平台。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多