C/C++
文章平均质量分 75
reiskie
工作在电信行业的软件公司。
展开
-
sprintf系列函数和可变参数函数
sprintf函数定义如下:int sprintf (char * szBuffer, const char * szFormat, ...) ;第一个参数是字符缓冲区;后面是一个格式字符串。Sprintf不是将格式化结果标准输出,而是将其存入szBuffer。该函数返回该字符串的长度。在文字模式程序设计中,printf ("The sum of %i and %i is转载 2006-10-15 17:00:00 · 8636 阅读 · 0 评论 -
VC编译选项
-优化- /O1 最小化空间 minimize space /Op[-] 改善浮点数一致性 improve floating-pt consistency /O2 最大化速度 maximize speed /Os 优选代码空间 favor code space /Oa 假设没有别名 assume no aliasing /Ot 优选代码速度 favor code speed /Ob 内联展转载 2006-07-09 16:41:00 · 1051 阅读 · 0 评论 -
动态库中使用STL数据类型
也谈在动态连接库中如何使用STL库 在动态连接库开发中要特别注意内存的分配与释放问题,稍不注意,极可能造成内存泄漏,从而访问出错。例如在某DLL中存在这样一段代码: extent "C" __declspec(dllexport) void ExtractFileName( const std::string& path //! , std::string& fname //!转载 2006-07-09 17:01:00 · 1481 阅读 · 0 评论 -
内存地址对齐及大小端
我们常常看到“alignment", "endian"之类的字眼, 但很少有C语言教材提到这些概念. 实际上它们是与处理器与内存接口, 编译器类型密切相关的.考虑这样一个例子: 两个异构的CPU进行通信, 定义了这样一个结果来传递消息:struct Message{ short opcode; char subfield; long message_length转载 2007-06-11 11:10:00 · 9338 阅读 · 0 评论 -
字节对齐详解
一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只转载 2007-06-11 11:15:00 · 1393 阅读 · 0 评论