分类归档:开发

关于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语言特性后,我可能会稍微写点相关的心得,总而言之,现在他的特性状态,已经令我觉得非常有爱,希望在接下去的开发中能给我更多的惊喜吧。

推荐新的mingw(w64)第三方编译版

推荐mingw-builds系统编译的gcc,已经同步更新到gcc最新的4.8.2:

http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds

http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds

 

此外这个仓库应该是作者的:

https://github.com/niXman/mingw-builds

不再自己编译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/

最近学了不少东西,晒一下

首先因为跨平台界面的需要,不得已简单学了下java+swing写了个工具给公司策划们用。
然后因为特殊的需要又学了actionscript 3跟要为公司游戏的客户端写一些代码。
再然后为了重新实现protobuf的一些功能简化c++输出同时生成doc文件,又学了lemon语法分析器。
最后自己偷偷发起了一个开源项目ThorSE,是一个半即时策略游戏引擎,为此正在学习OpenGL。

顺便聊下近况,公司的工作量比较稳定,熬夜逐渐变少,业余研究也比较多,此外已经开始打算预订psv。

从技术宅向发呆宅转变

    最近业余时间还是宅在家为主,但是我发现自己越来越不喜欢在家研究技术,甚至是玩游戏也少了很多,几乎发呆的时间增长到了一半,不知道是因为长时间的高强度工作还是因为年纪大了,亦或是时节关系,反正我深刻地感受到了近期的惫懒。
    近期的研究方向是进程间通信和数据共享,但没什么成果。