C++开发启程

开发环境

开发工具

编译器

C++编译器:https://sourceforge.net/projects/mingw-w64/files/

推荐下载:x86_64-posix-seh

GNU 的 C/C++ 编译器

  • Cygwin 提供了一整套 可移植操作系统接口 (Portable Operating System Interface,缩写:POSIX)层。重视兼容性优于性能。开发的程序需要把依赖的 DLL 一起发布。
  • MinGW 是基于 Cygmin 开发的。重视性能优于兼容性,不需要提供兼容层,因为是直接调用 Windows API。一般开发用 MinGW (Minimalist GNU for Windows)就够了,但是 MinGW 只能在 windows 上编译32位程序,而且很久不更新,不支持较新的 Windows API。
  • MIinGW-w64(推荐使用),原来是 MinGW 的分支,后来发展成独立项目。不仅支持编译32位程序,也能编译64位程序,还能交叉编译-在32位系统上编译64位程序,64位系统上编译32位程序,而且一直在更新。

MinGW 异常机制

MinGW编译器在实现异常机制时,有三种可选方式:

  • SJLJ (setjmp/longjmp):可用于32/64位,但不是零代价的:即使不抛出异常,仍会有一定的性能损失(在最差情形下~15%)。
  • DWARF (DW2, dwarf-2):只能用于32位,没有永久的运行时开销,需要调用栈是dwarf-enabled,这意味着异常对于Windows system DLLs或Visual Studio编译的DLLs的异常不能被抛出。
  • SEH:零花销

这里就知道为啥安装包有以下几种了:

解压压缩包到D:\Program Files\mingw64

安装完成配置环境变量,把 MinGW-64/bin目录添加到环境变量path中

如下图配置:

下面的配置在软件安装后就有界面

如果跳过了打开CLion,左上角File-Settings-Build-Toolchains,然后点击 +

右侧Environment选择编译器的解压目录

生成DLL按下图创建

注意语言版本推荐使用C++11

创建项目后Build-Build Project
生成的DLL在项目目录下cmake-build-debug文件夹中