用我自己做的MSYS2编译脚本,配合mingw-builds的GCC 6.2.0编译出来的,不依赖任何MSYS/MinGW系的dll,因此可以在各种shell环境下通用
阅读全文
分类归档:开发
关于Visual Studio对C++非静态成员变量初始化问题的官方说明
官方blog地址
以上是官方blog的解释
具体问题说明如下:
在Visual Studio 2013和Visual Studio 2015 Preview里,C++11的支持一直有一个小问题导致我们的项目在windows下无法正常编译。
class C {
std::vector<int> a {1,2,3};
}
在已知所有Visual Studio版本下都无法通过编译,按照官方说法是编译器存在一个bug导致最后把这种写法标识为了错误。
这种写法在gcc和clang都是允许的。
官方说在Visual Studio 2015最终版发布时会解决这个问题,目前临时解决方案是:
class C {
std::vector<int> a = std::vector<int>{1,2,3};
}
我想吐槽一下尼玛这么写还有毛意义……不过至少官方承诺2015正式版解决这个问题就好。
重拾D语言研究
虽然一直在关注D语言,但是之前用D语言1.0写过一个bnetd的服务器后就再也没有实际使用过。
最近两年D语言2.0已经趋于稳定和泛用,所以在工作中需要写一个web服务的时候就重拾D语言,用2.0配合开发库vibe.d写了点代码。
感觉2.0在泛型上的支持和改进真是令人惊叹,mixin技术也强大到令我目瞪口呆,不愧是Alexandrescu大神呕心沥血的成果。
以后更深入研究D语言特性后,我可能会稍微写点相关的心得,总而言之,现在他的特性状态,已经令我觉得非常有爱,希望在接下去的开发中能给我更多的惊喜吧。
再次推荐windows下的mingw编译环境
基于mingw的MSYS项目做的扩展项目:
http://sourceforge.net/projects/msys2
使用pacman来管理软件仓库,官方仓库里的gcc更新速度非常快,用的是mingw-w64的版本,据观察应该是用以前推荐的mingw-build的脚本来编译的
推荐新的mingw(w64)第三方编译版
推荐mingw-builds系统编译的gcc,已经同步更新到gcc最新的4.8.2:
此外这个仓库应该是作者的:
BlitzD仓库推到了github上
今天抽点时间修正了BlitzD在linux下的编译,把网络底层全部移到了libevent2下,然后仓库推到了这里:
不再自己编译mingw gcc
mingw-w64项目里rubenvb的编译版非常不错,大家还是直接去用他的版本吧,最近可以使用std::thread的体验版也放出来了。
32位下载地址:
http://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/rubenvb/
64位下载地址:
http://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win64/Personal Builds/rubenvb/
SSU基本完成
目前测试下来和protobuf实现了协议100%兼容,之后要优化数组类对象的效率并添加版本号以完成最终发布版本。
git仓库地址: github.com/soarqin/ssu
最近学了不少东西,晒一下
首先因为跨平台界面的需要,不得已简单学了下java+swing写了个工具给公司策划们用。
然后因为特殊的需要又学了actionscript 3跟要为公司游戏的客户端写一些代码。
再然后为了重新实现protobuf的一些功能简化c++输出同时生成doc文件,又学了lemon语法分析器。
最后自己偷偷发起了一个开源项目ThorSE,是一个半即时策略游戏引擎,为此正在学习OpenGL。
顺便聊下近况,公司的工作量比较稳定,熬夜逐渐变少,业余研究也比较多,此外已经开始打算预订psv。
从技术宅向发呆宅转变
最近业余时间还是宅在家为主,但是我发现自己越来越不喜欢在家研究技术,甚至是玩游戏也少了很多,几乎发呆的时间增长到了一半,不知道是因为长时间的高强度工作还是因为年纪大了,亦或是时节关系,反正我深刻地感受到了近期的惫懒。
近期的研究方向是进程间通信和数据共享,但没什么成果。