这玩意儿就是自己的学习笔记,不过,也可以用来入门学习C语言。However,你需要:
学习C语言兴致,
Windows10(或者你有一台Linux系统的电脑),
会用vim/vi、nano或者(其实会用CSDN或Baidu也能解决问题哒~),
end ~


设置系统环境

  • WSL 1
    • What is WSL???
    • Let's turn on (install) it !
  • Linux
  • It's time for C ~

WSL 1

What is WSL???

我有一个 Windows 10,不过我觉得Linux才是最好的系统,所以我需要安装一个Linux虚拟机来作为编程环境。
当然,如果你 只会 坚持用Windows上的IDE或者你是用记事本的大佬,请直接跳过以下所有内容,并且可以选择开始C语言的学习。
同时,这是一个夹带很多私货的笔记 ,大佬轻喷


THEREFORE,虚拟机,启动!

说到虚拟机,有Virtual Box,Vmware,balabala有好多,但都是挺大的一个家伙,虚拟机内外切换使用也不方便。。。那么:算了吧

谢谢大家,这篇blog到此结束

额,还想接着看?
好吧,那让我们看看 Macrohard 偷偷藏在Win10里的WSL吧~

What is WSL?
The Windows Subsystem for Linux lets developers run a GNU/Linux environment – including most command-line tools, utilities, and applications – directly on Windows, unmodified, without the overhead of a traditional virtual machine or dual-boot setup.

说人话就是:Windows下可以直接使用GNU / Linux环境而不需要虚拟机或双系统配置。
我们这里将会使用 WSL1 而无视最新的 WSL2 原因如下:

还有,这个:

Feature WSL 1 WSL 2
Integration between Windows and Linux
Fast boot times
Small resource foot print
Runs with current versions of VMware and VirtualBox
Performance across OS file systems

我承认表格有删减,不过删的是我不关注的feature
WSL 2 确实完善了如Linux内核等等,不过,似乎这些高大上的升级不仅我不会不关注,而且WSL 2更像是Macrohard贴牌的虚拟机了。

Let’s turn on (install) it !

不愧是巨硬,WSL安装设置过程过于节俭:

  • win键 + R
  • 打开 cmd
  • wsl --install
  • 重启计算机
    当然,前提是你满足:加入了Windows Insiders Program并安装Windows 10(OS构建20262或更高)的预览构建
    否则,请跟着我一步一步来。 (其实也并不复杂)
  1. 激活WSL
    以管理员身份打开Windows PowerShell
    输入命令,然后重启:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  1. 安装Linux发行版
    建议通过Microsoft商店安装,搜索WSL即可。这里,我安装了Ubuntu20.04

    当然,你有很多选择:
  • Ubuntu 16.04 LTS

  • Ubuntu 18.04 LTS

  • Ubuntu 20.04 LTS

  • openSUSE Leap 15.1

  • SUSE Linux Enterprise Server 12 SP5

  • SUSE Linux Enterprise Server 15 SP1

  • Kali Linux

  • Debian GNU / Linux

  • Fedora Remix for WSL

  • Pengwin

  • Pengwin Enterprise

  • Alpine WSL

    but,Ubuntu他不香吗

    此外,建议安装Windows Terminal,emmm就是-挺好用就对了

Windows Terminal可以启用多个选项卡(在多个Linux命令行,Windows命令提示符,PowerShell,Azure CLI等之间快速切换),创建自定义键绑定(用于打开或关闭选项卡的快捷键,复制粘贴等),有搜索功能和自定义主题(配色方案,字体样式和大小,背景图片/模糊/透明度)。

  1. 启动Linux
    双击它

    第一次使用需要设置一个用户名与密码,系统会将这一用户设定为Linux管理员,且这一用户与Windows无关,你会看到

需要更改密码时在系统操作页输入passwd

谁会去记密码啊,直接“忘记密码啊”
Terminal下键入

wsl -d <LinuxDistributionName> -u root
passwd <WSLUsername>

系统会提示你输入新密码,输入密码。exit退出WSL


Linux

Alright,现在我们搞定了Linux 才没有
在学习C语言的编写之前,我们给Linux做一些简单的设置。
打开 Windows Terminal (cmd也可以) 输入bash
首次启动能够看见欢迎页

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 4.4.0-18362-Microsoft x86_64)* Documentation:  https://help.ubuntu.com* Management:     https://landscape.canonical.com* Support:        https://ubuntu.com/advantageSystem information as of Wed Feb  3 10:38:21 CST 2021System load:    0.52      Processes:              9Usage of /home: unknown   Users logged in:        0Memory usage:   59%       IPv4 address for eth2:  192.168.56.1Swap usage:     7%        IPv4 address for wifi0: 192.168.1.1001 update can be installed immediately.
0 of these updates are security updates.
To see these additional updates run: apt list --upgradableThe list of available updates is more than a week old.
To check for new updates run: sudo apt updateThis message is shown once once a day. To disable it please create the
/home/<user>/.hushlogin file.

首先,为了加速软件的安装与更新,我们对默认的软件源进行更换,我这里使用的是华为Ubuntu镜像源。

# 修改sources.list文件
# 将http://archive.ubuntu.com和http://security.ubuntu.com替换成http://repo.huaweicloud.com
# 可以参考如下命令:

首先,备份是个好习惯,

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

输入密码:

[sudo] password for lavandejoey:

get √

配置新的镜像源,

sudo sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
apt-get update
sudo apt-get upgrade

当然,也可以使用其他镜像源,覆盖/etc/apt/sources.list (反正vim编辑器(提前挖坑)谁都会我就不在这里赘述了),比如
北外(我超爱)

https://mirrors.bfsu.edu.cn/ubuntu/ focal main restricted universe multiverse
https://mirrors.bfsu.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
https://mirrors.bfsu.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
https://mirrors.bfsu.edu.cn/ubuntu/ focal-security main restricted universe multiverse

清华(还不错)

https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

阿里云

http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

It’s time for C ~

从C语言的角度,我来说一下为什么用Linux学习C。就我看来,C简直是Linux的亲生儿子,完善gcc、as、ld编译、链接工具;神奇的gdb调试平台;多样的Linux发行版······ohh,nicccccce
gcc是Linux最广泛的C/C++ 编译器,大多数Linux发行版都预装了gcc,在bash中键入gcc -v检查当前版本
·
·
·
·


Command 'gcc' not found, but can be installed with:sudo apt install gcc

WHAT ? 好吧,显然我手上的Ubuntu20.4不属于大多数。按照提示用sudo apt install gcc安装gcc。由于刚刚我们设置了华为镜像源,很快啊,gcc安装好了。再次检查版本:

gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)

get √
这里插一句,如果你偏要用Windows,还想用gcc,那,你需要安装MinGW,下载最新的MinGW,再添加MinGW的bin子目录到PATH环境变量。。。噢天哪,这真是太恶心了,不是吗!(不过你都看到这儿了为什么还会想着用Windows)



好的,这就是我们的第一部分内容。一切就绪,下一篇,我们正式开始

写 程 序

基于Windows10基于Linux的C语言笔记Ⅰ相关推荐

  1. 基于Windows10基于Linux的C语言笔记Ⅱ

    WHAT YOU NEED: 安装 WSL 1 的 Win 10 或是 Linux: GNU 的 C/C++ 编译器(gcc): vim/vi.nano等编辑器. (或者你有一个自己熟悉的系统与IDE ...

  2. linux修改时间_技术干货||基于Centos8的Linux简单入门学习笔记

    很基础 以后不想记笔记了 最后分享一次

  3. 基于linux的c语言版本的俄罗斯方块

    基于linux的c语言版本的俄罗斯方块 文章目录 基于linux的c语言版本的俄罗斯方块 前言 一.前期准备 二.使用步骤 1.创建俄罗斯方块DATA库 2.函数声明 3.创建时钟定时器 4.游戏区域 ...

  4. linux系统c 如何使用教程,基于Linux操作系统的C语言编译和调试方法解析

    摘 要:文章先介绍了GCC编译器相关内容,包括GCC编译程序和GCC编译选项,随后介绍了GDB调试程序相关内容,包括GDB具体操作和GDB基础命令,最后介绍了C语言编写中的注意事项,希望能给相关人士提 ...

  5. 【Windows】Windows10基于VMware安装CentOS7的全面教程

    文章目录 前言 安装 VMware Player 下载 CentOS 阿里云 iso 镜像 使用 BIOS 配置 Intel VT-x 安装配置CentOS 登录的坑 VMX文件损坏 选择语言的问题 ...

  6. 基于 Web 的 Linux 终端 WebTerminal

    有时候用公共电脑,或者在没有安装 putty.xshell 之类的终端的电脑上访问或展示服务器上的一些资料数据,甚至是在运维平台开发中想要嵌入 WebTerminal 功能,于是找到了这个项目--基于 ...

  7. 基于wayland的linux桌面,揭开Wayland的面纱(二):Wayland应运而生

    在本篇正式开始介绍Wayland之前,让我们先回到2008年11月4日,也就是整整两年前,我当时在中文领域第一时间报道了"Wayland"的新闻:Wayland:Linux的新X ...

  8. 基于pygtk的linux有道词典

    基于pygtk的linux有道词典 一.桌面词典设计 想把Linux用作桌面系统,其中一部分障碍就是Linux上没有像有道一样简单易用的词典.其实我们完全可以自己开发一款桌面词典,而且开发一款桌面词典 ...

  9. 论文浅尝 | 基于图卷积网络的跨语言图谱实体对齐

    论文笔记整理:谭亦鸣,东南大学博士生,研究兴趣:知识图谱问答 本文提出了一种基于图卷积网络的跨语言实体对齐方法,通过设计一种属性 embedding 用于 GCN 的训练,发现GCN能同时学习到特征 ...

最新文章

  1. CodeSign error: code signing is required for product type Application in SDK iOS XXX的解决办法
  2. String 的普通构造函数、拷贝构造函数、析构函数、赋值函数
  3. 从 Android 静音看正确的查找 bug 的姿势
  4. 【Linux部署】Linux环境 .rar 格式文件处理工具安装使用(一波两折避坑指北)
  5. SQL中的left join
  6. 在Asp.net core 项目中操作Mysql数据库
  7. java集合框架——接口图+类图+遗留类图
  8. 软件系统架构~软件架构概念
  9. 其实没有啥好说的公司组织去清远漂流
  10. oracle数据库查表_oracle数据库之多表查询二
  11. 新建linux服务器初始化操作
  12. 【转】关于EASYSIZE宏(动态调整控件位置、大小的宏)
  13. js中的浅拷贝深拷贝深入理解
  14. Parallels Desktop 17 for Mac(pd虚拟机)支持Intel 和 Apple M1
  15. 关于DSP2812控制W5500的程序解读
  16. js自动触发按键操作
  17. Python索引 说明
  18. Shiro源码分析(二)——获取Subject
  19. 极智资讯 | 一文看尽今年的云栖大会 有哪些好玩的
  20. 《小话投行》转自2011 Morgan Stanley HK IBD唯一的大陆本科生

热门文章

  1. 游戏音乐制作的软件系统
  2. 数据安全三要素:机密性、完整性、身份验证
  3. 1篇文章带你了解poco的所有基本功能(含演示demo)
  4. 【开源教程1】疯壳·开源蓝牙心率防水运动手环-开发套件简介
  5. android os 魅蓝2,魅蓝2抢先评测:除了两点 无可挑剔!
  6. 计算机网络个人项目设计:java实现,基于Jnetpcap的网络嗅探抓取,发送数据包单机程序(模仿wireshark)
  7. android 尺寸转换 dp sp in mm pt px转换为int
  8. Android菜鸟的成长笔记(3)——给QQ登录界面说So Easy
  9. 高中二年级计算机会考吉大附中,长春小学、初中、高中期末考试时间大曝光
  10. 字幕下载下来是php文件,剪映字幕导出为SRT文件网页版