zoukankan      html  css  js  c++  java
  • MinGW安装和使用

    MinGW是什么

    MinGW是是将GCC编译器和GNU Binutils移植到Win32平台下的产物,包括一系列头文件(Win32API)、库和可执行文件。MinGW是从Cygwin(1.3.3版)基础上发展而来。GCC支持的语言大多在MinGW也受支持,其中涵盖C、C++、Objective-C、Fortran及Ada。对于C语言之外的语言,MinGW使用标准的GNU运行库,如C++使用GNU libstdc++。但是MinGW使用Windows中的C运行库。因此用MinGW开发的程序不需要额外的第三方DLL支持就可以直接在Windows下运行,而且也不一定必须遵从GPL许可证。这同时造成了MinGW开发的程序只能使用Win32API和跨平台的第三方库,而缺少POSIX支持[3],大多数GNU软件无法在不修改源代码的情况下用MinGW编译。具体细节可看官方网站

    目的

    由于我自己用Sublime Text 2比较多,我用C语言也只是偶尔用一下,也不是频繁用,所以也不想安装很完整很大的vs。所以选择了MinGW,小巧可以在Sublime Text 2中运行。

    下载

    MinGW
    Sublime Text 2

    MinGW安装

    • 运行刚刚下载的安装程序

      安装到你想安装的目录下,点击Continue

      安装完成后,桌面上有一个:

      这个是安装器,需要在线下载安装内容安装,才会完成安装。
    • 选择需要安装的组件

      根据需要选择你的组件。右键选择“Mark for Installation”,之后选择"Installation -> Apply Changes”。等待下载完成。
    • 配置环境变量

      计算机-系统属性-高级系统设置-环境变量
    • 查看是否安装成功
      CMD下输入gcc -v
    • 配置Sublime Text 2
      Sublime TextPackage目录下的Packages\C++\C++.sublime-build文件修改为
    {
        "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
        "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
        "working_dir": "${file_path}",
        "selector": "source.c, source.c++",
        "encoding":"cp936",
    
        "variants":
        [
            {
                "name": "Run",
                "cmd": ["${file_path}\\\\${file_base_name}.exe"]
            }
        ]
    }
    

    只需要在调用Ctrl+B编译后再键入Ctrl+Shift+B运行即在Sublime Text 2控制台看到输出.

    • CMD编译
      测试文件 test.c,代码如下:
    #include <stdio.h>
    int main()
    {
         printf("hello world!\r");
         printf("xixi");
         printf("hello world!\n");
         printf("xixi");
         printf("hello world!\r\n");
         printf("xixi");
         return 0;
    }
    

    编译命令:
    gcc test.c -o test
    执行:
    test
    结果:

    • 注意事项
      如果你对文件里是用的c++,那你文件一定要存成.cpp格式,要不然你用cmd编译是会出错的。
    #include <iostream>
    using namespace std;
    int main() {
        std::cout << "hahaha" << "\r" << "xixi" ;
        std::cout << "hahaha" << "\n" << "xixi" ;
        std::cout << "hahaha" << "\r\n" << "xixi" ;
        return 0;
    }
    // #include <stdio.h>
    // int main()
    // {
    //      printf("hello world!\r");
    //      printf("xixi");
    //      printf("hello world!\n");
    //      printf("xixi");
    //      printf("hello world!\r\n");
    //      printf("xixi");
    //      return 0;
    // }
    

    当时我把文件存成test.c。用cmd编译:出错信息:iostream:no such file or directory

    后来搜Google,终于找到了原因。其中有一个答案是I was the same problem, and was that I was saving the file as a c file (ex. HelloWorld.c). When I change the file to HelloWorld.cpp work. So, change the file name to .cpp I know that maybe is too.

    终身学习
  • 相关阅读:
    java 小数点取2位并且四舍五入
    批处理(.bat脚本)基本命令语法
    vue-webpack项目本地开发环境设置代理解决跨域问题
    vue项目引入FastClick组件解决IOS系统下h5页面中的按钮点击延迟,连续点击无反应的问题
    用vue构建多页面应用
    单页面应用和多页面应用对比分析
    html5文件读取+按钮样式重置+文件内容预览
    FileReader读取文件详解
    vue的双向数据绑定实现原理
    译:9.使用Redis进行消息传递
  • 原文地址:https://www.cnblogs.com/qcssmd/p/5302052.html
Copyright © 2011-2022 走看看