12/5/2021»»Sunday

Sublime Text C++ Compiler Mac

12/5/2021

When we are participating in a programming contest, our aim is to be as quick and as efficient as possible. However, often the tools we use during contests are clunky, non-intuitive and impede our speed. The following post will help you set up Sublime Text in a way that leads to a good workflow - from reading the problem statement to submitting the solution.

Sublime
  • I am learning C at college now, and teachers told me to use codeblocks as an IDE, but in my opinion codeblocks is a bit ugly and that's why I've chosen Sublime Text 2, the BEST IDE/Text Editor out there. At the moment I write my code via sublime, save it and then compile it via mac os terminal (gcc) and than run it on the terminal as well.
  • C11 features usage. Here you will need a custom build system for Sublime text. It's easy to create! 3 easy steps again. 1) Download gpp.sublime-build from my GitHub. 2) Go to Sublime, then select Tools-Build System-New Build System. This is the place where you should paste gpp.sublime-build. Don't forget to save the file.

Setting up the Environment

1. Install MinGW Compiler

MinGW is a native Windows port of the GNU Compiler Collection (GCC). Install the latest MinGW compiler, after downloading from here.
Your path should preferably be C:MinGW. Finally, add the bin directory, C:MinGWbin to the System PATH.

2. Install Sublime Text

C++

Sublime Text is one of the most popular editors for development in general. It’s smooth and fast compared to other editors (being written in C++ helps that speed). Sublime also has tons of plugins you can find through Package Control. Download and install Sublime Text 3 from here.

3. Create a build system

Sublime Text provides build systems to allow users to run external programs. Create a new build system for Sublime Text for setting up C++ compilation.
Go to Tools > Build System > New Build System. Paste the following code in the file and save it.

Compile and build C code in Sublime Text (Mac) using brew g instead of default build (clang) By NNIIT, 2 weeks ago, There are many things that I find missing in default C build in Mac Sublime Text(clang) like no bits/stdc.h header, regular warnings on using auto keyword, using inline comparator functions etc. Emacs is a Unix based text editor tool which is used by programmers, engineers, students, and system administrators. It allows you to add, modify, delete, insert, words, letters, lines, and other units of text. This Sublime text alternative Mac offers full Unicode support for many human scripts.

Install Sublime Text 3

This can be used for piping input from the inputf.in file, and output to the outputf.in file. Note that this uses the -std=c++17 flag to enable the latest features of C++17. If you don't want this or want to use C++14, replace this with the -std=c++14 flag.

4. Setup window layout

Create three new files, file.cpp, inputf.in, and outputf.in. Select View > Layout > Columns : 3. This will create three columns in the workspace. Move the three files into the three columns. Select View > Groups > Max Columns : 2.

The windows will look like above when you are done. Write a hello world program, and test its working. Use Ctrl+B to build and execute the file.

5. Precompile headers

Now we can speed up compilation time by precompiling all the header files as mentioned here, i.e. by precompiling the bits/stdc++.h header file. This can speed up compilation time by up to a factor of 12.
For this, first, navigate to the stdc++.h file. This will be located at a directory similar to C:MinGWlibgccmingw326.3.0includec++mingw32bits. Right click while pressing Shift to open a Powershell/cmd window there. Run the command g++ -std=c++17 stdc++.h, to compile the header. Take care to use the same flags you used in your build system. Check to make sure that the stdc++.h.gch file was created in the directory.

C++

Finally, we can take advantage of the features of Sublime Text, namely snippets and completions.

C Compiler For Mac

Sublime Text features

Snippets

Snippets are smart templates that will insert text for you and adapt it to their context. Read up on the documentation of snippets at the official guide. You can create snippets like the following to quickly insert snippets of code into your file.

You can also create starter templates like these :

Completions

Sublime Text suggests completions that aggregate code or content while writing by catching everything that you have written, like variable names. Read up on the documentation of completions at the official guide. You can create completions like the following to quickly enter common phrases into your file.

This provides an experience close to code completion, with the advantage that you can customize it to phrases you frequently type.

C++ Compiler For Sublime Text

You can create snippet or completion files by putting the corresponding code in a .sublime-snippet or .sublime-completions file.

So that's the basics out of the way, you can now begin coding. You can also explore various other features present in Sublime text, especially its plugin functionality and the most common plugins. You can also install themes to change the look and feel of the windows. There are other features that you may want to use so I’ve provided some further reading.

Latest Posts