Commit Graph

28 Commits

Author SHA1 Message Date
nnhy 8cf3a1e7d9 字符串头文件不能叫String.h,否则跟gcc内部的string.h冲突,倒置无法包含 2016-03-14 03:51:32 +00:00
nnhy 1b26bdb65e 废弃ByteArray的拷贝构造函数,以免引起误解 2016-03-11 16:54:44 +00:00
nnhy 19ac9be732 完善字符串move逻辑
确保字符串拷贝进出都有零结束符
2016-03-11 16:05:46 +00:00
nnhy 1f448d6eac 设置数组长度。改变长度后,确保最后以0结尾 2016-03-11 15:25:59 +00:00
nnhy 992b979c59 String.Clear()导致错误释放了内存 2016-03-11 15:13:11 +00:00
nnhy 5e11ef18ce 废弃StringHelper,避免连加的时候出现太多碎片对象 2016-03-11 14:53:54 +00:00
nnhy 89a2f6dcd2 String不需要释放内存,由Array统一释放 2016-03-11 13:56:41 +00:00
nnhy ee50d7f033 字符串继承自Buffer 2016-03-11 08:57:17 +00:00
Stone eba9043046 除了Buffer其它任何地方不得使用memcpy/memset 2016-03-11 04:39:30 +00:00
nnhy 86c6535448 修正一个字节对齐的BUG,各个Config尽量用4字节对齐,特别是含有字符串String的类
MDK编译String::copy的时候,使用了 LDR R0, R1, [R5, 0x04]指令,而这个指令要求4字节对齐。
2016-03-10 10:02:30 +00:00
nnhy 6c7aff547b 整个SmartOS禁止使用strcpy/strncpy 2016-03-10 09:12:56 +00:00
nnhy a25c30c83d 通过单元测试发现字符串拷贝时的一个BUG 2016-03-10 08:55:38 +00:00
nnhy adeb9955cb 字符串设置单元测试完成,GetBytes/ToHex 2016-03-10 08:26:17 +00:00
nnhy 3c4dd0667e 完成构造函数测试 2016-03-10 07:03:35 +00:00
nnhy 5c31b3d483 字符串构造函数单元测试完成,测试通过 2016-03-10 03:45:29 +00:00
Stone 3109009b80 增强对数字转十六进制字符串的支持 2016-03-09 05:52:31 +00:00
Stone 386602e27c 字符串转Hex,要两个字符的大写 2016-03-09 03:52:07 +00:00
nnhy 11ec1084fd ulong => UInt64
_REV/_REV16 独立汇编实现,不依赖固件库
2016-03-07 10:46:10 +00:00
nnhy 3bb6e5fd7f 其实这里可以不用拷贝,内部直接使用这个指针,等第一次修改的时候再拷贝,不过那样过于复杂了 2016-03-06 12:13:05 +00:00
nnhy 402c24c7f5 !!!SmartOS在网关C上可启动,指示灯闪烁,DHCP失败
字符串增加标识,识别是内部缓冲区还是外部缓冲区,析构时以此为依据执行销毁
2016-03-06 11:26:05 +00:00
nnhy b72139033f 内存缓冲区Buffer作为最基础的内存数据包,只包含指针和长度!
Array作为变长内存数据包,可扩大
ByteArray直接继承自Array,脱离模板TArray
2016-03-06 11:01:01 +00:00
nnhy 6c55562e70 使用Lamda实现Split,编译通过,未测试 2016-03-05 12:15:45 +00:00
nnhy f78e0e4263 增加十六进制转字节数组的ToHex 2016-03-05 12:05:17 +00:00
nnhy 3c71960517 增加GetBytes和ToArray 2016-03-05 11:49:09 +00:00
nnhy 8a71c880ac !!!独立String,增强字符串连接等功能。
为了编译通过,注释了一些其它类的功能代码,慎用该版本!
2016-03-05 06:58:12 +00:00
nnhy 03c2b61dbf 删除以后不大可能用得到的内存管理和字符串管理 2015-10-28 13:55:42 +00:00
nnhy 540d38da36 2015-06-26 13:53:56 +00:00
nnhy 2f472bd894 移植MFC的CString,难以编译通过,大量宽字符函数不存在。保留代码作为参考,不使用 2015-06-26 12:57:26 +00:00