xmake将依赖库、依赖头文件、依赖类型、依赖接口统一用 option 选项机制进行了封装,更在上一层引入package包的机制,使得添加和检测依赖更加的模块化,简单化。。。
下面通过一个具体实例,来看下xmake的包机制怎么使用。。
假如你现在的工程已经有了两个包:zlib.pkg,polarssl.pkg(如何构建包,后续会详细说明,现在可以参考TBOX依赖包下已有包的例子),你的工程目录结构如下:
demo
- xmake.lua
- src
main.c
- pkg
zlib.pkg
polarssl.pkg
那么你可以修改xmake.lua来使用上述的两个依赖包:
继续阅读 »
此版本主要增加stackless协程模块以及为嵌入式平台增加micro微模块编译(~64K)。
此stackless协程模块比之前的stackfull协程实现更加的轻量高效,切换效率提升5、6倍,在macosx上测试1000w次切换仅需40ms
当然易用性和灵活性上,还是stackfull模式更有优势(tbox两种模式都已支持,接口类似)。
stackless协程使用见:stackless协程使用文档
stackfull协程使用见:stackfull协程使用文档
更多协程服务器demo实现,请参考:协程examples
新特性
针对协程上下文切换,支持mips架构
添加__tb_thread_local__关键字宏
添加
继续阅读 »
在类unix系统中可以通过hostid命令获取到一个十六进制数,称为hostid,在大多数情况下可以作为该机器的唯一标识符。例如在我的ubuntu系统上执行如下:
root@leo:demo# hostid
a8c06701
继续阅读 »
Why
读ConcurrentHashMap的时候,我们遇到的一个很大的概念就是Segment(java8之后只有在调用writeObject方法的方法的时候才会用到segment),该类继承了ReentrantLock,用于实现分段锁(乐观锁)。处于心痒痒的目的,我也尝试写了个简陋版的分段锁。
How
该Demo实现的比较简单:根据key获取或者创建Lock(获取锁的时候使用double check),然后使用该锁来同步put或者read(ConcurrentHashMap的读操作使用的volatile,这里不深入)。不足之处还请指正~
What
java实现: github
more
```java
package
继续阅读 »
初识 Tinker
昨天中午微信开源了动态修复解决方案 tinker :https://github.com/Tencent/tinker
是不是激动人心的想要试一下呢?下面记录一下如何运行 tinker 的 Demo 工程。
继续阅读 »
我在去年六月份学习了 OpenGL 的一些基本概念,整理了一个 demo 和两篇文章,并在今年六月份复习修正了一番。不久前我进一步向铁蕾兄学习了四种常用 2D 纹理变换的实现思路(以及本文中的其他总结性文字),由于铁蕾兄实在太忙,无暇快速整理成文,因此我就在这里为他代笔了 :)
继续阅读 »
前面分享了一套开箱即用的 WebRTC 开发环境,希望能给对 WebRTC 感兴趣的朋友带来帮助。不过有了开发环境只是迈出了万里长征第一步,后面的事情还得仔细研读源码才行,所以这里给大家先带来 WebRTC 的安卓 demo 工程—— AppRTC-Native 的源码导读系列。(十个月前说好的拆 Dagger2 看来又要等等了,海涵海涵...)
继续阅读 »
近期在公司内部准备了一个关于Ansible的Workshop,其中包含如下内容:
自动化配置管理的背景及现有工具
Ansible简介
编写一个简单的Ansible Demo(使用apache搭建一个静态页面)
实例及总结
我们根据本次Workshop整理出来了一份详细指南,详情请戳gitbook文档:Ansible Workshop 详细指南。
备用: http://www.jianshu.com/p/df42e636f95e
https://github.com/ksky521/nodePPT
http://www.oschina.net/news/26220/webslide-js-ppt-tool
继续阅读 »
上一篇文章里有位读者朋友咨询我,如何调试 WebRTC iOS demo。显然这个小问题不值一篇文章,所以这周我就花了大量的精力,解决了长久以来困扰广大 WebRTC 安卓开发者的难题:如何在 Android Studio 里单步调试 WebRTC Android 的 native 代码。
继续阅读 »
这是 Facebook 官方学习 Flux 的 demo
这是我用 ES6 重写的版本,可以看有什么不同喔
继续阅读 »