Commit Graph

88 Commits

Author SHA1 Message Date
nnhy f850d160f7 有些数组函数最好不要用默认参数 2015-12-17 13:29:11 +00:00
nnhy 6ea100b2c4 数组增加Show 2015-12-16 15:26:00 +00:00
cdyong 268fd74cc2 2015-12-15 13:30:52 +00:00
nnhy 1a490db5d8 修正各个单元测试项目 2015-12-05 08:11:36 +00:00
nnhy 2d28d4d793 必须区分常量和非常量 2015-12-01 12:44:56 +00:00
nnhy 567804f4a4 2015-12-01 12:24:39 +00:00
nnhy 4fd949eaaa 不允许指针到数据的赋值运算符重载,因为含义模棱两可 2015-12-01 09:34:11 +00:00
nnhy b0aef49614 Array=修改为拷贝数据,而不是赋值指针,主要为了安全。
隐式转换的时候,建议不要做指针引用,而尽量使用拷贝
2015-11-26 09:08:35 +00:00
nnhy 232caf7e34 全面使用Array,尽可能的减少使用指针。
编译通过,网关C基础测试通过
2015-11-13 12:39:45 +00:00
nnhy 9523a0c4e2 大部分数据操作参数可以使用Array替代ByteArray,大大减少ByteArray构造函数的执行 2015-11-13 11:46:00 +00:00
nnhy 3aa8bade6a 后退4字节,得到实际对象大小 2015-11-13 11:26:50 +00:00
nnhy 3794ffeac6 启用类型Type,未完成 2015-11-12 02:35:19 +00:00
nnhy 655a12aa7b 修正TArray拆分以后,赋值构造函数倒置拷贝不正确的BUG 2015-11-09 09:52:44 +00:00
nnhy c4193c6342 加大字节数组十六进制显示的缓冲区 2015-11-09 08:58:25 +00:00
nnhy c26f493650 !!!核心数组Array降为非模版,新增模版数组TArray,网关C测试通过。
这次修改影响整个系统每一个细节,各个地方要及时跟进
2015-10-30 04:36:18 +00:00
nnhy ae4b2c7171 指定了代码段的类,所包含的函数一定被编译进入发行版固件,不管有没有引用 2015-10-28 13:55:23 +00:00
nnhy 2921f7a2f9 频繁调用的代码,分散加载到Flash前面,因为GD32F130/150最后32k比较慢 2015-10-28 12:14:46 +00:00
nnhy 6bdc3ae4d5 数组类的T*指针部分修改为void*指针,方便编程使用 2015-10-16 10:16:39 +00:00
nnhy 87ba4b4832 ByteArray增加一个非静态指针的重载,测试可用 2015-10-10 14:50:36 +00:00
nnhy f43022eea7 !!!发现堆栈用穿,内存不足。
减少字节数组ByteArray显示时的临时字符串大小。
令牌控制器占1.5k,减少等待队列后,减小为0.5k
2015-09-21 09:41:29 +00:00
nnhy 4e4a15ec41 严格限制数组是否可写,增加暴露可能的野指针 2015-09-19 07:22:44 +00:00
nnhy 05826c7770 扩大缓冲区 2015-09-16 13:13:29 +00:00
nnhy 252b60a0be 增加两个常量函数 2015-09-05 10:03:51 +00:00
nnhy 8ed7c54160 网络库独立出来,编译通过 2015-08-27 01:34:21 +00:00
nnhy 54b2fd48dc 字节数组增加Load/Save,支持保存到普通字节指针 2015-08-22 02:52:09 +00:00
nnhy d644345570 修正字符串链接的一个错误 2015-08-15 04:14:27 +00:00
nnhy 6859ce1e4f 字符串串接整数时,支持指定进制和宽度 2015-08-12 13:03:00 +00:00
nnhy 60a9a537e8 写入整数,第二参数指定宽带,不足时补零
测试通过
2015-08-12 12:56:27 +00:00
nnhy 095a4a9cc3 IP地址转字符串要十进制数字,而不是十六进制 2015-08-12 12:40:38 +00:00
nnhy a4addb1277 原来的静态成员,可以改为静态方法,首次执行是构造对象 2015-08-12 10:29:05 +00:00
nnhy 59b6937d07 不要随便用全局静态成员,否则即使没有任何地方使用,这个类也会参与编译,浪费空间 2015-08-12 10:16:40 +00:00
nnhy 932274a55b 2015-08-12 09:57:02 +00:00
nnhy b5a76f9c66 尽量少用String::Format,它使用的vsnprintf会导致编译后固件多增加2k大小 2015-08-12 09:50:34 +00:00
nnhy 9791358fe3 ByteArray的这个运算符重载,会导致ByteArray对象赋值的时候匹配多个函数而出错 2015-08-12 07:40:13 +00:00
Stone ad2faa7cf1 合并第三方Tcp/Udp源码,编译通过,未测试 2015-08-11 17:41:48 +00:00
nnhy ef5d07977d 重载运算符,支持字节数组ByteArray直接转为字节指针 2015-08-11 10:21:57 +00:00
nnhy 4923ab4763 增强字节数组,增加所有整数类型的读写,特别处理字节对齐问题。
没有字节对齐的指针,不能直接转为整数指针进行操作,否则报错。
修正MacAddress中的一个字节对齐BUG,测试通过
2015-08-11 08:50:06 +00:00
nnhy cdfcdb98e9 要复制数据,而不是直接使用指针,那样会导致外部修改内部数据
测试通过
2015-08-11 05:03:11 +00:00
nnhy 1451a05568 升级IPAddress和MacAddress后,其它应用代码跟着修改 2015-08-11 04:33:03 +00:00
nnhy d587d54757 输出对象的字符串表示方式。支持RVO优化。
该方法直接返回给另一个String作为初始值,只有一次构造,没有多余构造、拷贝和析构。
测试通过
2015-08-11 04:15:52 +00:00
nnhy fe6548dd7d 增加Array::CopyTo,允许数据把内容拷贝给指针。
IPAddress和MacAddress的ToArray改进,采用RVO技术进行优化。
C++返回值优化RVO
http://www.newlifex.com/showtopic-1424.aspx
2015-08-10 10:33:19 +00:00
nnhy aa7e0f1cc5 升级Array::SetLength,增加第二个参数,指定是否需要备份 2015-08-10 02:51:15 +00:00
WangQiang 77889d6bc3 2015-07-10 03:11:43 +00:00
WangQiang 6ad0f8cc6c Image$$Ex_IROM1$$Base 等 在KEIL中无效 或许没有写对。。 直接使用 < 0x20000000 作为边界条件 2015-07-10 03:02:08 +00:00
WangQiang 104d68cdbf 排除ROM区写操作 2015-07-10 02:43:51 +00:00
Stone 96534b7a27 C格式字符串以0结尾 2015-07-07 08:34:03 +00:00
Stone 4c0aa982b9 按引用传递的参数尽量加上const,避免被内部修改 2015-07-07 03:59:16 +00:00
nnhy 360e384b9f 重载加号运算符时,返回对象可能被销毁,因此无法返回字符串引用
如果不是返回字符串引用,登录消息那里的字符串拼接又无法成功
为了避免内存的浪费,字符串拼接的时候,还是多采用 str = str +,而少用 str +=
2015-07-04 10:26:08 +00:00
nnhy 741cfe699a 跟Object增加一个跟字符串的加法运算符重载 2015-07-04 09:13:51 +00:00
nnhy 198efdbc90 跟Object增加一个跟字符串的加法运算符重载 2015-07-04 09:10:35 +00:00