编译器
目前C语言的编译器有多种,其中最广泛的就是GNU 的 C/C++ 编译器和Clang编译器。
GCC与Clang区别:
-
GCC特性:除支持C/C++/ Objective-C/Objective-C++语言外,还是支持Java/Ada/Fortran/Go等;当前的Clang的C++支持落后于GCC;支持更多平台;更流行,广泛使用,支持完备。
-
Clang特性:编译速度快;内存占用小;兼容GCC;设计清晰简单、容易理解,易于扩展增强;基于库的模块化设计,易于IDE集成;出错提示更友好。
-
Clang采用的license是BSD,而GCC是GPLv3。
下载
访问GCC官网来查看gcc的安装说明,其中mingw是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合。使用mingw来进行编译c,打开下载页https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe/进行下载。由于mingw停止更新,现阶段使用最新更新的MinGW-w64来代替。打开下载页https://sourceforge.net/projects/mingw-w64/选择相应版本,由于一系列问题建议下载离线版进行解压安装。
异常处理模型
- 其中seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持32位,建议选择seh。
- dwarf的性能要优于sjlj ,但是它不支持64位,建议选择 dwarf。
环境变量
右键我的电脑选择属性 > 高级系统设置 > 环境变量 > 找到系统变量将安装或解压后的目录文件的bin目录添加到path里,如:”D:\Program Files\mingw64\bin“。
在使用win+r键打开运行输入cmd
在命令提示符使用gcc如下所示即为安装成功:
C:\Users\Qsky8>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=D:/Program\ Files/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-8.1.0/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/c/mingw810/x86_64-810-win32-seh-rt_v6-rev0/mingw64 --enable-shared --enable-static --disable-multilib --enable-languages=c,c++,fortran,lto --enable-libstdcxx-time=yes --enable-threads=win32 --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=nocona --with-tune=core2 --with-libiconv --with-system-zlib --with-gmp=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-isl=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-pkgversion='x86_64-win32-seh-rev0, Built by MinGW-W64 project' --with-bugurl=https://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-win32-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-win32-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS=' -I/c/mingw810/x86_64-810-win32-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' LDFLAGS='-pipe -fno-ident -L/c/mingw810/x86_64-810-win32-seh-rt_v6-rev0/mingw64/opt/lib -L/c/mingw810/prerequisites/x86_64-zlib-static/lib -L/c/mingw810/prerequisites/x86_64-w64-mingw32-static/lib '
Thread model: win32
gcc version 8.1.0 (x86_64-win32-seh-rev0, Built by MinGW-W64 project)
编译命令
可以在源码目录下使用如下命令进行编译:
gcc 文件名.c
默认编译的文件名为a.exe
,不建议。
gcc 文件名.c -o 目标文件名.exe
使用如上命令来进行自定义文件名。
也可对编译器安装路径bin
目录下的gcc.exe
创建副本并改名为cc.exe
,将mingw32-make.exe
改名为make.exe
来模仿linux的make
命令。
make 文件名
如上命令即可生成文件名.exe
可执行文件。
编辑器
可以通过使用IDE(集成开发环境)来简化C语言的编码。
visual studio
打开微软官网下载页https://visualstudio.microsoft.com/zh-hans/downloads/,其中学习选择社区版(Community)就可以。visual studio是C语言开发最全最好用的IDE,但是体积过于庞大。
codeblocks
codeblocks是由C++开发的轻量级IDE(普通学习需求建议使用),打开官网下载页http://www.codeblocks.org/downloads/binaries选择相应版本,codeblocks依赖于编译器,如果本地已经安装gcc等编译器可以安装不带mingw版本的codeblocks,如果未安装建议安装集成gcc编译器的版本。
还有dev-c++
等IDE,可根据自己喜好使用。
留言