• 一些概念梳理


    MinGW

    // 适用于32位和64位Windows的GCC和LLVM的完整运行时环境
    A complete runtime environment for GCC & LLVM for 32 and 64 bit Windows.
    
    MinGW,a contraction of "Minimalist GNU for Windows", is a minimalist development environment for
    native Microsoft Windows applications.
    
    It is a compiler system that is designed to produce native Windows applications,allowing users to
    develop software without having to use a Microsoft compiler. 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    GNU

    Linux is just the kernel.
    The kernel is an essential part of an operating system,but useless by itself;it can only function in the context
    of a complete operating system.
    All the so-called "Linux" distributions are really distributions of GNU/Linux.
    In a GNU/Linux system, Linux is the kernel component.
    The rest of the system consists of other programs, many of which were written by or for the GNU Project.
    Because the Linux kernel alone does not form a working operating system, we prefer to use the term "GNU/Linux" to refer
    to systems that many people casually refer to as "Linux".
    
    The name "GNU" is a recursive acronym for "GNU's Not Unix".
    The program in a Unix-like system that allocates machine resources and talks to the hardware is called the "kernel".
    GNU is typically used with a kernel called Linux.
    This combination is the GNU/Linux operating system.
    GNU/Linux is used by millions,though many call it "Linux" by mistake.
    
    A free operating system that exists today is almost certainly either a variant of the GNU system, or a kind of BSD system.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    GCC

    GCC, the GNU Compiler Collection.
    GCC was originally written as the compiler for the GNU operating system.
    
    • 1
    • 2

    Terminal

    Terminal is a program that draws text in the window,accepts input from the keyboard.#显示文本,接收键盘输入等
    The terminal itself doesnot know what to do with that input,it needs another program to do that.
    
    A terminal refers to a wrapper program which runs a shell.
    Terminal is a terminal emulator application for accessing a UNIX shell environment which can be used to run programs
    available on your system.
    
    Terminal supports escape sequences that control cursor position and colors.
    Shell is a program that takes the input from the terminal and passes it to the operating system.
    shell是在terminal内运行的.
    
    $TERM
    The environment variable TERM contains a identifier for the text window’s capabilities.
    When producing text with embedded color directives, msgcat looks at the TERM variable.
    After setting TERM, you can verify it by invoking ‘msgcat --color=test’ and seeing whether the output looks like
    a reasonable color map.
    
    [GNOME Terminal]/[iTerm2]/[macOS Terminal]/[mintty]/[Windows Console]/[Windows Terminal]/[xterm]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    Shell

    Shell有bash,zsh,fish等
    A shell is a program that acts as command-line interpreter.
    The shell used on most GNU/Linux systems is BASH,the Bourne Again SHell,which was developed by FSF employee Brian Fox.
    
    • 1
    • 2
    • 3

    https://www.gnu.org/gnu/linux-and-gnu.en.html
    https://www.debian.org/releases/buster/amd64/ch01s02.en.html
    https://stackoverflow.com/questions/11218807/how-gnu-is-related-with-linux
    https://mingw.osdn.io/
    https://sourceforge.net/projects/mingw/
    https://www.mingw-w64.org/
    https://stackoverflow.com/questions/24836183/what-is-the-difference-between-clang-and-llvm-and-gcc-g
    https://llvm.org/
    https://unix.stackexchange.com/questions/93376/which-terminal-type-am-i-using
    https://www.baeldung.com/linux/term-environment-variable
    https://www.it.uu.se/education/course/homepage/os/vt18/module-0/shell-and-terminal/

    Windows和Linux使用不同的可执行文件格式
    在Windows上,通常使用PE(Portable Executable)格式的可执行文件,而在Linux上使用ELF(Executable and Linkable Format)格式。
    因此,编译后的可执行文件在不同操作系统上通常不可互换。

  • 相关阅读:
    安卓用户当心: CERT-IN 发布高危漏洞警告
    页面多查询条件必选的统一处理思路
    MQ消息队列产品对比
    C Primer Plus(6) 中文版 第2章 C语言概述 2.3 简单程序的结构
    Oracle 数据库的锁排查方法
    浅谈MyBatis中遇到的问题~
    算法day39|62,63
    03137计算机网络原 - 物理层
    39. 组合总和
    ES6之Array.from和Array.of
  • 原文地址:https://blog.csdn.net/qq_53318060/article/details/133744948