cs144 lab0 networking warmup

本文档介绍了CS144实验0的内容,包括配置开发环境、执行网络相关任务和编写C++代码。重点是理解modern C++编程规范,如避免使用C风格的特性,以及使用Git进行版本控制。实验室任务包括使用telnet和netcat,编写一个简单的wget克隆,以及实现内存中的可靠字节流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://github.com/RedemptionC/cs144/tree/lab0

overview

lab0中:

  • 配环境
  • 手动执行一些网络相关任务
  • 写一个类似wget的代码
  • 实现writer和reader之间的可靠字节流

其中开发本身相对简单,占比较大的是:开发环境和c++

开发环境

这里推荐直接使用给出的virtual box镜像,是无GUI版,也不怎么占资源,而且VB还支持无界面启动

写代码的时候,可以使用clion,配置好远程开发(jetbrains的远程开发和vscode比起来比较落后,只能关联文件夹,在本地修改代码,然后上传)

另外clion的toolchain,可以使用wsl的,也比较方便(因为win下配c/c++环境一般来说是没有linux方便的)

网络相关任务

通过telnet发送一个请求,发一封邮件,基本在自顶向下里都接触过

使用netcat做一个简单的echo server

写代码

modern c++

  • 使用cpp ref作为语言上的参考
  • 永远不要使用malloc+free 或者 new+delete
  • 不要直接使用指针(*),仅在必要的时候使用智能指针(本课中不需要用到他们)
  • 避免使用template,thread,lock,虚函数。在本课中不需要用到他们(((那编程也太简单了把
  • 不要使用C风格的字符串(char *,\0 terminated),使用std::string
  • 不要使用c风格的类型转换,而是使用static_cast等(基本上本课也不需要始终这个)
  • 传参数时尽量传const re
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值