打印
[菜农群课笔记]

今晚课程《远离汇编泪,和谐喜佳佳》

[复制链接]
6242|30
手机看帖
扫描二维码
随时随地手机跟帖
沙发
酱油店老板| | 2010-12-24 12:06 | 只看该作者
:o

使用特权

评论回复
板凳
hotpower|  楼主 | 2010-12-24 12:48 | 只看该作者

使用特权

评论回复
地板
yzl624358| | 2010-12-24 12:57 | 只看该作者
:handshake

使用特权

评论回复
5
a305566| | 2010-12-24 12:59 | 只看该作者
:)

使用特权

评论回复
6
wqx0532| | 2010-12-24 13:27 | 只看该作者
:lol

使用特权

评论回复
7
206022219002| | 2010-12-24 14:43 | 只看该作者
:o干嘛????有课可以听??

使用特权

评论回复
8
qqjj2536| | 2010-12-24 16:04 | 只看该作者
几点?:handshake

使用特权

评论回复
9
ddllxxrr| | 2010-12-24 19:12 | 只看该作者
哪里请课啊??

使用特权

评论回复
10
tear086| | 2010-12-24 21:37 | 只看该作者
本帖最后由 tear086 于 2010-12-24 21:40 编辑

19:10:13
在51时,俺可以累的吐血
http://www.61ic.com/Technology/embed/200604/3300.html

19:11:45


19:12:17
但在俺为什么在资源和条件好时高举C++冒着愤青们的砖块继续前进呢?

19:12:42
软硬结合才是真

19:13:51
看到这个了吗?http://www.61ic.com/Technology/embed/200604/3300.html
若没一点硬件知识,估计也难

19:14:34
俺学什么都感觉手累,何也???

19:15:04
为何这样不怕累???

19:16:09
因为不怕累,所以才能在此大“喷”

19:16:52
手过一遍眼过百遍

19:17:48
所以,51岁的老农民就记住这些了~~~俺忘了它,它也忘不了俺

19:18:49
俺见过很多用VC6的不会C,也不知道属性

19:19:10
实际就是用来C++的框架

19:20:04
假若有人说C++效率低下,也可学之

19:20:12
为何???

19:21:00
因为今天包内有函数重载,C语言是不行的

19:22:06
所以俺用C++将汇编的启动文件咔嚓了,虽然还有些问题

19:22:54
开发效率肯定高于C,至于运行效率,也可采用C

19:24:10
C++的框架在启动过程中,比C繁琐,但不影响运行效率

19:24:44
因为真理总掌握在少部分人的手里

19:25:44
追求真理就不要怕流血不要怕拍砖~~~

19:26:35
俺在2K空间的AVR 的T26上也是用的C++,竟然代码比C少,实在不解

19:27:01 HotCortex(106821270)
编译后的?

19:27:07
可能是WINAVR即GCC编译器的关系吧

19:27:17
对,俺至今不解

19:28:33
汇编暂时放放,那么俺为何在MCU上喜欢C++呢???

19:28:49 HotCortex(106821270)
跟加密有关吗

19:28:53


19:29:47
首先,全局类的实例的构造函数比main()先运行

19:31:47
我把研讨会的板子加上,稍后

19:32:56
请看刚才工程包内的main.cpp

19:32:59
#include "main.h"
__noinit__ volatile unsigned int SystemRamTest;// = 0x19591119;//RAM不初始化
volatile unsigned int ErrorCount = 0;

/*-------------------------------------------
注意:
1.全局类对象实例的构造函数运行级别高于main()
2.类的构造函数的运行次序与申请次序一样
--------------------------------------------*/
SystemObj System;//自动调用构造函数
SysTickObj SystemTick;//自动调用构造函数
TimerObj  Timer;//自动调用构造函数
I2cObj I2c;//自动调用构造函数
WdtObj  Wdt;//自动调用构造函数
TargetObj Target;//自动调用构造函数
/*-------------------------------------------
main()将在以上构造函数的后面运行
--------------------------------------------*/


int main()
{


19:33:09 林木森森(965243619)
c的启动代码可以做类似于c++全局对象构造函数的参数初始化,但这并不是c的一部分.

19:34:17
这就意味着我们的模块的初始化优先于main()执行

19:35:14
哈哈,天生就是为MCU准备的,愤青们为何极力反对呢???

19:36:26
在好多OS框架下,main()就一句:
os_Start();

19:36:57
Ti的DSP/BIOS甚至main()可以是空的

19:37:35
==俺再找证据来

19:40:42
没吃过葡萄的人总说葡萄是酸的,有人可知第一个吃西红柿即番茄的是什么人?

19:41:19
是个死囚

19:41:52
吃完还活着,被当场释放~~~

19:42:04
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

19:43:12
它也几句,一个框架,最多你再添加几句

19:44:23
俺认为C++在MCU应用中不需要析构函数,即卸载函数

19:44:28
何也???

19:45:34
MCU一般在FLASH中运行,你卸载什么???

19:45:45
哈哈

19:45:54 林木森森(965243619)
是对全局对象的,不必卸载.

19:46:17
俺应用C++是将它适合MCU的部分提纯出来

19:46:21 林木森森(965243619)
但对于动态加载的对象,有时是需要的.

19:46:58
哈哈,为一个字节能拍死你的人会用动态加载???

19:47:57
俺变异的COM接口技术应用于中断回调都有人提出效率之问题

19:49:00
今天的将汇编的启动文件咔嚓后就回应了上面红字的问题

19:49:37 林木森森(965243619)
嵌入式讲的是效率,一般用动态加载的不多.

19:49:43
为什么一定要咔嚓汇编的启动文件呢???
何也????

19:51:32
汇编的启动文件的核心是什么?

19:53:00
中断向量表
http://blog.**/hotpower/125148/message.aspx


19:58:09
//---------------------------------------------------------//
#define __IRQARRAY__ __attribute__((at(0)))//定位中断向量表在0地址处

#if __STARTUP__ == 1
//将此函数重载
extern "C" void __user_setup_stackheap(unsigned int StackMem)
{
}
#ifdef __NUC1xx_H__ //NUC100
#else//M05x
__IRQARRAY__ const CALLBACK __Vectors[16 + 32] =
{
  (CALLBACK)0x20000570,//MSP __initial_sp
  (CALLBACK)Reset_Handler,//Reset_Handler
  (CALLBACK)NMI_Handler,//NMI_Handler
  (CALLBACK)HardFault_Handler,//HardFault_Handler
  (CALLBACK)Default_Handler,//Reserved
  (CALLBACK)Default_Handler,//Reserved
  (CALLBACK)Default_Handler,//Reserved
  (CALLBACK)Default_Handler,//Reserved
  (CALLBACK)Default_Handler,//Reserved
  (CALLBACK)Default_Handler,//Reserved
  (CALLBACK)Default_Handler,//Reserved
  (CALLBACK)SVC_Handler,//SVC_Handler
  (CALLBACK)Default_Handler,//Reserved
  (CALLBACK)Default_Handler,//Reserved
  (CALLBACK)PendSV_Handler,//PendSV_Handler
  (CALLBACK)SysTick_Handler,//SysTick_Handler
//-----------------------------//
  (CALLBACK)BOD_IRQHandler,//BOD_IRQHandler
  (CALLBACK)WDT_IRQHandler,//WDT_IRQHandler
  (CALLBACK)EINT0_IRQHandler,//EINT0_IRQHandler
  (CALLBACK)EINT1_IRQHandler,//EINT1_IRQHandler
  (CALLBACK)GPIOP0P1_IRQHandler,//GPIOP0P1_IRQHandler
  (CALLBACK)GPIOP2P3P4_IRQHandler,//GPIOP2P3P4_IRQHandler
  (CALLBACK)PWMA_IRQHandler,//PWMA_IRQHandler
  (CALLBACK)PWMB_IRQHandler,//PWMB_IRQHandler
  (CALLBACK)TMR0_IRQHandler,//TMR0_IRQHandler
  (CALLBACK)TMR1_IRQHandler,//TMR1_IRQHandler
  (CALLBACK)TMR2_IRQHandler,//TMR2_IRQHandler
  (CALLBACK)TMR3_IRQHandler,//TMR3_IRQHandler
  (CALLBACK)UART0_IRQHandler,//UART0_IRQHandler
  (CALLBACK)UART1_IRQHandler,//UART1_IRQHandler
  (CALLBACK)SPI0_IRQHandler,//SPI0_IRQHandler
  (CALLBACK)SPI1_IRQHandler,//SPI1_IRQHandler
  (CALLBACK)SPI2_IRQHandler,//SPI2_IRQHandler
  (CALLBACK)SPI3_IRQHandler,//SPI3_IRQHandler
  (CALLBACK)I2C_IRQHandler,//I2C_IRQHandler
  (CALLBACK)Default_Handler,//Default_Handler
  (CALLBACK)Default_Handler,//Default_Handler
  (CALLBACK)Default_Handler,//Default_Handler
  (CALLBACK)Default_Handler,//Default_Handler
  (CALLBACK)Default_Handler,//Default_Handler  
  (CALLBACK)Default_Handler,//Default_Handler  
  (CALLBACK)ACMP_IRQHandler,//ACMP_IRQHandler
  (CALLBACK)Default_Handler,//Default_Handler
  (CALLBACK)Default_Handler,//Default_Handler
  (CALLBACK)PWRWU_IRQHandler,//PWRWU_IRQHandler
  (CALLBACK)ADC_IRQHandler,//ADC_IRQHandler
  (CALLBACK)Default_Handler,//Default_Handler  
  (CALLBACK)RTC_IRQHandler,//RTC_IRQHandler  
};
#endif
#endif

20:02:01
假若我们直接改写__Vectors[]的某中断向量,即中断服务程序的地址。
难道不就是一般的单片机应用了吗???
愤青们不张口结舌吗???

20:04:04
咔嚓启动文件,避开回调,将直接PK愤青们~~~

20:04:38
所以,俺的很重要的任务就是要继续
20:05:47
若需高效率代码时

20:06:37
因为愤青反对C++,俺必须预备后续手段加以对付

20:08:22
到底效率真的那么重要吗?

20:14:39
试问你的MCU的CPU占有率是多少???
即空闲认为的比例是多少?

20:15:00 笨孩子(570298585)
0

20:15:29
0,说明你全部采用的是轮询的方法

20:16:02
而且硬件模块都是IO模拟的

20:16:29
待机也算空闲

20:17:01
所以这些都是51芯片的愤青们之所为

20:17:54
新什么了,看看ARM等的硬件模块之配置

20:19:03
以前有句名言:
高人用汇编,菜鸟才用C

20:20:34
不仿请这些高人在ARM中用用汇编

20:21:26
文字池和寄存器地址就会让他住医院

20:22:15
再加上控制到位,他不少白头才怪呢

20:23:36
所以俺一生致力于如何偷懒~~~不过自己很辛苦~~~

20:24:49
是呀,这就是4500行红杏差点让俺“手残”,避免了大家的“脑残”

20:25:21
所以俺为之高兴~~~

20:35:31
C++还有一个好处就是不同类成员可以同名,或本类的函数可以重载即重名不重参数

20:36:37
这样就没必要整日操心和其他函数重名

20:36:39 hotFPGA 弟子®<yuphone@qq.com>
同名

20:37:29
COM接口虽然也可重名,但实际的C函数是不允许的

20:37:55
C可以用COM接口山寨

20:40:20
C/COM是有与和C++等高级语言PK的机会的

20:46:42
今天的课的中断就是咔嚓汇编的启动文件,
其次是C++的好处就是其构造函数就是天然的模块初始化函数

20:46:59
今天的课的重点就是咔嚓汇编的启动文件,
其次是C++的好处就是其构造函数就是天然的模块初始化函数

20:51:03
类,重载、继承、封装、多态
这些要看书学习的~~~要实践多动手,多用脑
自己判断用什么语言最合理
实际你也可只用C++的壳即构造函数,其他成员函数或成员变量实际和C一样

20:52:06
封装会减少出错,C满世界的全局函数实在倒塌

20:52:49
同文件如何避免

20:53:30
既然号称"++",肯定比前任有优点

20:54:56
C++被轻视,估计就是成员函数的调用比C函数的效率低,这是事实

20:55:26
即隐含的this指针

20:56:39
实际真的一直都是纯软件的,在硬件中,真的移植是做不到的

使用特权

评论回复
11
gxgclg| | 2010-12-24 21:46 | 只看该作者
听新闻官报道的课

使用特权

评论回复
12
zhousd| | 2010-12-24 22:40 | 只看该作者
你自已是菜鸟不等于别人菜!一帮乌合之众!
//20:20:34
//不仿请这些高人在ARM中用用汇编
//20:21:26
//文字池和寄存器地址就会让他住医院
//20:22:15
//再加上控制到位,他不少白头才怪呢

以上这些简单的概念还未能搞懂的,这辈子最好就别碰MCU编程之一行了!
看楼主在误导新人,本人有说不出的快感!

使用特权

评论回复
13
batsong| | 2010-12-24 22:42 | 只看该作者
直播比这个好看多了

使用特权

评论回复
14
zhousd| | 2010-12-24 22:48 | 只看该作者
网络上有这样的“大牛”,新人不巧碰上是活该!

使用特权

评论回复
15
X-Hawk| | 2010-12-24 23:22 | 只看该作者
大叔是牛人!
俺直到最近看到一个gcc的例程,才发现用纯C写M0程序的startup文件,
也是可能的。它用的正式大叔这个数组的办法!

并且没有调用编译器提供的初始化,直接将zero init对象赋值为0了。
现在唯一不能确定的就是,自己做初始化的话,C++的全局对象,用什么机制来调用构造函数。

使用特权

评论回复
16
hotpower|  楼主 | 2010-12-25 01:11 | 只看该作者
本帖最后由 hotpower 于 2010-12-25 01:22 编辑

没有破坏任何现场,所以构造函数全部顺利运行。
现在只是要解决堆栈的初始化问题。

俺在DSP,ARM7中已早已成功应用。


俺直到最近看到一个gcc的例程,才发现用纯C写M0程序的startup文件,
也是可能的。它用的正式大叔这个数组的办法!


俺已不再满足数组的方式,想用COM接口改进。

GCC的AVR,CCS的DSP,
http://blog.**/hotpower/125148/message.aspx

IAR上俺已有TI的LMS和ST的STM32成功的案例,KEIL上俺这是头一次。
学习学习KEIL的C++启动过程也不错。


但愿俺能用KEIL首次倒塌芯唐的M0,圣诞节快乐。

使用特权

评论回复
17
ycz9999| | 2010-12-25 01:33 | 只看该作者
有幸听了几回大叔直播    作为小菜鸟  俺只有听的份   从不敢多插一句嘴   因为  大叔讲的实在是太深奥了  不过   小菜鸟也会努力的  直到可以听的懂大叔的教诲为止……   呵呵

使用特权

评论回复
18
hotpower|  楼主 | 2010-12-25 01:34 | 只看该作者
大家注意以下两个链接

http://search.21ic.com/so.php?keyword=zhousd&pn=2

https://bbs.21ic.com/icview-35771-1-1.html


精彩部分摘录:



农民讲习所 发表于 2008-5-9 22:47 AVR 单片机  ←返回版面
66楼: 马甲zhousd说得太过分了
你不如说反对飞船就是反奥运、反D、不爱国。

起码俺就自认为比飞船学得精,飞船太爱面子了。

使用特权

评论回复
19
hotpower|  楼主 | 2010-12-25 01:43 | 只看该作者
本帖最后由 hotpower 于 2010-12-25 01:58 编辑


https://bbs.21ic.com/icview-91036-1-1.html

巨作:《自已看!周立功恐吓打击初学者的证据!,楼主删俺的贴!BS你!》

http://pdf.18ic.com/2007-6/4/10480860413.html
//*******************************
如果要书评有力,造成在国内有极大的影响力,必需断章取义,(绝对不能把整个序言都附上,这太便宜了写书的人!切记!切记!)只要把整个**的中心思想突显,关键字加入必要的注解!

如果开这样一贴标题:“看清商人的嘴脸!!”
可以这样的举例子:
对于周立功:<<ARM 微控器基础与实战>>序语言中其中一些话:

//----首先采有恐吓的语词来误导初学者!为什么?因为此人当时不但末应用
过linux,而且也不熟悉TCP/IP就写出了以下的序言:

“LINUX(uCLinux),TCP/IP 均是计算机范畴的东西,与ARM没有必然的联系,它们本身就是一个十分复杂的 体系, 一个人要精通任何一种都很难,又何必与ARM搅在一起。”

//**********************************************
“。。。十分复杂。。。一个人要精通‘任何一种’都很难,” //---这是什么的语言?首先打击别人的自信心!
//**********************************************
//-----试问真的很难吗?用过嵌入式LINUX的人都知道。TCP/IP是LINUX的强项,源代码全都经过全世界无数的程序员千锤百练的,源码随手可得,只要对着TCP/IP的书,‘对看完源码’也就完全掌握了!!!,并且拿来就能极其稳定地运行!!!

你老周现在搞的是什么,靠,在出售自家的TCP/IP,加密库,加密IC,有没有BUG,天知道!

后记:本人这段时间一直在思考一个问题,已经到了忍无可忍的地步,“诚信”两字究竟值多少钱?喜欢吹牛的人要不要付出代价!!!

注:正当的书评是不犯法的!欢迎大家开展热烈的爱国技术书评!
amo
权限:管理员
积分:2855
发帖数:1130
时间:2007-6-5 20:28:06
商业上的炒作手法……其实很正常。前段时间不是“全国牙防组”被封了么^_^
说句实在话,周立功起码还做了实事,不像陈进之流……艾
  
  宇宙飞船
  权限:普通用户
积分:15
  发帖数:7
时间:2007-6-6 10:40:20
广州周立功单片机发展有限公司
源码公开的嵌入式实时操作系统T-Kernel
IT 圈外不知道比尔·盖茨的人,恐怕很难成为富翁;在IT 圈里,如果不了解坂村健,
也许要考虑还要不要立志成为IT 的技术专家。

/***以上这段话读三遍就要“呕吐三遍!”,俺由15岁沉迷电子到现在,已有20多年,目前还任职在电子产品设计的第一研发线上,生平还是第一次见到把自已的意志强加别人的人!****/
。。。。
TRON 是一种内嵌式操作系统,在微处理器中运行。据估计这一系统已经安装到了全球
30 亿到40 亿台家用电子产品当中,远远超过Windows 的普及程度,后者不过安装到了1.5
亿台计算机上。尽管在个人电脑领域知名度几乎为零,但TRON 现在却占据了全球微处理
器操作系统市场上大约60%的份额。。。。
----------------------------------------------------------
TRON 现在却占据了全球微处理器操作系统市场上大约60%的份额???!!!
-----------------------------------------------------------
/***这种牛也吹得出!再呕吐三遍!只有把全中国搞电子这一行的人当白痴的人才写得出!俺等老鸟们绝对不会再被误导!但国内的很多在校的学生们还是被蒙在鼓里!**/


//-----------------------以下来自21ICBBS--------------------
宇宙飞船 发表于 2007-4-26 09:52 ARM 论坛 ←返回版面   

70楼: “城信”二字对于商人来说是无价的!

若果说话当放“P”,“城信”这个无价招牌就荡然无存。
作为醉心技术细节的我,一直从事在产品研发的第一线工作,对linux下的极大感触也就是在做完项目开发之后产生的,老狼对linux没花精力研究,是不可能知道linux会给你带来什么的?只有真正用过linux搞开发的人才知道它的稳定性和玄妙。

linux并不象某些大师说的庞大,相反,它是一个很简洁巧妙的内核,内核上用的技术都是一些“C语言精华的巧妙运用”!

“根本上同要学习UCOS,T-KERNEL一点关系都没有”!!!

更加重要是linux还有无数的底层驱动源代码可用。这可是“技术内功的源泉”!

因为某些人是从搞汇编出身,40多岁了还是没法惨透这些这么简单的技术,从而觉得linux高不可攀,转向所谓简单明了的UCOS,T-KERNEL!

试问:UCOS,T-KERNEL 有无数的底层驱动源代码可用吗?没有!既然没有,并且对于以后再学习linux没有连系,为何还要花时间精力学习?全世界没有流行的操作系统不下一百多种,学得了哪种?

人一生的精力是有限的,当选错方向学习时,猛然醒悟,为时已晚!
这些贴子纯粹是宇宙飞船多年来研习嵌入式操作系统的的个人感悟!

* - 本贴最后修改时间:2007-4-26 13:05:40 修改者:宇宙飞船
//----------------------------------------------------------
宇宙飞船 发表于 2007-4-18 08:54 ARM 论坛 ←返回版面   

52楼: 俺真实的个人感受,用纯linux开发下得到的种种好处!

    国内写linux低版本书的人在序言中也真没水平,要推销他自已的书也不致于把高版本的内核200M内容放出来吓唬人,有心脏病的人看完当场会晕倒!不晕死才怪!
    解剖过Linux2.4以上内核的人都知道,真正的核心就只有内核目录的二十多个源文件(linux2.4的核总共才28个文件375K,编译后才200K多一点),其余的都是可有可无的内容。用硬件ARM处理器打个比方,ARM的核相当于这二十多个源文件;晶片中的AD,UART,IIC,SPI,PWM。。。等对应于剩余的其它文件。用过MCU的人都知道这些是可有可无的选项,用到的时候才会看一眼,你看linux 简单不???
    现在我们来比较评估一下从大学起就开始学习windows开发工具与linux开发工具的人30~40岁后的"设计能力"和"生存能力"。
    先看微软,按照微软的策略,每三到五年就更新一次开发工具和操作系统,每一次工具的更新,就是一轮痛苦的学习,对于30岁后的人来说是肯定有点力不从心。也就是说过了30岁后肯定被淘汰出局(我弟弟就是很好的样板,五邑本科计算机系第一界毕业,现在只能做做网管之类的工作)---“设计能力和生存力呈线性下降”。
    回过头来看学习了linux工具的人,因为linux下的开发工具引爆器是:“gcc,g++,gdb,ld,as,ar,nm,objdump,objcopy,make,vi”随着年龄的增长。对这些开发工具越来越纯熟,并且可以随时研习这些工具源码进行必要的特定修改。底层的函数积累跟工作的时间成正比,积累到一定的时候,可以考虑用QT的架构把这些子函数用类封装起来,这才是根本。--“设计能力和生存力呈线性上升”
    看到没有,用linux工具的人随着年龄时间的增长,设计能力跟年龄成正比。相反用windows的工具开发的人的能力呈反比最终降到零。物竟天择的是大自然的基本法则,聪明人绝对选用linux开发。
    立马能得到的实惠,这可是俺的真实经历:得到JPEG,MP3,MPEG4,TCP,TSLIB,像素提取,矢量字体的。。。,等工作中要用到的必需技术。
    如果不用linux做开发工具,很难想象,即使得到这些只能在linux下编译运行的源码(开源的人做得太好了!,就是不给在WIN下运行!,不做信徒就别想功力大增!哈哈。。。),也没有这种能力解剖学习倒推这些算法。其实很多在WINDOWS下的软件,例如JTAG 口的仿真技术,在linux下同样有最底层的驱动源代码,致于ELF格式的文件,在linux下更是详细。
    俺说这么多只是想让立志于搞技术的人“在末来拥有超级工程设计能力”,让真正喜欢搞技术的后来者少走一点弯路。
//---------------------------------------------------------

lczsx2000 发表于 2007-6-2 11:51 ARM 论坛 ←返回版面   
230楼:  
。。。。。。。。
    其实人生中有很多次选择的机会,关键还是靠自己。我从来都没买过周工的开发板和书籍资料,也很少去看他的资料,都是在网上google一下,萝卜白菜一锅汤,看你的取舍了。不敢说现在我学的多么多么好,但是我一直觉得我是走对了路的!
    其实,周工在中国电子行业扮演的角色跟微软在世界上扮演的角色差不多,不知道周工是否有意去学了人家???技术含量不高,但是却带起了一大批追随者,以至于成就了另外一个“行业”。在现在国内很多人眼里,软件就是微软,电子就是周工了。
。。。。。。。。  


使用特权

评论回复
20
hotpower|  楼主 | 2010-12-25 01:53 | 只看该作者
本帖最后由 hotpower 于 2010-12-25 01:59 编辑

https://bbs.21ic.com/icview-82176-2-1.html

经典的又拉又打之战例:

哪个晶片有生命力俺就挺哪边!
在技术上能把俺放倒算你本事,做这样的说客就很不道德!

这里前段时间比俺更无聊的贴子都有,楼主能接受,为啥看俺撑周立功就
象热涡蚂蚁了!想当年俺挺AVR的时候,周立功同样脚软,风水轮流转,论
都论到双龙和别的MCU商家脚软了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1538

主题

21697

帖子

505

粉丝