03.11.2013, 14:58
Zeex's PAWN Compiler Patches
Introduction
This is a tool that fixes several PAWN compiler bugs and crashes that is made by Zeex. He removed the direct download link and we have to compile the source ourselves. Since many people don't know how to compile the source, or they don't use Linux, I compiled the source on Windows XP SP3 using Visual C++ 2010 and now I'm releasing the files. It should work on all Windows server. I'm not going to compile the Linux version since I don't use it and the files may vary for different Linux OS.
You can visit the page of the project here: https://github.com/Zeex/pawn
He actually provided a tutorial on how to compile the source there. To compile the compiler, you have to set the source path to "source\compiler" directory in CMake, instead of "source" subdirectory. For example, if you put the project files in C:\Pawn, the source directory is C:\Pawn\source\compiler.
Fixes
I think the most important patch of the project is having the line limit increased to 4095, instead of 511. That means you can have 4095 characters per line without causing crashes.
It also fixes triple states crash and multi-dimensional array's initialisation. Stringize and compile time concatenation are supported, but I'm not very sure about what exactly these 3 patches do. If you know, please tell me.
For stringize and compile time concatenation, seems that you can do this (from http://www.compuphase.com/bitboard/i...q_1179971957):
Quote:
Originally Posted by ******
printf("hello " "there");
printf("hello " #there); #define MAJOR 1 #define MINOR 2 #define BUILD 2342 #define VERSION(%1,%2,%3) "Version: " #%1 "." #%2 "." #%3 printf(VERSION(MAJOR, MINOR, BUILD)); Note: the # token ignores whitespace between it and the first character, otherwise defines like that would print as: Version: 1. 2. 2342 If that is what you want just add a space in the ".". This system also ignores unescaped #'s so this: printf(#hello #there); would print as: hello there. |
Executables Only
Executables + Full Source(Compiler source + VC++ 2010 Project)
Installation
Simply putting the executables(pawncc.exe and pawnc.dll) into your pawno folder and replace the files.
Credits
- leong124 - Compiling the files for Windows.
- Zeex - PAWN Compiler Patches.