请教ACE_CDR的问题
请问一下ACE_CDR::MAX_ALIGNMENT到底是干嘛用的?? 最多的对齐字节数,32位计算机上为4 你给的连接我已经看过了,但是没有解决我说的问题。我发现的问题是:
在logging_client.cpp的14行有这么一句:ACE_OutputCDR header(ACE_CDR::MAX_ALIGNMENT + 8);
1.可以很明显的看出enum MAX_ALIGNMENT= 8的;
2.跟踪进入CDR_Stream.cpp,可以看到构造过程中有一行是:
:start_ ((size ? size : (size_t) ACE_CDR::DEFAULT_BUFSIZE) + ACE_CDR::MAX_ALIGNMENT,
可以看到,这里又加了一个ACE_CDR::MAX_ALIGNMENT
我现在存在的问题是:
1.为什么要加两次ACE_CDR::MAX_ALIGNMENT?
2.ACE_CDR::MAX_ALIGNMENT到底加了有什么用? 由于字节对齐会浪费一些空间,加ACE_CDR::MAX_ALIGNMENT是为了预留空间。个人认为不需要加两次,ACE_OutputCDR header(8);足够了
页:
[1]