最新评论
Re:C++ 工程实践(4):二进制兼容性 Todd Wei 2012-05-04 22:46
@lzprgmr
同意你的看法。我认为文中提到的“因为新的库必然有新的头文件,但是现有的二进制可执行文件还是按旧的头文件来调用动态库”这种“工程实践”本身不值得提倡。如果头文件变了,本质上就已经是一个新版的API,为了兼容性更好的方法是类似COM的多版本接口,而不是小心翼翼地去保持二进制兼容性。如果某一个版本API的实现部分有bug,需要修复替换掉库,这是可以的,因为头文件本身没有任何变化,不存在二进制兼容性问题。
Re:一种自动反射消息类型的 Google Protobuf 网络传输方案 陈硕 2012-02-25 16:45
@yu_yu
随便想个办法也能把二进制数据贴上来吧?
Re:一种自动反射消息类型的 Google Protobuf 网络传输方案 yu_yu 2012-02-25 14:19
@陈硕
还真不知道如何回答这个问题
因为是二进制数据,有多个Icon
Re:一种自动反射消息类型的 Google Protobuf 网络传输方案 陈硕 2012-02-25 11:00
@yu_yu
第三次问:出错的数据是什么样的?
Re:一种自动反射消息类型的 Google Protobuf 网络传输方案 yu_yu 2012-02-25 10:56
就是你所提供的 codec里的
AppendToString
ParseFromArray
Re:一种自动反射消息类型的 Google Protobuf 网络传输方案 陈硕 2012-02-25 09:14
@yu_yu
出错的时候,收到的数据是什么样的?
你用的是哪种分包办法?
Re:一种自动反射消息类型的 Google Protobuf 网络传输方案 yu_yu 2012-02-24 22:32
@陈硕
proto文件是这样定义的
message Icon
{
required uint32 gid = 1;
optional uint32 crc = 2; //图标校验值
optional bytes data = 3; //图标数据
}
在这里,如果为bytes类型数据,则时对时错,但是二进制数据必须使用bytes,即使没有data数据,一样的时对时错。如果改为string,不放数据,就没有错误了,当然是不能这样传输非utf-8的raw byte
Re:一种自动反射消息类型的 Google Protobuf 网络传输方案 陈硕 2012-02-24 21:22
@yu_yu
把错的数据保存下来,单步跟踪试试?
Re:一种自动反射消息类型的 Google Protobuf 网络传输方案 yu_yu 2012-02-24 12:46
ParseFromArray返回false,怎样查看错误信息呢?
很奇怪的是对于定义的二进制数据,ParseFromArray有时候对,有时候错~
Re:击鼓传花:对比 muduo 与 libevent2 的事件处理效率 陈硕 2012-02-24 09:12
@irons
图中纵坐标的单位是微秒。
Re:击鼓传花:对比 muduo 与 libevent2 的事件处理效率 irons 2012-02-23 15:55
请问时间单位是多少呢?
Re:学之者生,用之者死——ACE历史与简评 Jacklondon Chen 2012-02-14 19:20
ACE 做了 C++ 标准的事情。如果 C++ 标准库中,有 socket 库,何必这么复杂去屏蔽平台差异?
我现在能不用 C++ 决坚决不用 C++!! 用 java /c# 哪怕牺牲 60% 性能又如何?计算机技术的发展,性能过两年就追上了。
Re:分布式系统中要部署几台 NTP 服务器才够用? RaymondSQ 2012-01-10 00:21
使用两台机器,VIP漂移应该就可以了吧。当然,要处理好时间可能倒转的问题,不过这个问题无论几台NTP都得考虑。
Re:C++ 工程实践(7):iostream 的用途与局限 五子棋 2011-12-29 13:49
只是粗略的看了下,楼主对技术的研究和验证精神值得钦佩。
Re:学之者生,用之者死——ACE历史与简评 江南舟子 2011-11-20 20:03
换句话说,ACE 用 30 万行 C++ 代码“封装”了不到 10 万行 C 代码(且不论 C++ 代码的信息密度比 C 大),这是不是头重脚轻呢?我理解的“封装”是把复杂的东西变简单,但 ACE 好像走向了另一个方向,把不那么复杂的东西变复杂了。
----------------
Soket 函数没几个,但是Apache的体积却很庞大。任何框架都不仅仅是封装API.
Re:学之者生,用之者死——ACE历史与简评 江南舟子 2011-11-20 20:01
换句话说,ACE 用 30 万行 C++ 代码“封装”了不到 10 万行 C 代码(且不论 C++ 代码的信息密度比 C 大),这是不是头重脚轻呢?我理解的“封装”是把复杂的东西变简单,但 ACE 好像走向了另一个方向,把不那么复杂的东西变复杂了。
Re:多线程服务器的常用编程模型 BufferFly 2011-11-12 21:39
楼主辛苦了,我最近也在研究这方面的东西,我先看一下您的博文,然后希望能交流以下。
Re:一种自动反射消息类型的 Google Protobuf 网络传输方案 陈硕 2011-11-03 09:54
@tears1134
在生成的代码里搜 StaticDescriptorInitializer
Re:一种自动反射消息类型的 Google Protobuf 网络传输方案 tears1134 2011-11-02 23:19
用 DescriptorPool::generated_pool() 找到一个 DescriptorPool 对象,它[b]包含了程序编译的时候所链接的全部 protobuf Message types[/b]。
事实确实如此“包含了程序编译的时候所链接的全部 protobuf Message types”,对一个问题很好奇:
DescriptorPool::generated_pool()是在运行的时候才确定的,并且是一个静态方法,它如何可以找到一个先于它的执行而编译出来的还位于其外部的Message type呢?
Re:C++ 工程实践(8):值语义 Paul Shen 2011-08-26 13:42
太博大精深了
