标签:配置 调试 mini 推荐 ref 文件中 平台 windows nim
需要在linux平台上实现代码。
安装虚拟机。我安装的是ubuntu。
安装clion。网上有流程,百度clion在linux下的安装步骤。我装的是2020.1版的。主要步骤就是下载,解压,然后运行.sh文件,一直next就好了。
.sh文件是什么?脚本文件,一般都是bash脚本,一系列命令的集合。
代码参考(复制)的是https://github.com/yingcheng-zhou/socket-reading-and-writing
评论里看到这位大佬根据老师的课程写的,我先参考,跑通。
打开安装好的clion,创建一个c的可执行项目。在project下创建一个server.c,一个client.c文件。
两个文件中都有main函数。使用cmake编译链接。要修改CMakeLists.txt。一个target下只能有一个main函数,所以要写两行。注意两个c文件属于不同的target。
但是run的时候只能一次run一个。所以run完server后,可以选择client,再run一下。这时候两个main函数就都执行了。server.c中zconf.h文件没找到,我注释掉了。结果没影响。
cmake_minimum_required(VERSION 3.16)
project(untitled C)
set(CMAKE_C_STANDARD 99)
add_executable(server server.c)
add_executable(client client.c)
补充下CMake相关的基础知识。参考知乎5分钟理解make/makefile/cmake/nmake
gcc可以简单认为是编译器,当我们只有一个源文件时,可以使用命令直接编译,但是当我们有很多源文件时,仍然使用它就很麻烦了。于是有了Make。
Make是一个智能批处理工具,通过调用Makefile文件中用户指定的命令来进行编译和链接。编写Makefile文件仍然很麻烦,换个平台又得重新修改,于是有了CMake。
CMakeLists.txt是CMake生成Makefile所依赖的规则。
preview
程序由.c到编译器编译成.o文件,再到链接器链接目标代码生成.exe文件。
书籍推荐(来源于极客时间)
我希望你可以通过这个专栏更好地了解网络编程,但是深入的学习还需要你自行去找更多的资料。我在这里给你推荐一些书,这些书是各个领域的经典。
C 语言入门方面,我推荐 《C 程序设计语言》,这里是豆瓣链接,你可以看下大家的评价以及他们的学习方式: https://book.douban.com/subject/1139336/
UNIX 网络编程方面,强烈推荐 Stevens 大神的两卷本《UNIX 网络编程》,其中第一卷是讲套接字的,第二卷是讲 IPC 进程间通信的。这套书也随书配备了源代码,你如果有兴趣的话,可以对代码进行改写和调试。豆瓣链接在此: https://book.douban.com/subject/1500149/这套书的卷一基本上面面俱到地讲述了 UNIX 网络编程的方方面面,但有时候稍显啰嗦,特别是高性能高并发这块,已经跟不上时代,但你可以把注意力放在卷一的前半部分。这套书翻译了好几版,就我的体验来说,比较推荐杨继张翻译的版本。
TCP/IP 协议方面,当然是推荐 Stevens 的大作《TCP/IP 详解》, 这套书总共有三卷,第一卷讲协议,第二卷讲实现,第三卷讲 TCP 事务。我在这里推荐第一卷,第二卷的实现是基于 BSD 的代码讲解的,就不推荐了。我想如果你想看源码的话,还是推荐看 Linux 的,毕竟我们用的比较多。第三卷涉及的内容比较少见,也不推荐了。这套书各个出版社翻译了好多版本,你可以去豆瓣自行查看哪个版本评分比较高。《TCP/IP 详解 卷 1:协议》豆瓣链接如下:https://book.douban.com/subject/1088054/
最后除了书籍外,还有一个非常好的了解 TCP 的方法,那就是查看 RFC 文档,对于有一定英文能力的同学来说,可以说是一个捷径。RFC 最大的好处可以帮我们了解 TCP 发展的背景和脉络。
评论区网友supermouse
使用 Windows 系统 + CLion 的同学,可以在 Win10 应用商店中下载一个 Ubuntu 版本的 Windows 子系统,即 WSL,然后在 CLion 中配置工程的环境为 WSL 即可编译运行。亲测可用。
标签:配置 调试 mini 推荐 ref 文件中 平台 windows nim
原文地址:https://www.cnblogs.com/zuotongbin/p/13126343.html