社区
community_281
帖子详情
做底层驱动还是上层应用?请大家指点我
shanno
2012-08-31 08:12:22
目前在一家外企工作,刚进来c/c++做引擎层的东西,后来由于公司业务的改变主要做oem应用开发,工作很轻松。现在接到华三的offer做路由器开发,主要用c,而且月工资比现在少800左右,经常加班。现在的困境是,如果继续留下来,需要学 c sharp做window上的应用开发,如果去华三要做底层c驱动开发。在技术上,我既不喜欢c sharp 也不喜欢车c ,独爱c++。在前途上,不清除偏上层好还是底层好,希望大家指点我。
...全文
1400
21
打赏
收藏
做底层驱动还是上层应用?请大家指点我
目前在一家外企工作,刚进来c/c++做引擎层的东西,后来由于公司业务的改变主要做oem应用开发,工作很轻松。现在接到华三的offer做路由器开发,主要用c,而且月工资比现在少800左右,经常加班。现在的困境是,如果继续留下来,需要学 c sharp做window上的应用开发,如果去华三要做底层c驱动开发。在技术上,我既不喜欢c sharp 也不喜欢车c ,独爱c++。在前途上,不清除偏上层好还是底层好,希望大家指点我。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
x19990811
2013-12-26
打赏
举报
回复
做应用懂底层更好.
hu7324829
2012-09-04
打赏
举报
回复
[Quote=引用 16 楼 的回复:]
没什么底层顶层的,你说BIOS用什么编译,偏偏十几年前就开始用微软的masm编译了,这个你能想到,而到现在的UEFI BIOS 就可以直接用.net开发BIOS驱动然后boot from file。
微软、IBM、MS 这些中国研发部门招的都是硬件驱动大牛吧?比如多平台二进制兼容翻译、cache Driver、MicroCode……用汇编、C就能完全干这些事情
国内除了华为这种硬件为主的公司……
[/Quote]
这个说得很棒
lida2003
2012-09-03
打赏
举报
回复
[Quote=引用 17 楼 的回复:]
做驱动的话,门槛会很高,需要硬件知识。技术不容易被复制。
只要你入行了的话,不断的再深入的话,几乎可以一真做到40岁不成问题。 越老越吃香吧! 你看看LInux内核中的代码,大部分都是非常有经验,得高望重的人在搞,他们不为追求名利,只为不断攀登技术高峰。
做应用的话,关键是靠思维活跃, 经验积累到一定有点优势,可以做软件的架构师。 但是应用层这东西,门槛不高。 很多程序员只需要调用操作系……
[/Quote]
同意
eagain
2012-09-03
打赏
举报
回复
都可以的歪
shanno
2012-09-01
打赏
举报
回复
[Quote=引用 11 楼 的回复:]
做路由器不错,我做过。很多用C写的(pppd,dhcpd等),没关系,看看前辈怎么用c实现的c++功能。。。
[/Quote]
做路由器除了c之外,建立原型的时候会用到一些脚本语言吗?比如python,因为在用c的同时,我希望还可以对各种编程思想保持与时俱进。比如,oo、函数式、面向切面等
cheidtf
2012-09-01
打赏
举报
回复
做驱动的话,门槛会很高,需要硬件知识。技术不容易被复制。
只要你入行了的话,不断的再深入的话,几乎可以一真做到40岁不成问题。 越老越吃香吧! 你看看LInux内核中的代码,大部分都是非常有经验,得高望重的人在搞,他们不为追求名利,只为不断攀登技术高峰。
做应用的话,关键是靠思维活跃, 经验积累到一定有点优势,可以做软件的架构师。 但是应用层这东西,门槛不高。 很多程序员只需要调用操作系统的API,SDK的里接口,因为人人都可以做。能够超越你的人大有人在。
容易被后来居上。
uuufff163
2012-09-01
打赏
举报
回复
每天回帖即可获得10分可用分!小技巧
「已注销」
2012-09-01
打赏
举报
回复
没什么底层顶层的,你说BIOS用什么编译,偏偏十几年前就开始用微软的masm编译了,这个你能想到,而到现在的UEFI BIOS 就可以直接用.net开发BIOS驱动然后boot from file。
微软、IBM、MS 这些中国研发部门招的都是硬件驱动大牛吧?比如多平台二进制兼容翻译、cache Driver、MicroCode……用汇编、C就能完全干这些事情
国内除了华为这种硬件为主的公司外,其他做底层的就是做文件系统过滤(天威诚信、冰点、各大数据安全产品的公司)、游戏防外挂(腾讯、网易、盛大、等各游戏公司)、病毒对抗(金山、360、瑞星等杀毒软件公司)、虚拟设备开发
而上层呢,跟微软走需要学ActiveX、ATL、.net……,数据库还有各种型号的,做手机还要担心今天安卓、iphone、明天wp8是不是会有出头日,或者其他顶级的公司会不会也挤到这个领域来,除了java还有Lua、python、perl、Lisp、Ruby。。。
只有打公司、有技术实力、有研发团队才敢做深入的底层,否则公司基本都会挂掉,相对应用层来说做底层的人数不是一个数量级的,应用层就比较轻松了,出了这家,刷新下51、智联的简历,马上外包啊什么公司就打电话过来让你过去面试了,你放个驱动开发到网上试试,估计一个月也就一个电话,有时候打过来的公司还是上次刚去面过的~~~~~~
你说只要精通一门就够了,那前提是你在现在的公司干的不错,转其他公司开发数据形式、工具、平台那差别就大了,进去前几个月基本就是看已有的代码熟悉熟悉现在公司的框架,弄懂了以后继续开发,如果去小公司更悲剧,来什么活做什么,一个人包干。
「已注销」
2012-09-01
打赏
举报
回复
[Quote=引用 14 楼 的回复:]
引用 11 楼 的回复:
做路由器不错,我做过。很多用C写的(pppd,dhcpd等),没关系,看看前辈怎么用c实现的c++功能。。。
做路由器除了c之外,建立原型的时候会用到一些脚本语言吗?比如python,因为在用c的同时,我希望还可以对各种编程思想保持与时俱进。比如,oo、函数式、面向切面等
[/Quote]你想多了,只要硬件关键的写好就可以了,弄出接口,上面的其他路由的直接可以搬过来了,就像做Linux裁剪一样。
zyq5945
2012-08-31
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
引用 3 楼 的回复:
引用 2 楼 的回复:
C++都会了,C还难么?我会C,但C++很崩溃
不是怕c难,是嫌它很多c++的特性都不能用,写出的代码很难看,到处都是宏,可读性差。
。。。。
到处都是宏?何解?我写代码基本不用宏,C可以完全的考虑效率问题,完全DIY,如果你嫌C没有C++特性,那用struct模拟吧,不过虚函数估计不行。
[/Quote]
最主要的是C++模版。
「已注销」
2012-08-31
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
引用 2 楼 的回复:
C++都会了,C还难么?我会C,但C++很崩溃
不是怕c难,是嫌它很多c++的特性都不能用,写出的代码很难看,到处都是宏,可读性差。
[/Quote]。。。。
到处都是宏?何解?我写代码基本不用宏,C可以完全的考虑效率问题,完全DIY,如果你嫌C没有C++特性,那用struct模拟吧,不过虚函数估计不行。
qzs123181
2012-08-31
打赏
举报
回复
底层的好些吧,学的东西多一些。
shanno
2012-08-31
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
C++都会了,C还难么?我会C,但C++很崩溃
[/Quote]
不是怕c难,是嫌它很多c++的特性都不能用,写出的代码很难看,到处都是宏,可读性差。
xuemincn
2012-08-31
打赏
举报
回复
做路由器不错,我做过。很多用C写的(pppd,dhcpd等),没关系,看看前辈怎么用c实现的c++功能。。。
「已注销」
2012-08-31
打赏
举报
回复
C++都会了,C还难么?我会C,但C++很崩溃
shanno
2012-08-31
打赏
举报
回复
转作底层
可能会失去:
面向对象设计思想(设计模式),C++、Java以及Python的积累
可能会获得:
新的领域背景(数据通信)、精炼的C、Linux内核、更多的发展空间以及以后更多的选择
我爱C++,难舍唉。。。
秋杨
2012-08-31
打赏
举报
回复
跟着工资走
qin_zhu
2012-08-31
打赏
举报
回复
按理来说底层更好!至少我是这样认为的。。
qin_zhu
2012-08-31
打赏
举报
回复
按理来说底层更好!至少我是这样认为的。。
shanno
2012-08-31
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
引用 5 楼 的回复:
最主要的是C++模版。
直接说说STL库就好了,有多少人自己写模板的
[/Quote]
大家谈谈作为一个员工做底层还是应用赚钱啊,C++和C的差别太多了,咱们不要展开,好不?
加载更多回复(1)
android系统原理及开发要点详解
本书内容 本书的各个章节及其组织方式如下所示。 第1章“Android系统概述”,概述Android系统方面的内容,包括智能手机平台的发展历程、Android系统的特点、Android的3种开发工作,以及Android的2种不同的开发方式。 第2章“Android系统开发综述”,介绍Android系统开发的综述性内容,包括工具使用、获得代码、编译系统、仿真器运行、SDK使用等。 第3章“Android的Linux内核与
驱动
程序”,介绍Android内核的特点、Android中使用的专用
驱动
程序、Android系统可能使用的标准设备
驱动
。 第4章“Android的
底层
库和程序”,介绍Android系统的基础程序,以本地程序为主。 第5章“Android的Java虚拟机和Java环境”,这是介于本地和Java层之间的相关内容,主要介绍Android的Java虚拟机Dalvik的基本概念、Android Java程序的环境、JNI的使用方法,以及Java框架的启动流程等。 第6章“Android的GUI系统”,包括Android GUI系统架构、
底层
的pixelflinger和libui库、Surface系统、Skia和2D图形系统、Android的OpenGL和3D图形系统等内容。 第7章“Android的Audio系统”,主要是音频的输入输出环节,音频系统从
驱动
程序、本地框架到Java框架都具有内容。 第8章“Android的Video输入输出系统”,介绍Android的Video输入输出系统,包括Overlay系统和Camera系统两个部分,前者只有本地的内容,后者各个层次均有内容。 第9章“Android的多媒体系统”,介绍Android的多媒体系统的核心部分,包括Android中多媒体系统的业务、结构、多媒体系统的核心框架、OpenCore系统结构和使用等内容。 第10章“Android的电话部分”,介绍Android系统在电话方面的功能,Android是智能手机系统,电话是其核心部分。 第11章“Android的连接部分”,主要包括WiFi、蓝牙及定位系统等,这些Android的连接部分也具有从
驱动
层到Java
应用
层的结构。 第12章“Android的传感器系统”,传感器系统涉及Android的各个层次,具有完整的结构,相比其他系统,传感器系统的各个层次都比较简单。 第6~12章分模块介绍Android的几个核心系统,主要是本地框架和Java框架方面的内容,兼顾
应用
程序和
驱动
层,这是本书的重点。 第13章“Android
应用
程序概述及框架”,介绍Android
应用
程序层的基本概念和
应用
程序框架,这部分内容是Android自下而上的第4个层次,可以基于源代码或者SDK开发,它们之间的差别非常小。 第14章“Android
应用
程序的主要方面”,介绍Android
应用
程序层开发的各个方面,基本上是横向内容,包括
应用
程序的基本控制、各种UI元素的使用、图形API使用3个方面的内容。 第15章“Android
应用
程序的设计思想”,本章的内容是基于通用的
应用
程序和GUI程序的通用设计思想,结合Android系统自身的特点,提出一些值得注意的问题和设计方法。 本书读者 本书适应广大的读者群,力求在Android的系统移植、
应用
程序开发、系统框架改进方面给读者全面的支持。不同的读者在学习本书时,应该使用不同的方法。 Android初级开发者:在本书指引下阅读代码,搭建系统开发环境,对于Android
应用
程序的开发者,重点关注后3章的内容。 Android中、高级开发者:通过本书的引导,学习系统架构,关注开发要点,并尽量使用手机系统的通用设计思想、软件工程思想、系统工程思想来指导Android系统学习。 嵌入式Linux系统学习者:将Android作为一个集Linux核心和
应用
层程序于一体的系统进行学习,并可以利用Android的仿真环境运行和调试程序。 读者在学习本书的过程中,应尽量对照本书的框图和手头的Android源代码,这样可以达到事半功倍的效果。本书在重点代码中加上大量的注释,帮助读者阅读,对于非重点的代码,不占用本书的篇幅,读者可以参考开放的源代码。可以采用顺序读和重点读相结合的方式学习本书,顺序读关注系统框架,重点读关注开发要点。 本书作者 本书在编写过程中提炼和综合Android早期开发者的经验、中国大陆Androidin社区的开发成果,以及各位专家的经验和技术,这是本书出版的知识源泉。本书主要由Androidin社区的两名核心技术专家韩超和梁泉领衔规划和编著,韩超统稿。总部设在南加州、专注于Android平台并提供其移动
应用
开发及解决方案的迈奔无线(mAPPn Inc.)也投入技术和人力参与了本书的工作。 参与本书编写的还有于仕林、张宇、张超等人,赵家维、黄亮、沈桢、徐威特、杨钰等参与了审校工作。 由于时间仓促,可能依然存在一些错误和问题,
请
读者见谅,欢迎读者讨论和
指点
。 编辑本段 目 录 第1章 Android系统概述 1 1.1 基础知识 1 1.1.1 Android开发系统的由来 1 1.1.2 移动电话系统开发模式 2 1.1.3 未来移动电话的功能及Android的优势 4 1.2 Android的开发工作 6 1.2.1 Android移植开发 6 1.2.2 Android
应用
开发 8 1.2.3 Android系统开发 9 1.3 Android的SDK与源代码 10 1.3.1 基于SDK的Android开发 10 1.3.2 基于源代码SDK Android开发 11 第2章 Android系统开发综述 13 2.1 Android的系统架构 13 2.1.1 软件结构 13 2.1.2 Android的工具 16 2.2 Android源代码的开发环境 18 2.2.1 Android源代码的获取和提交 18 2.2.2 Android源代码结构 21 2.2.3 编译 24 2.2.4 系统的运行 25 2.3 Android SDK的开发环境 32 2.3.1 SDK的结构 32 2.3.2 Windows环境SDK开发 33 2.3.3 Linux环境SDK开发 42 第3章 Android的Linux内核与
驱动
程序 44 3.1 Linux核心与
驱动
44 3.2 Android专用
驱动
45 3.2.1 Ashmem 45 3.2.2 Binder 45 3.2.3 Logger 46 3.3 Android使用的设备
驱动
46 3.3.1 Framebuffer显示
驱动
46 3.3.2 Event输入设备
驱动
48 3.3.3 v4l2摄像头——视频
驱动
50 3.3.4 OSS音频
驱动
53 3.3.5 ALSA音频
驱动
54 3.3.6 MTD
驱动
56 3.3.7 蓝牙
驱动
57 3.3.8 Wlan
驱动
58 第4章 Android的
底层
库和程序 60 4.1
底层
库和程序的结构 60 4.1.1 本地实现的基本结构 60 4.1.2 增加本地程序和库的方法 61 4.2 标准C/C++库bionic 64 4.3 C语言工具库libcutils 65 4.4 init可执行程序 66 4.5 Shell工具 72 4.6 C++工具库libutils 75 4.6.1 libutils的基本内容 75 4.6.2 Binder 76 4.6.3 libutils中的其他内容 82 4.7 Android的系统进程 85 4.7.1 servicemanager 85 4.7.2 zygote 87 第5章 Android的Java虚拟机和Java环境 88 5.1 Dalvik虚拟机和核心库 88 5.1.1 dex工具库和虚拟机的实现 89 5.1.2 核心库 90 5.1.3 nativehelper库 91 5.2 Android的Java程序环境 91 5.2.1 Java类的层次结构 91 5.2.2 Android Java类的代码 92 5.2.3 Android系统API 92 5.3 JNI的使用 96 5.3.1 JNI的架构和实现方式 97 5.3.2 JNI的实现方式 97 5.3.3 在
应用
程序中使用JNI 99 5.4 系统服务的Java部分 101 5.4.1 Binder 102 5.4.2 ServiceManager 103 5.4.3 系统进程 103 第6章 Android的GUI系统 106 6.1 Android GUI系统综述 106 6.2 pixelflinger和libui库 108 6.2.1 pixelflinger 108 6.2.2 libui 108 6.2.3 输出/输入与硬件的接口 109 6.3 Surface系统 113 6.3.1 Surface系统本地接口 113 6.3.2 SurfaceFlinger本地代码 115 6.3.3 Surface的Java和JNI代码 119 6.4 Skia和2D图形系统 121 6.4.1 Skia
底层
库 121 6.4.2 Android图形系统的JNI接口 124 6.4.3 Android的图形包(graphics) 125 6.5 Android的OpenGL系统与3D图形系统 125 6.5.1 OpenGL的本地代码 125 6.5.2 OpenGL的JNI代码 130 6.5.3 OpenGL的Java类 130 第7章 Android的Audio系统 132 7.1 Audio系统综述 132 7.2 Audio系统和
上层
接口 134 7.2.1 Audio系统的各个层次 134 7.2.2 media库中的Audio框架部分 135 7.2.3 AudioFlinger本地代码 138 7.2.4 Audio系统的JNI代码 140 7.2.5 Audio系统的Java代码 142 7.3 Audio的硬件抽象层 142 7.3.1 Audio硬件抽象层的接口定义 142 7.3.2 AudioFlinger中自带Audio硬件抽象层实现 144 7.3.3 Audio硬件抽象层的真正实现 150 第8章 Android的Video输入输出系统 151 8.1 Video输入输出系统综述 151 8.1.1 Android的Overlay系统结构 152 8.1.2 Android的Camera系统结构 153 8.2 Overlay系统 155 8.2.1 Overlay系统的框架部分定义 156 8.2.2 SurfaceFlinger系统的Overlay部分 158 8.3 Overlay的硬件抽象层 161 8.3.1 Overlay系统硬件抽象层的接口 161 8.3.2 Overlay系统硬件实现框架 164 8.3.3 Overlay系统硬件实现的注意事项 166 8.4 Camera系统与
上层
接口 169 8.4.1 Camera本地代码框架 169 8.4.2 CameraService 176 8.4.3 Camera的JNI代码 179 8.4.4 Camera的Java代码 182 8.5 Camera的硬件抽象层 182 8.5.1 Camera硬件抽象层的接口定义 182 8.5.2 Camera硬件抽象层的桩实现 184 8.5.3 Camera硬件抽象层的硬件实现 188 第9章 Android的多媒体系统 190 9.1 Android多媒体系统的结构和业务 190 9.1.1 多媒体系统的宏观结构 190 9.1.2 多媒体的各种业务 192 9.2 多媒体系统的各个层次 199 9.2.1 libmedia的框架部分 199 9.2.2 多媒体服务 208 9.2.3 多媒体部分的JNI代码 213 9.2.4 多媒体部分的Java框架代码 215 9.2.5 android.widget.VideoView类 216 9.3 多媒体实现的核心部分OpenCore 216 9.3.1 OpenCore概述 216 9.3.2 OpenCore的层次结构 217 9.3.3 OpenCore的OSCL部分 219 9.3.4 OpenCore的文件格式和编解码部分 221 9.3.5 OpenCore 的Node 222 9.3.6 OpenCore 的功能扩展 223 9.3.7 OpenCore的 Player 226 9.3.8 OpenCore 的Author 236 第10章 Android的电话部分 243 10.1 Android电话部分综述 243 10.2 Modem
驱动
243 10.3 本地的RIL代码 245 10.3.1 简介 245 10.3.2 RILD守护进程 246 10.3.3 libril库 247 10.3.4 RIL的实现库Reference RIL 247 10.3.5 Request(
请
求)流程 248 10.3.6 Response(响应)流程 249 10.3.7 RIL的移植工作 251 10.4 Java框架及
应用
251 10.4.1 基本架构 252 10.4.2 呼叫 255 10.4.3 短信 256 10.4.4 数据连接 257 10.4.5 其他框架部分及其他
应用
258 第11章 Android的连接部分 259 11.1 WiFi部分 259 11.1.1 WiFi基本架构 259 11.1.2 WiFi本地实现 260 11.1.3 WiFi的Java和JNI 263 11.1.4 Settings中的WiFi设置 265 11.1.5 WiFi工作流程实例 265 11.2 蓝牙部分 267 11.2.1 蓝牙基本架构 268 11.2.2 蓝牙用户空间库bluez 269 11.2.3 bluez适配层 272 11.2.4 蓝牙的JNI和Java部分 272 11.3 GPS和定位部分 280 11.3.1 定位系统基本架构 281 11.3.2 定位系统
驱动
层 281 11.3.3 GPS本地实现 282 11.3.4 GPS JNI实现 283 11.3.5 定位系统Java实现 284 第12章 Android的传感器系统 286 12.1 传感器系统综述 286 12.2 传感器系统层次结构 288 12.2.1 传感器系统的各个层次 288 12.2.2 传感器系统的JNI 288 12.2.3 传感器系统的Java代码 290 12.3 传感器系统的硬件抽象层 291 12.3.1 传感器系统硬件抽象层的接口定义 291 12.3.2 传感器系统硬件抽象层的示例实现 293 12.3.3 传感器系统硬件抽象层的实现要点 296 12.4 Sensor的使用 296
07167多媒体计算机技术.doc
07167多媒体计算机技术 1.打印机属于显示媒体。 2、多媒体的关键特性的是 信息载体多样性;交互性;集成性。 3.决定立体视觉的是视差 4、统计编码属于无失真编码 7.流媒体技术是能够边下载边观看而不需要等到整个多媒体文件下载完成 时才能观看的技术 9.光笔是直接
指点
设备 10.加基色系统使用的三基色是红绿蓝 11.属于多媒体交互式
应用
的有数据检索;虚拟现实;介入信息过程 13.多媒体同步关系包括时间关系;空间关系;内容关系。 14.4G通信速率最高可达100Mbit/s 15.交互电视(ITV)使用的信道是电视网络 16.根据解码后数据与原始数据是否完全一致进行分类,压缩方法可分为有 失真编码和无失真编码。 17.常用的光存储系统分为只读型、一次写型和可重写型三类。 18.超媒体是由节点和链构成的信息网络。 19.电视主要有三种制式,即NTSC、PAL和SECAM。 20.差错率可以用三种方法来定义,分别是位差错率、帧差错率和分组差错 率。 21.多媒体的关键特性主要包括信息载体的多样性、集成性和交互性。 22.IPV6目前定义了3种地址:单播、多播和任播。 23.检索文本数据主
面经——嵌入式常见面试题总结100题(上)
1,字符型
驱动
设备是怎么创建设备文件的,就是/dev/下面的设备文件,供
上层
应用
程序打开使用的文件? 2,写一个中断服务需要注意哪些?如果中断产生之后要
做
比较多的事情你是怎么
做
的? 3,自旋锁和信号量在互斥使用时需要注意哪些?在中断服务程序里面的互斥是使用自旋锁还是信号量?还是两者都能用?为什么? 4,原子操作你怎么理解? 5,nsmod 一个
驱动
模块,会执行模块中的哪个函数?rmmod呢?这两个函数在设计上要注意哪些?遇到过卸载
驱动
出现异常没?是什么问题引起的? 6,在
驱动
调试过程中遇到过oops没?你是
从HAL层到java
应用
层重写mini6410 led功能
从HAL层到java
应用
层重写mini6410 led功能 记录了我从HAL层到
应用
层如何把led这个设备控制实现的过程。如果有遗漏或者错误,
请
各位高手
指点
。 led
驱动
的代码就不说了,以后有空再实现, 第一步,查看linux
驱动
设备是否工作正常。之后所有的一切,都是在这个leds设备的基础上操作完成的,所以,检查这个设备是不是有用成为了一个很重要的关键。 首先,用adb shell查看A
驱动
面试题总结
1、字符型
驱动
设备你是怎么创建设备文件的,就是/dev/下面的设备文件,供
上层
应用
程序打开使用的文件? 答:mknod命令结合设备的主设备号和次设备号,可创建一个设备文件。 评:这只是其中一种方式,也叫手动创建设备文件。还有UDEV/MDEV自动创建设备文件的方式,UDEV/MDEV是运行在用户态的程序,可以动态管理设备文件,包括创建和删除设备文件,运行在用户态意味着系统要运行之后。那么在
community_281
662
社区成员
253,727
社区内容
发帖
与我相关
我的任务
community_281
提出问题
复制链接
扫一扫
分享
社区描述
提出问题
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章