<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Context on I'm OWenT</title><link>//owent.net/tags/context.html</link><description>Recent content in Context on I'm OWenT</description><generator>Hugo</generator><language>zh-cn</language><copyright>&lt;a rel="license" href="https://github.com/owent/blog-hugo/blob/master/LICENSE.md"&gt;&lt;img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/80x15.png" /&gt;&lt;/a&gt;</copyright><lastBuildDate>Sat, 22 Jun 2019 12:26:58 +0000</lastBuildDate><atom:link href="//owent.net/tags/context/index.xml" rel="self" type="application/rss+xml"/><item><title>协程框架(libcopp) 小幅优化</title><link>//owent.net/2019/1907.html</link><pubDate>Sat, 22 Jun 2019 12:26:58 +0000</pubDate><guid>//owent.net/2019/1907.html</guid><description>&lt;p&gt;最近抽空继续对 &lt;a href="https://github.com/owent/libcopp"&gt;libcopp&lt;/a&gt; 进行了更新和小幅优化。 首先的Merge了 &lt;a href="https://www.boost.org/libs/context/"&gt;boost.context&lt;/a&gt; 1.70.0 。这次&lt;a href="https://www.boost.org/libs/context/"&gt;boost.context&lt;/a&gt;的更新似乎和它写进 &lt;a href="https://www.boost.org/users/history/version_1_70_0.html"&gt;CHANGELOG&lt;/a&gt; 里的并不完全一致，匹配的只看到 macho 架构的脏数据操作。 不过另外它增加了新的平台支持 mips64，我目前还是简单导入了，但是平台检测工具还没有写，如果要使用是可以通过编译参数切过去的，不过我感觉没人会这么用吧？我自己用都得看一下之前怎么写的。&lt;/p&gt;</description></item><item><title>libcopp merge boost.context 1.69.0</title><link>//owent.net/2019/1903.html</link><pubDate>Mon, 11 Feb 2019 10:35:32 +0000</pubDate><guid>//owent.net/2019/1903.html</guid><description>&lt;p&gt;过年啦，最近在看一些非技术性的东西，&lt;a href="http://db.cs.berkeley.edu/jmh/papers/anna_ieee18.pdf"&gt;Anna&lt;/a&gt; 的Paper也还没看完。随手优化了下Blog的主题，修复和优化了一些小问题。然后来Merge了一下 &lt;a href="https://www.boost.org/libs/context/"&gt;boost.context&lt;/a&gt; 最新 1.69.0 版本的asm部分到 &lt;a href="https://github.com/owent/libcopp"&gt;libcopp&lt;/a&gt;。&lt;/p&gt;&#10;&lt;p&gt;其实我有一直跟进 &lt;a href="https://www.boost.org/libs/context/"&gt;boost.context&lt;/a&gt; 的版本发布，但是现在的版本已经少有BUG了，最近的几次 &lt;a href="https://www.boost.org/"&gt;boost&lt;/a&gt; 的 release对于 &lt;a href="https://www.boost.org/libs/context/"&gt;boost.context&lt;/a&gt; 的变化很少，而且我集成的部分也基本上没涉及到，所以最近的两个版本都没有急着Merge。 1.68.0 版本的变化是修复使用 &lt;code&gt;context-impl=ucontext&lt;/code&gt; 时，链接报重定义的问题。但是我在 &lt;a href="https://github.com/owent/libcopp"&gt;libcopp&lt;/a&gt; 里仅使用了它上下文切换的部分和栈与上下文结构，没有使用它的协程对象的部分（主要是觉得它的实现不好用，而且有一些历史遗留包袱）。所以这个对 &lt;a href="https://github.com/owent/libcopp"&gt;libcopp&lt;/a&gt; 来说相当于没有变化。而在 1.69.0 里主要也是一些环境的编译问题和 &lt;a href="https://www.boost.org/"&gt;boost&lt;/a&gt; 构建工具和Jamfile.v2方面的优化。不过有一项是和 &lt;a href="https://github.com/owent/libcopp"&gt;libcopp&lt;/a&gt; 有一些关系的，那就是为ELF的ABI添加了 &lt;code&gt;.file&lt;/code&gt; 段。按照PR提交者的说法是如果不添加这个， 链接器会自动添加一个编译时的绝对地址（详情见： &lt;a href="https://github.com/boostorg/context/issues/91"&gt;https://github.com/boostorg/context/issues/91&lt;/a&gt; ）。这个也是辅助性质的，不属于实际功能的改动。&lt;/p&gt;</description></item></channel></rss>