TinyCC compiler bundle for windows
Project description
TinyCC (or tcc) is a small, fast C compiler capable of compiling python extensions that can be loaded as python modules or producing DLLs that can be loaded via ctypes. This version includes compilers for 32-bit and 64-bit Windows. MacOS and Linux are not supported in this release.
Compiler version: 0.9.26 2013-02-16
Installation of the compiler and the python interface is simply:
pip install tinycc
Full documentation for the compiler is available at http://bellard.org/tcc. Source and binaries are available from https://savannah.nongnu.org/projects/tinycc/. The tinycc python package is hosted at https://github.com/SasView/tinycc.
TCC is the full path to the tcc.exe executable. Note that the executable path may contain spaces so it must be wrapped in quotes when used as part of an os.system command.
TCC_VERSION is the compiler version.
Python extension
Adding tinycc as a compiler option to setup.py:
import tinycc.distutils
When this is done, then you can build your project with:
python setup.py build --compiler=tinycc
Note that tinycc does not support C++ so it cannot be used a replacement for MS Visual C++ for Python or mingw as generic compiler for python installs.
Also note that the compiler does not fully support C99, and some constructs which compile (e. g., returning a structure from a function call) may not work in properly. Be sure to test thoroughly before setting tinycc as a recommended compiler for your python package.
Release Notes
2017-11-20 R 1.1
support distutils build of python packages
2016-05-31 R 1.0.2
support build of DLLs for windows 32 and windows 64
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file tinycc-1.1.tar.gz
.
File metadata
- Download URL: tinycc-1.1.tar.gz
- Upload date:
- Size: 546.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | decc99beebdbbd1110bc44e6b2fd2a4531b0f126ac5dd65a3e867dd4ac536f1e |
|
MD5 | 411d4f0fc843bf78ead6eafe3d19f8ce |
|
BLAKE2b-256 | aa5ef414d24a902fe7616bad19616c326a4463056c1909352c7df99a80b64660 |