#1 - 2021-9-18 21:35
だるくvan (会いたい、知りたい)
rt(bgm38)
#2 - 2021-9-18 21:38
(『一言以蔽之,就是「爱」!』)
没从main的返回值讲咋就坑了,我反倒觉得说这种话的像卷王,还是爱装逼的那种。
#2-1 - 2021-9-18 21:41
だるくvan
说实话有可能,不对是极有可能
#2-2 - 2021-9-18 21:42
夢回环℃
だるくvan 说: 说实话有可能,不对是极有可能
主要是太典了,那种对老师不屑的口气(bgm38)

初学的话暂时用不到github的,不过csdn可以试试。(我当时好多作业题查的csdn,代码又多,说话又好听(bgm38)
#2-3 - 2021-9-23 22:34
ceng网
夢回环℃ 说: 主要是太典了,那种对老师不屑的口气 初学的话暂时用不到github的,不过csdn可以试试。(我当时好多作业题查的csdn,代码又多,说话又好听 )
csdn认真的吗?里面大部分都是复制粘贴,可能还复制错了或者少了
#2-4 - 2021-9-23 22:41
夢回环℃
ceng网 说: csdn认真的吗?里面大部分都是复制粘贴,可能还复制错了或者少了
做作业完全够啊(bgm38)
#2-5 - 2021-11-9 12:47
Misuzu
ceng网 说: csdn认真的吗?里面大部分都是复制粘贴,可能还复制错了或者少了
循序渐进,循序渐进
#3 - 2021-9-18 21:42
不如提前对照着类似《深入理解计算机系统》的书学,毕竟过两年肯定也是你们的专业课之一
零基础学C语言是很难得的一段体验,且学且珍惜。
#3-1 - 2021-9-18 21:43
だるくvan
现在还挺感兴趣的,希望我的热情不会消失
~~~~~~~~~
编辑,说的挺好的,只不过我的进度还是卡住了

主要是时间的原因把
#3-2 - 2021-9-18 21:48
だるくvan
“如果你之前没有计算机的基础知识, 刚刚学会Java/Python,能写一点小程序了,就准备把这本书给啃下来,很有可能碰得头破血流,也许能看完第一章的概述,但是一旦进入第二章和第三章,十有八九就要怀疑人生了。”
哇,这是真的吗(bgm38)
#3-3 - 2021-9-19 23:16
鱼罐头2455
CSAPP这书我觉得有点痛苦面具,没点基础真的不大看得懂
#4 - 2021-9-18 21:46
(nobody cares.)
别理他们;主要理论基础(体系结构 操作系统 编译器 数据和算法)比具体哪种语言要更重要;实践上可以抱着多用搜索引擎/多用知乎的思路,遇到什么不会的不要敷衍而过,最好记录下来找时间弄清楚。计算机打实理论之后剩下的就是“用啥再学啥式”的时间积累;多动手,项目做多了也会日渐有自己的体会的。
#4-1 - 2021-9-18 21:49
だるくvan
所以我那畸形的方向键有解决的方法吗(bgm38)
#4-2 - 2021-9-18 21:53
红炉点雪
だるくvan 说: 所以我那畸形的方向键有解决的方法吗
买个键盘
#4-3 - 2021-9-18 21:54
徒手开根号二
だるくvan 说: 所以我那畸形的方向键有解决的方法吗
就买个很便宜的ikbc能用很长时间...
#4-4 - 2021-9-18 21:57
だるくvan
红炉点雪 说: 买个键盘
懂了,怎么简单的方法咋没想到(bgm38)
#4-5 - 2021-9-18 22:56
苏小幼
だるくvan 说: 懂了,怎么简单的方法咋没想到
还有不要入机械键盘坑
#4-6 - 2021-9-18 22:58
だるくvan
苏小幼 说: 还有不要入机械键盘坑
可以随便整个最便宜的买吗?
这样我就不会入坑了(bgm38)
#4-7 - 2021-9-18 23:00
苏小幼
だるくvan 说: 可以随便整个最便宜的买吗?
这样我就不会入坑了
当然可以,不要想着越买越贵就好
#5 - 2021-9-18 22:08
(会いたい、知りたい)
还有比如说,在教材里有涉及开方的运算,反正输出的时候就有个强制转换成float型,我同学说,sqrt的经典自动换成(?)double型,当然这部分教材没有提及,说不定老师会说一说。但还是倾向于认为,以后会有类似的情况,也需要我自己去问,什么的(bgm38)
#5-1 - 2021-9-18 22:09
だるくvan
顶一下
#5-2 - 2021-9-18 22:56
#5-3 - 2021-9-19 08:49
だるくvan
だるくvan 说: 顶一下
顶一下
#5-4 - 2021-9-19 19:12
だるくvan
だるくvan 说: 顶一下
顶一下,回复我都有看,只不过还得慢慢搞🔨
#5-5 - 2021-11-9 12:52
Misuzu
只能说一般老师只负责入门,真正大部分的学习研究不能靠老师讲
#6 - 2021-9-18 22:23
(只要是春希就可以)
上号上号,艾欧尼亚加我ID 你自己有没有问题
#6-1 - 2021-9-18 22:29
だるくvan
啥?艾欧尼亚?(bgm38)
#7 - 2021-9-18 22:33
(梦想是成为JK)
同学说的话权当放屁为妙(bgm38)
#7-1 - 2021-9-18 22:38
だるくvan
是个不错的建议(bgm38)
#8 - 2021-9-18 22:38
(不亢不卑,不骄不驺)
c++,可以参考下,讲的很细致
#8-1 - 2021-9-18 22:40
だるくvan
我还只是在学c,可以直接看c++的吗(bgm38)
#8-2 - 2021-9-18 22:48
klion
だるくvan 说: 我还只是在学c,可以直接看c++的吗
我不知道(bgm38),但是当年我学完c,几年没碰就忘着差不多,结果现在碰到的算法有的是用c++实现的,不得不再去学,有些后悔当初(bgm38)
#8-3 - 2021-9-19 11:56
红炉点雪
だるくvan 说: 我还只是在学c,可以直接看c++的吗
可以,但不建议
#8-4 - 2021-9-19 23:18
鱼罐头2455
だるくvan 说: 我还只是在学c,可以直接看c++的吗
可以的,你学了c++的基础写基础的c程序就没什么问题了,而且c++好玩的项目更多,c的话……说实话很多时候触碰不到,你下一次触碰估计得到写os的时候了……
#9 - 2021-9-18 22:46
(会いたい、知りたい)
还有就是,我们这有大一立项(很多学校都有吗?)
之前看到班内有人说自己做了个本地番剧管理什么的,如果立项去做这个,对于新生有能力完成吗?
#10 - 2021-9-18 22:50
(明心见性,见心见性,知行合一。)
愿意花课外时间学习的话,去MOOC找相关的,感兴趣的课程跟着学。
#11 - 2021-9-18 22:51
(不亢不卑,不骄不驺)
平时多看英文文档,尽早习惯,我觉得这比啥都重要
#11-1 - 2021-9-18 23:03
だるくvan
已经有点体会了,帖子里的几个链接都英文的(bgm38)
#12 - 2021-9-18 22:52
(Make that money;Watch it burn)
#12-1 - 2021-9-18 22:54
だるくvan
放假了,多问点(bgm38),以后学得累死人,哪有什么上进心(bgm38)
#12-2 - 2021-10-10 21:01
白丿康
Take your time. Slow down.
#13 - 2021-9-18 22:53
语言只是工具,初学者不建议扣得太深,现阶段真的就只把它当工具就行了,目的只是为了有个感性认识
等学了更多的理论基础知识,比如操作系统/体系结构/编译原理之类的,再返回来看C/C++的一些实现,会有更深的体会,这一阶段可以好好研究下posix api,以及基础数据结构的实现方法和思想,可借用linux man/cppreference/stackoverflow/qiita之类的作为参考来源
学操作系统的时候可以想一下一个程序是怎么跑起来的,main函数只是个伪入口,在它之前操作系统或者C/C++ runtime又做了什么事情,在main退出之后又做了什么事情
工程能力的提升只能靠多实践,书本里的软工教学和设计模式之类的半点用没有,没有实践一般是体会不到设计模式应该用在什么地方的。而实践的最佳途径是实习。
学习数据结构和算法的最佳途径是刷题,这个你在找工作的时候也会用到的
书籍的话,可以看中文,但最好是机械工业出版社的那堆黑皮书,看到蹩脚翻译的时候就去对照英文看

顺便推荐一下学操作系统/编译原理时可以结合学习的一个网站:https://preshing.com/
#13-1 - 2021-9-19 08:51
だるくvan
好文,得仔细研究🧐
问下,如果我搜索一些上面提到的东西,然后别人用更多我看不懂的东西去解释,我该怎么办(bgm38)
算了,凉拌。
#13-2 - 2021-9-19 23:12
鱼罐头2455
坏了,我大三了都没这么有想法
#13-3 - 2021-9-19 23:48
🐦
鱼罐头2455 说: 坏了,我大三了都没这么有想法
其实上学的时候我也没这想法,
反而是工作后想法多了(
#14 - 2021-9-18 22:56
开始学都是这抄一点那抄一点,学这个一定要多练,就会学得比较快(bgm38)
立项这种东西一般都有,有机会参加丰富经验还是不错的,对后续学习及比赛参加还是很有帮助的,如果考虑读研的话保研也会轻松一些(bgm36)
本地番剧管理的话只要自己以前有学过还是有些可以完成的,这就看自己学习的程度了,有很多初中甚至巴拉巴拉(bgm38)就搞这些了(bgm38)
#14-1 - 2021-9-18 23:09
#15 - 2021-9-18 23:00
(DD雷达搜寻中...?)
(bgm38)c的话搞掂指针就入门了
#16 - 2021-9-19 00:05
(19914)
方向键不协调可能是你不太熟悉键盘或者IDE的快捷键才觉得别扭吧。键盘、IDE这些是往后吃饭的家伙, 开始总有个熟悉的过程, 用着用着就会趁手或者被你配置得趁手了。我大学到现在都在用K380, 你可以查下, 也没有任何不适。另外不想用方向键的话可以趁年轻学下vim (逃

群里的神王多半是高中有竞赛基础的, 大可不必自惭形秽, 要真觉得受打击就少参与这些群聊, 大一时保持对自己智商的信心也是很重要的 (笑

语言只是工具+1, 能把C/C++的概念搞明白的话, 之后再用Java, Go 之类没有历史包袱的语言只会更轻松(轻松得多)。各种语言标准库的算法实现也是很值得一读的, 举个栗子像C++ stl里next_permutation的实现, 你能感受到这就是前人智慧的结晶。

git只是个版本管理工具, 你再写两三周程序估计就知道这东西为什么要用以及怎么用了。"有效利用github", 想功利一点就去给开源项目提issue, 发pr, 让你的profile看起来不只有commit, 还能打上各组织的tag。更多时候github是作为大项目多人协作用的git repo托管平台。github page可以做静态页面托管, 简单有用, 可以现在就动手尝试做博客。CI, kanban, github action, workflow 等高级功能等你有大量工程经验之后自然而然就会体会到它们的作用以及它们是怎么提高生产力的, 现在不必急于求成。

编程上的习惯问题, 刚入门只要做到变量命名规范, 切忌拼音命名, 适量注释, 保持写可读性强的代码, 必要时写文档这几点就差不多了。虽然说你现在写的东西读者可能只有你自己, 工作之后等你发现有一位离职同事写的代码你看不懂又没有文档的时候你就知道保持这些习惯有多重要 (bgm39)

数据结构和算法, 多做题吧, 高校通常都有自己的OJ, 如果自觉有天赋就争取参加比赛, 觉得吃力就从现在开始把leetcode做一遍, 至少以后面试算法环节不虚。
#16-1 - 2021-9-19 00:29
だるくvan
明天起床就开始整(bgm91)
#16-2 - 2021-9-19 00:36
逆淚
だるくvan 说: 明天起床就开始整
还想写一点被你回复编辑不了了 (bgm38) , 感谢F12帮我找回来。

计算机是一门彻头彻尾artificial的学科, 是近一百年人类较大部分智力活动的成果, 而这些成果又是站在前人千余年的数理基础之上, 所以学的时候感到深度广度很大、甚至特别艰深都是很正常的。如果有任何你觉得不自然的概念、工程实现, 可以试着了解一下其中的沿革, 也不失为学习过程中的一种放松。因为更多时候这个业界会因为某种东西刚好够用就会一直用下去的。想起了S1上有人发过的那个 what if 90年代业界零零总总的一个演讲, 找不到了, 看有没有班友能帮忙找下, 先谢(bgm39)

谢谢肥肥, 不过为什么又删了, 昨晚听着听着睡着了(bgm39)
https://www.youtube.com/watch?v= ... DxzpdA&index=21
https://bbs.saraba1st.com/2b/for ... ead&tid=1981014
#16-3 - 2021-9-19 00:43
[已注销]
删除了回复
#17 - 2021-9-19 00:15
不建议看谭浩强写的书
#18 - 2021-9-19 00:42
(“?”)
建议玩玩单片机,对C语言有直观的认识(bgm38)
#19 - 2021-9-19 09:03
(✨️make bangumi great again✨️)
真正用的时候,大学提供的教材,说得过分点毫无用处。
我建议你上网找点倾向于培训那种视频,稍微学一下,别深入,弄一个有点意义的能实际使用的小小功能出来,再回去看大学的书,你会恍然大悟。
#20 - 2021-9-19 09:17
(大胆想象,谨慎思考)
慢慢来吧,可以先看看 missing semester,熟
熟悉一下 unix 系的操作,而不是全在 Windows 的舒适圈里
个人感觉对于 c 系还是多写代码,等你把肥肥上面推荐那本计算机系统看个三四章(不必太细,前面有点枯燥,但是需要形成一种思想)可以去学 njiu ics pa 2020,那玩意儿有点难,但他会教你计算机学生作为一门半工程半科学学科工程那部分所需要的素质和能力,是最强开源课程之一
你上面所提到的那些问题,多 man 一下,学 C 最好的工具之一可是 man pages(
等我睡醒了起来再补充点
#20-1 - 2021-9-19 10:22
だるくvan
来了,第一个部分shell的第一步就出问题了(bgm38)
他说用程序which,但是我这无法识别which
#20-2 - 2021-9-19 10:36
⏳TraceBack⏳
だるくvan 说: 来了,第一个部分shell的第一步就出问题了
他说用程序which,但是我这无法识别which
https://cs50.harvard.edu/
https://missing-semester-cn.github.io/
https://nju-projectn.github.io/ics-pa-gitbook/ics2020/
https://csapp.cs.cmu.edu/3e/labs.html
具体问题我就不解答了,自己去看文档去吧(
上面的这几个应该渐进着看,ics2020 和 CSAPP 的 labs 难度可能是后者要简单一些,但是不建议先做
按着这几个顺序走下来泥就入门了 system 领域了(x
对于计算机学习这方面感觉要说的能说一天,但是大部分的都在 ics2020 里说到了,可以把 PA0 看一看,PA1-5 难度依次递增,PA4 真的很难,PA5 我没做(bgm40)
如果说只会 C 的话,可以先把 PA0 看一下,如果觉得自己不能理解的话,就先把 CS50 和 missing semester 过一次,不必全部吸收。然后待 C 稍微熟悉后把 PA2 做掉,PA 3-4 需要一些系统的知识,但是 PA2 的 nemu 不怎么需要(而且 PA2 的结果特别让人有成就感)。PA1 也可以做,大概是一两个晚上写完的 C 语言作业难度,(不过之后不怎么用得到,因为这个调试器太过简陋了以至于在代码里插输出的调试难度更低),这项目的调试很容易让人怀疑人生,一调一整天,所以写代码的时候一定要谨慎,多做测试x
#20-3 - 2021-9-19 10:42
Retorm
f***,怎么在这里也能看到把我折磨致死的ics pa???(bgm38)
#20-4 - 2021-9-19 10:46
⏳TraceBack⏳
Retorm 说: f***,怎么在这里也能看到把我折磨致死的ics pa???
是 NJU 的大佬吗x 如果这玩意儿是作为作业的话确实很恶心(bgm38)
#20-5 - 2021-9-19 10:49
Retorm
⏳TraceBack⏳ 说: 是 NJU 的大佬吗x 如果这玩意儿是作为作业的话确实很恶心
不多说了,68分(bgm38)
然后还有也是jyy老师的类似难度的OS课,最后也是拿了68(bgm38)
#20-6 - 2021-9-19 10:59
⏳TraceBack⏳
Retorm 说: 不多说了,68分
然后还有也是jyy老师的类似难度的OS课,最后也是拿了68
不用评分来做就很爽(bgm89),OS 的 labs 中我也做了几个,没有时限没有评分还很好玩.jpg
但是依然是这种感觉,如果这玩意儿作为作业就很几把可怕。jyy 似乎在你们实现的 filesystem 的评测数据上还用了他们 fuzz test 的论文?非本校学生就没资格体会这种苦恼(bgm93) 但是想着就害怕
#20-7 - 2021-9-19 11:09
Retorm
⏳TraceBack⏳ 说: 不用评分来做就很爽,OS 的 labs 中我也做了几个,没有时限没有评分还很好玩.jpg
但是依然是这种感觉,如果这玩意儿作为作业就很几把可怕。jyy 似乎在你们实现的 filesystem 的评测数...
具体他们OJ那边怎么搞的我有点忘记了,反正就是怎么也过不了性能test(bgm38)
#20-8 - 2021-9-19 19:21
だるくvan
⏳TraceBack⏳ 说: https://cs50.harvard.edu/
https://missing-semester-cn.github.io/
https://nju-projectn.github.io/ics-...
第一个,纯英的,有点为难(bgm38)
#20-9 - 2021-9-19 22:16
⏳TraceBack⏳
だるくvan 说: 第一个,纯英的,有点为难
能用英语学这三者的能力可能比这三个加起来都重。我个人感觉从最开始就用谷歌,然后用 ublacklist 屏蔽掉 csdn 等等垃圾网站是很重要的事情。
顺带.. 如果你觉得现在整 Linux 比较早的话,可以整 wsl,但是现在搞 wsl2 也不轻松,而且比较慢。你还不如花一下午时间装个 manjaro 试试,装起来熟练了就十几分钟,但是之后的学习部分才是大头。这么多人不同方向的人给了这么多不同的建议,但我建议你弄清楚这些建议是通用的,还是一家之言。比如 C# 如果你不做 win 开发或者游戏开发可能一辈子都不用写,而且这玩意儿如果只是临时用用的话学起来分分钟的事,大部分语言特性(而非思想特性)都是不值钱的。我个人还是建议学所有cser都需要会的,比如 C,Linux 之类的,等你能分辨哪些建议是站在什么的角度提出的时候,再去学习那些相对狭窄的东西
#20-10 - 2021-9-19 22:18
allegray
⏳TraceBack⏳ 说: 能用英语学这三者的能力可能比这三个加起来都重要
+1
#20-11 - 2021-9-19 22:22
だるくvan
⏳TraceBack⏳ 说: 能用英语学这三者的能力可能比这三个加起来都重要
确实
#21 - 2021-9-19 11:04
第一节课难道不应该是hello world么
其实,教授好不好无所谓,谷歌永远是你最好的朋友(
#21-1 - 2021-9-19 11:29
だるくvan
讲了数据类型,反码补码,helloworld也讲了。
#21-2 - 2021-9-19 11:38
1ra
だるくvan 说: 讲了数据类型,反码补码,helloworld也讲了。
反码补码。。。我记得是后面才学的
一般来说数据类型之后不应该是ifelse while之类嘛
#21-3 - 2021-9-19 11:41
だるくvan
1ra 说: 反码补码。。。我记得是后面才学的
一般来说数据类型之后不应该是ifelse for while之类嘛
不知道(bgm38),搞不懂。
#21-4 - 2021-9-19 11:49
1ra
だるくvan 说: 不知道,搞不懂。
emm感觉你教授教的顺序的确有点奇怪,偏底层的东西讲得太快不好理解。(也有可能我是java开局的原因?)
网上的教程应该更直观点,自己找找正好锻炼一下熟用搜索引擎的能力,以后写代码肯定用得到指复制黏贴
#22 - 2021-9-19 11:47
(好好科研,好好灌水)
我当年同学们买的都是《C Primer Plus》
其实 C 语言在国内互联网用得不是很多,如果将来想去互联网 996,可以不太追求 C 语言的精通。(如果想搞硬件或者底层另说;想学好计算机,C 语言的底子也不能太差。)理解程序是怎么编出来之后,趁早自学点 Java 或者 Python(bgm38)
#22-1 - 2021-9-19 23:13
鱼罐头2455
C主要是做硬件那一块用的多吧,互联网……还真没怎么听说过,c++倒是经常见
#23 - 2021-9-19 12:02
哎,要是我在几年前能看到相似帖子,说不定学cs就不会学的那么失败了(bgm40)
#24 - 2021-9-19 12:09
(小圣杯邀请码: whyjxz14#576501)
方向键买个键盘不就解决了。顺便还建议买个屏幕挂灯
#25 - 2021-9-19 12:13
(bgm38)方向键也不算问题吧,换个其他键盘就是了
#26 - 2021-9-19 12:53
(そして、次の曲が始まるのです。)
mark
#27 - 2021-9-19 12:55
(我是一只bug)
找个acm网站跟着把入门题打完就行了 直接看书能看下来的人太少了
#28 - 2021-9-19 13:44
我的建议是不要听别人的那种安利,比如什么IDE好用啊,什么Linux发行版好啊,然后让你配置这配置那的。身边有位同学一个学期能装几十次系统,天天折腾各种配置(其实就是无脑Google查文档(bgm29))。我以前就在这上面浪费了大量的时间(bgm38)
#28-1 - 2021-9-19 23:19
鱼罐头2455
同感……我这边也是每天花大量功夫在各种工具的环境配置上,这个弯路不是不能走但能避免就避免吧
#28-2 - 2021-9-19 23:33
1ra
记 事 本 战 神
#29 - 2021-9-19 14:24
说实话,要是觉得不好入手的话在b站找找视频挺好的。有一定积累再看书我觉得更快些,还有要都动手多写。方向键不好用就搞一个vim的插件,用字母当方向键
#30 - 2021-9-19 14:29
为什么是方向键?是hjkl不好用么(不是
#31 - 2021-9-19 19:49
(会いたい、知りたい)
问下,我要整个linux吗?
NJU那个一开始讲配置环境的时候就提到了linux和GNU
所以我要整一个吗?
#31-1 - 2021-9-19 20:14
だるくvan
在线等急
#31-2 - 2021-9-19 20:17
Samot
だるくvan 说: 在线等急
没必要,等到学OS的时候再装Linux也不迟
#31-3 - 2021-9-19 20:17
Jadeity
だるくvan 说: 在线等急
非必须,如果需要Linux环境WSL即可。
#31-4 - 2021-9-19 20:21
Jadeity
另外学C大概只是了解熟悉一下编程,建议先去了解一下计算机和编程语言的发展历史,那些说老师不讲什么返回值的只是想显摆一下自己知道这些而已。
#31-5 - 2021-9-19 20:23
Jadeity
Jadeity 说: 另外学C大概只是了解熟悉一下编程,建议先去了解一下计算机和编程语言的发展历史,那些说老师不讲什么返回值的只是想显摆一下自己知道这些而已。
另外C语言有助于理解一下偏向底层东西,我现在想到适合你的是刘铁猛的C#入门课程,里面有许多概念的讲解。
#31-6 - 2021-9-19 20:25
だるくvan
Jadeity 说: 另外C语言有助于理解一下偏向底层东西,我现在想到适合你的是刘铁猛的C#入门课程,里面有许多概念的讲解。
现在就去(bgm24)
#31-7 - 2021-9-19 21:24
𝒮𝒽𝓊𝓊𝒾𝒸𝒽𝒾
迟早需要,但是不建议在本地弄虚拟机,又麻烦又耗性能。推荐阿里云/腾讯云上买个云服务器,60-100一年(学生优惠),用xshell连接。图形界面工作中基本用不上,都是用命令行
#31-8 - 2021-9-19 22:09
allegray
windows的话可以整个wsl2+vscode,挺方便的。没有图形界面。
#31-9 - 2021-9-19 23:14
鱼罐头2455
wsl就行了,配置简单,性能要求低
#31-10 - 2021-9-20 00:55
Samot
だるくvan 说: 现在就去
为防混淆我暂且提一句,C#和C是两种完全不同的东西,C#是由Java衍生出来的,C++才是由C衍生出来的,切忌把C#和C混为一谈(bgm38)
#31-11 - 2021-9-20 18:21
Jadeity
Samot 说: 为防混淆我暂且提一句,C#和C是两种完全不同的东西,C#是由Java衍生出来的,C++才是由C衍生出来的,切忌把C#和C混为一谈
推荐这个就是刘铁猛老师把C/C++/C#做了对比,而且对传值、引用、指针、内存地址等概念都有很棒的讲解。
#31-12 - 2021-9-20 18:28
だるくvan
Jadeity 说: 推荐这个就是刘铁猛老师把C/C++/C#做了对比,而且对传值、引用、指针、内存地址等概念都有很棒的讲解。
原来是这样
#31-13 - 2021-9-20 18:35
Jadeity
だるくvan 说: 原来是这样
我觉得如果你能理解C的课程讲的内容,可以自己选一个高级些的语言自学,要获得成就感那种,比如经典的爬虫入门。
#32 - 2021-9-19 20:21
(双目失明丝毫不影响我上BGM)
如果你要入这个行业不会linux是不可能的

但是这玩意没必要单独学,你可以装一个,然后做编程作业的时候多用用它,自然而然就学会了。
#32-1 - 2021-9-19 20:26
だるくvan
ok,可以先装一个,闲着没事毕竟

还是决定wsl2
#33 - 2021-9-19 20:52
* 关于linux:以后早晚要学,所以如果你精力允许的话可以弄一个玩玩。如果你的PC是windows 10的,可以查一下如何装WSL2,然后在linux环境里面写代码的话,用VSCode连进去写就好。当然客观来说,对于新人,每一个新环境、新工具的引入都可能耗费不少精力,因此如果遇到问题不要死磕,这个作为一个支线任务做就行了。
* 关于C语言:国内大一上学期的C语言往往是教一些基本的变量类型、控制流结构之类的,然后最多加个指针。之后大概率就全员OI化了,很可能就在不断的做算法题。不用压力太大,如果真的打算深挖某个语言,你大一学的这些玩意儿基本都要返工重学(bgm38)此外,还可以有个额外的支线任务:课程很可能一直都在玩单文件编译(因为写的大都是算法题),你可以了解一下多文件编译。b站能搜到一个叫6.NULL的课程,里面有讲一些相关的内容。
* 关于C++:尽管我自己主要是写C++的,但这不是一个必须要接触的语言,至少不是一个必须要深挖的语言
* 关于资料查询:几乎是你整个学生生涯乃至程序员生涯(如果你真的做了)最重要的技能之一,你可以尝试搜素你在编程过程中遇到的几乎任何问题,并且逐渐培养出对信息源的口味。比如关于C/C++,如果想看到相对比较完备的资料,可以去看cppreference
* 关于打字:不慌,多用电脑聊天,过几个月你就出师了(
* 关于课外学习:大一一般来说会偏忙,所以建议还是尽可能关注课内的内容。如果你确实学有余力的话,可以多了解一下计算机的学术界/工业界在关注什么领域的问题。不需要关注细节,先了解“这个领域是为了满足什么需求而出现的”、“这个领域有哪些问题等待解决或改进”、“这个领域有哪些经典方法论”、“这个领域依赖哪些其他领域”等等,自上而下地去审视。这应该是有好处的,不然的话你很可能会写了一年代码后,只知道这个世界上有算法题这种东西(
#34 - 2021-9-19 23:36
(mEtAyAyYEaye sphaela/.)
打了括号需要用方向键的编辑器建议换一个,或者是你不知道其实根本不需要用方向键直接继续打右括号就行了的。
方向键不是问题,趁刚入门早点学vim,能极大提高写(不需要动脑子的)代码的效率(bgm39)
linux可以装个虚拟机熟悉下,日常使用的话开个wsl甚至装个cygwin基本就够了,日常也就用几个基础的命令,等你喜欢linux环境的时候再去琢磨其他东西。
#34-1 - 2021-9-19 23:45
だるくvan
真的是欸,再打一个右括号就行了
#34-2 - 2021-9-20 00:13
Black_tea
だるくvan 说: 真的是欸,再打一个右括号就行了
我就知道,因为我一开始也这样(bgm38)
#35 - 2021-9-20 00:00
补充下linux相关的,我觉得应该有不少人开始用linux都是以自建扶墙工具为起点的
这确实是个不错的入口
当你觉得现有的扶墙工具不足以完成你的某些特定需求的时候,就往这方面稍微深入扩展研究。不一定得自己造轮子,自行研究下各工具的利弊,进行组合,或者用linux自身的网络栈做点事情,也是上手linux的一个好方法,而且因为目标是比较明确的所以也更能往一个方向去深入
vim我觉得不见得需要学,vim好用的地方在于你装够足够多的插件,它的门槛足够高以至于能够用来装逼。但毕竟vscode用来编程已经足够方便了,vscode在windows下进行编程的短板就只在于windows本身了(不管命令行或者powershell都不怎么好用)。在linux下非编程、只是做点小修改的话,nano够用了
#35-1 - 2021-9-20 00:31
鱼罐头2455
vim好处在于在无gui访问linux时能用(
也就是说对大多数轻度使用者来说vim只是一个好用点的vi(
#36 - 2021-9-20 13:00
(会いたい、知りたい)
在看csapp
真的有点痛苦面具(bgm38)
#36-1 - 2021-9-20 13:29
allegray
csapp有前置课程c语言,可能要先学一下c语言?
不过csapp还是尽早看掉,越早越好。记得做lab。
我个人感觉csapp的书比它的网课讲的好。
#36-2 - 2021-9-22 20:53
だるくvan
自顶
#37 - 2021-9-20 19:05
(不想上班)
搞一台 16G 内存 512G SSD 的 windows 机器然后用 wsl2 + vscode 好了,说实话 vim 折腾起来比较费劲也没有什么必要
学计算机别求快,建议在编程练习之外适时写些笔记,用输出来整理思路,看懂的东西也要多上手操练
别花太多时间学什么 html/css/vue/react/spring,多刷算法题才能找到薪水高的工作
#37-1 - 2021-9-24 08:14
Pokr
最后一句(bgm42)非CS专业落泪,之前想也没想就去折腾前端惹
#37-2 - 2021-10-10 20:03
frank1998sj
Pokr 说: 最后一句非CS专业落泪,之前想也没想就去折腾前端惹
没事,CS 专业也一样
#37-3 - 2021-10-10 21:40
板砖加身
好,这就把 js 练习题都删了。
#37-4 - 2021-10-10 21:59
Pokr
frank1998sj 说: 没事,CS专业也一样
(bgm38)
#38 - 2021-9-22 21:07
(小透明)
什么都没学过看csapp看不下去吧,如果上大学前完全没接触过编程,推荐从cs50开始学吧。或者照着简单的例子写点程序,c也好,python也好。不用太底层,坚持学个一两个月就入门了。有点代码量之后再学csapp会好一点。

btw:本人切实感受,轻松点写点代码入门的话,python更合适……比如看评分很高的python入门书《Python编程:从入门到实践》就照着书书一步步来,前半部分学流程控制呀,面向对象这些基础,把书上的例子都敲一敲。后半部分是三个完整项目,基于pygame的游戏,数据可视化,web应用程序。兼顾了编程的方方面面。难度适中,讲解也很详细……能实际写代码自己调试改bug做出能运行的东西会极大增强自信心。

csapp,算法,linux这种基础确实很重要,值得反复学习,在不同的水平阶段学习会不同的感受。但是代码都没写过就看csapp感觉吸收不了多少的精华,很多时候就是痛苦地囫囵吞枣看过去了,拿到lab无从下手……入门还是要从学习曲线比较平缓的地方开始,看优秀的课程或者书手把手带着你写点程序。
#39 - 2021-10-10 21:02
给阿姨沏一杯卡布奇诺。我对手冲咖啡还是很有自信的。
#40 - 2021-10-10 21:36
删除了回复
#41 - 2021-11-8 23:13
(会いたい、知りたい)
自顶
#42 - 2021-11-9 08:40
删除了回复
#42-1 - 2021-11-9 08:44
だるくvan
本人jk(计科
#42-2 - 2021-11-9 09:12
早纟己雀
删除了回复
#42-3 - 2021-11-9 09:20
早纟己雀
删除了回复
#43 - 2021-11-9 09:20
(整衣正色 往南三拜 焚琴煮鹤 挂印封金 ... ...)
#43-1 - 2021-11-9 09:51
だるくvan
屑,咋还要钱
#43-2 - 2021-11-9 12:27
你好F8
だるくvan 说: 屑,咋还要钱
bili找找
#44 - 2021-11-9 10:45
哈哈,这种问题做PA可是满地都是,不会给你很多报错信息让你debug的
方法1:printf大法
方法2:调试器
错在C语句的哪里,错在汇编的哪一句,这些都很有用
不过你这make就报错,肯定是哪里搞错了。比如,你到底是x86还是riscv啊,怎么make的时候是x86,目录在riscv啊
如果C语言都还不是很熟悉的话,先别做PA了,看看书先吧,等熟悉了CS这套再去做PA,这都是我们大二的课(bgm38)
#44-1 - 2021-11-9 15:50
だるくvan
其实三种isa都不行
只是我随便填了x86(bgm38)
#44-2 - 2021-11-9 16:03
だるくvan
所以这个protocol.c的问题是要我自己修吗(bgm38)
#44-3 - 2021-11-9 16:16
Retorm
だるくvan 说: 所以这个protocol.c的问题是要我自己修吗
想不起来了(bgm38)
#44-4 - 2021-11-9 16:27
Retorm
だるくvan 说: 所以这个protocol.c的问题是要我自己修吗
一般需要你自己写的地方他会在gitbook或者代码里标出来的,最好不要乱改,否则后面很难搞的。而且说实话我不太清楚你现在都做了哪些。。。如果还没有太多debug的经验,我真的很不推荐做这个实验,何况这里面用到的debug技巧不仅难,而且平常会有更好用的东西来替代。。。你现在应该还在PA1吧,那个时候应该都能一个晚上搞定,后面PA2,PA3你要是没同学能问,怕是几十个小时都不一定能整明白一个小节(bgm38)这些时间不如先学点基础的语言内容,写点代码巩固debug技巧和看代码的能力,这些东西你可以等到下学期或者大二再搞。。。
#45 - 2021-11-9 12:20
(卖人设是坏文明)
bangumi里所有人都是学计算机的吗(bgm38)
#45-1 - 2021-11-9 12:28
你好F8
入门太低了,我发个类似的贴,你会发现bgm都是ps高手,同一个效果能列出十几种思路
#46 - 2021-11-9 12:39
(飞得高,飞得低,学习再学习,多少大秘密 ... ... ... ... . ...)
慢慢来就行了= =
C 语言太 low-level 了,我总觉得新生学这个压力很大...比如「memory」这些概念实际上我觉得新生都不是很好理解。
一种好的方式是赶紧硬啃下来然后啃啃 cs50 啥的,先对写代码有一些美好的印象,再去啃一些 hardcore 的东西...
#46-1 - 2021-11-9 12:42
mwish
系统入门的话 UCB 的 cs61c 难度非常合理,PPT 也很好。不过话说回来,我个人非常不建议没有兴趣这么早去看...
C 语言入门这些东西硬啃就行了,应付考试还是不难的...
#47 - 2021-11-9 14:47
(nobody cares.)
我遇到这种情况一般都是把werror的编译flag去掉,先make成功再说...因为一般情况下源码是不大会有问题的;当然要是make成功之后运行时报错的话那就要回来继续解决这个问题了。
-
具体做法:
先查一下什么是编译flag,以及什么是werror flag;
再在makefile或者cmakelist里面查找“-werror=array-bounds”(往往是在CFLAG变量里),然后删掉
#47-1 - 2021-11-9 16:15
Retorm
这个是一整个设计好的模拟器实验,要是前面warning忘了解决,后面出错都不知道哪错的(bgm38)
#48 - 2021-11-9 15:37
(。´-д-)
关于方向键,建议学习使用neovim (emacs也行) 其实不用,你用vscode就行
neovim只是快捷键多,需要练习,原理其实很好懂,只要你找到一个认真教的视频教程(而不是看爱装B的家伙炫技或者听那些学习vim失败的人大喊vim好难)。然后就是,不需要过早接触插件因为插件 ≈ 学更多快捷键。
#48-1 - 2021-11-9 16:08
だるくvan
刚刚开始使用vim
#48-2 - 2021-11-9 16:34
Retorm
だるくvan 说: 刚刚开始使用vim
jyy自己上课展示都用vscode,别觉得丢人(bgm38)
哪个自己用起来效率最高用哪个,如果你觉得这个工具已经限制住了你的效率,那就再换(bgm38)
#48-3 - 2021-11-9 16:49
だるくvan
Retorm 说: jyy自己上课展示都用vscode,别觉得丢人
哪个自己用起来效率最高用哪个,如果你觉得这个工具已经限制住了你的效率,那就再换
主要vsc突然蒸发了(bgm38)
索性换一个
#48-4 - 2021-11-9 19:55
Cedar
だるくvan 说: 刚刚开始使用vim
建议有条件的话直接用neovim,熟练之后装个coc插件就是vscode了 (
不过neovim在Windows下的配置有点麻烦..搞不定的话就还是暂时用gvim吧..
安装启动后输入 :Tutor 然后照着做,把你遇到的所有命令都记下来,然后vim里最最基本的操作你就上手了..

其实作为一个vim使用者,我不建议初学者一上来就用vim,因为又学语言又学vim是比较难的,而且vim强大的地方初学者要么用不到或体会不到,要么很难改变习惯去适应..而初学者比较需要的代码补全功能和调试功能在原生vim里却是残缺的..就算我说在vim里敲括号简单也是在装了插件之后..
总之就是学好vim能让你更快地敲代码但没法让你敲出更好的代码,你的时间还是应该投入到学习语言而不是学习工具上面去..VIM可以作为一个课余没事出来耍耍的玩具,花几年时间慢慢提升,而不要花太多心思在上面..
#49 - 2021-11-10 00:52
(There’s magic here tonight.)
前几天我也在玩NEMU,首先你现在在编译rv32的interpreter target... 但你说你在make ISA=x86...可能要先解决这个问题。
#49-1 - 2021-11-10 00:56
だるくvan
我图和文没有对上(bgm38)
实际上是make ISA=x86 run 或者是make ISA=riscv64 run均出现了这个问题。反正mips也是不行的
#49-2 - 2021-11-10 02:56
FlyGoat
だるくvan 说: 我图和文没有对上
实际上是make ISA=x86 run 或者是make ISA=riscv64 run均出现了这个问题。反正mips也是不行的
hmm,那么建议你去makefile里的CFLAG中把-Werror摘掉。根据提示来看似乎是开了-Werror。
#49-3 - 2021-11-10 02:58
FlyGoat
だるくvan 说: 我图和文没有对上
实际上是make ISA=x86 run 或者是make ISA=riscv64 run均出现了这个问题。反正mips也是不行的
另外就是对齐一下演示的环境,像这种问题一般是因为弄本地的工具链版本高于教案设计的版本导致编译器检测到了更多的问题,可以考虑把本地系统版本对齐教案的版本。
#50 - 2021-11-10 01:26
(-)
那么……这是什么浏览器呢?(bgm35)
#50-1 - 2021-11-10 01:29
#50-2 - 2021-11-10 01:30
Pokr
だるくvan 说: edge
??惊了,这侧边栏以前没见过
#50-3 - 2021-11-10 01:36
だるくvan
Pokr 说: ??惊了,这侧边栏以前没见过
可以调的,点左上角那个
#50-4 - 2021-11-16 10:46
Pokr
だるくvan 说: 可以调的,点左上角那个
好耶!
#51 - 2021-11-10 05:52
https://github.com/NJU-ProjectN/ ... /src/protocol.c#L67

你的代码里这一行是
struct gdb_conn *conn = calloc(1, sizeof(struct gdb_conn *));
,这个是有bug的,应该是这样
struct gdb_conn *conn = calloc(1, sizeof(struct gdb_conn));
,看起来在2021的代码里面修了。

这个bug就是想分配内存给结构体gdb_conn但是却写成了分配给结构体指针。导致指针conn指向了一个8字节的空间(64bit系统)。访问conn->out的时候访问的是结构体的起始地址+8(跳过同为八字节指针的conn->in),但是因为实际上只有8字节所以导致了非法访问。
#51-1 - 2021-11-10 07:41
だるくvan
🐂的
#51-2 - 2021-11-10 07:57
Shell32.py
だるくvan 说: 🐂的
这个错误编译器给的错误提示已经是很清楚的了。
#52 - 2021-11-16 11:03
(集いし願い)
mark
#53 - 2022-6-8 23:04
(会いたい、知りたい)
#54 - 2022-6-8 23:13
(不跌落底层。和爱的人同在。保持尊严,承担责任,尽量善良 ...)