2010ǯ05��28��

Portable C Compiler ��ӥ�ɤ��Ƥߤ�

�Ƕ�Ǥ� gcc��clang �˲����쵤̣ (?) �Ǥ�����Ϸ�ޤ� C ����ѥ���Ȥ��� PCC (Portable C Compiler) ������ޤ���

pcc - pcc portable c compiler

http://ja.wikipedia.org/wiki/Portable_C_Compiler

�ʤ�����PCC? - ��®���ȥ�����ƥ��ι⤤�����ɽ��Ϥ�̥�� (2007/10/16)

�Ȥꤢ�����ӥ�ɤ��Ƥߤޤ��礦��



Windows �������åȤξ�硢Visual Studio �� flex/bison ��ɬ�פȤΤ��ȡ�

building - pcc portable c compiler

�Ȥꤢ���� Visual Studio 2008 �ȡ�MinGW �� flex/bison �ǻ�Ƥߤޤ���

bison.simple �Ȥ����ե����뤬���ʤΤ��褯�狼��ʤ��ΤǤ��������ʤ��Ȥ� bison 1.4.1 �ˤ����äƤ��ޤ���Ǥ�����

GnuWin32 �Υ��������顢bison-1.35-4-bin.zip ����äƤ���Ÿ�������Ȥ�����share/bison �ʲ��� bison.simple �� bison.hairy ������ޤ�����

pcc-100525.tgz �ǻ�Ƥߤޤ���

tarball ��Ÿ���ˤ� MSYS �� tar ��ȤäƤ��ޤ��������Ǥ��ɤ��Ȼפ��ޤ���(�ʲ��� Visual Studio 2008 ���ޥ�ɥץ���ץȤʤΤǡ�MSYS �Υġ������Ѥ���ݤˤ����Хѥ��ǻ��ꤷ�Ƥ��ޤ���������� PATH ���̤��Ƥ��ɤ��ΤǤ��������� tar.exe �����Ȥ�ʤ��Τǡ�)

Setting environment for using Microsoft Visual Studio 2008 x86 tools.

c:\Program Files\Microsoft Visual Studio 9.0\VC>path c:\mingw\bin;%path%

c:\Program Files\Microsoft Visual Studio 9.0\VC>flex --version
flex version 2.5.4

c:\Program Files\Microsoft Visual Studio 9.0\VC>bison --version
bison (GNU Bison) 2.1
�ʾ�ά��

c:\Program Files\Microsoft Visual Studio 9.0\VC>cd c:\work\pcc

C:\work\pcc>c:\msys\1.0\bin\tar.exe zxvf pcc-100525.tgz

C:\work\pcc>cd pcc-cvs-100524\os\win32

os/win32 �ˡ�bison.simple �򥳥ԡ����Ƥ����ޤ���

����� build.bat �� /cl ���ץ����(VC++ �ǥӥ�ɤ�����)�Ǽ¹Ԥ��Ƥߤ�ȡ�_vsnprintf() ����ǥ��顼���Фޤ���

C:\work\pcc\pcc-100525\os\win32>cl.exe -D__MSC__ -o pcc.exe -DWIN32 -DGCC_COMPAT
 -DPCC_DEBUG -DCPP_DEBUG -DTARGOS=win32 -Dos_win32 -Dmach_i386 -DLIBEXECDIR="" -
D_CRT_SECURE_NO_WARNINGS /nologo /Zi /MT /W2 -I..\..\cc\cc -I..\..\os\win32 -I..
\..\arch\i386 -I..\..\mip ..\..\cc\cc\cc.c ..\..\mip\compat.c
cl : ���ޥ�� �饤�� warning D9035 : ���ץ���� 'o' �λ��Ѥϸ��߿侩����Ƥ��ޤ�
�󡣺���ΥС�����󤫤�Ϻ������ޤ���
cc.c
c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(358) : error C31
63: '_vsnprintf': °����������������礷�ޤ���
        c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(350) : '
_vsnprintf' ��������ǧ���Ƥ���������
compat.c
c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(358) : error C31
63: '_vsnprintf': °����������������礷�ޤ���
        c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(350) : '
_vsnprintf' ��������ǧ���Ƥ���������

��Ȥ�� Visual Studio 7 �Ǥ�����ǧ����Ƥ��ʤ��褦�Ǥ��������ޤ���ƥʥ󥹤���Ƥ��ʤ������Ǥ���

���⤽���Ⱦ�����ǡ�pcc-libs �Ȥ����ǥ��쥯�ȥ�ʲ��Υ����������ɤ����¤� Not Found �ˤʤäƤ��ޤ����ե�����̾�Ǹ������ƤߤƤ⡢�ɤ��ˤ⤽��ʥǥ��쥯�ȥ��ե�����Ϥ���ޤ��󡣤ɤ����԰¤Ǥ���

������ɤǸ������Ƥߤ��Ȥ�����VS 2008 �ǥӥ�ɤ��������Ƥ����������ޤ�����

�����������Τפ�����ढ ����/2010-3-9[��] �ޥ��ʡ���C����ѥ�������äȿ���

�ʤ�ۤɡ�pcc-libs �� pcc �Ȥ��̤˥����������ɤ�ɬ�פʤ�Ǥ��͡�

pcc-libs-100525.tgz �����������ɤ��ơ�Ʊ�ͤ�Ÿ�����ޤ�����

�嵭�����򻲹ͤˡ�os/win32/config.h ���������ӥ�ɡ��ʤ�ۤɡ���� stdio.h �򥤥󥯥롼�ɤ��Ƥ����ʤ��ȡ�vsnprintf() ���ִ�����Ƥ��ޤäƥ��顼�ˤʤ��Ǥ��͡�

C:\work\pcc>c:\msys\1.0\bin\tar.exe zxvf pcc-libs-100525.tgz

C:\work\pcc>cd pcc-100525\os\win32

C:\work\pcc\pcc-100525\os\win32>fc config.h config.h.orig
�ե����� config.h �� CONFIG.H.ORIG ����Ӥ��Ƥ��ޤ�
***** config.h
#if !defined(vsnprintf)
#include <stdio.h>
#define vsnprintf _vsnprintf
***** CONFIG.H.ORIG
#if !defined(vsnprintf)
#define vsnprintf _vsnprintf
*****

C:\work\pcc\pcc-100525\os\win32>build /cl /pccsrcdir C:\work\pcc\pcc-100525 /pcclibssrcdir c:\work\pcc\pcc-libs-100525

�ʤˤ�����̤ηٹ𤬽ФƤ��ޤ�������� pcc.exe �� libpcc.a �ϤǤ��Ƥ�ߤ����Ǥ����ӥ�ɤϤ��������ޤ�����δĶ��Ǥ� 30 �ä⤫����ޤ���Ǥ�����

C:\work\pcc\pcc-100525\os\win32>dir /b *.exe *.a
mkext.exe
pcc.exe
libpcc.a

����ä�Ĺ���ʤäƤ��ޤ��ޤ����Τǡ�����Ϥ����ޤǤǤ���

�ɵ�: �¤Ͼ�꤯�ԤäƤޤ���Ǥ����������ޤ����

PCC ��ȤäƤߤ롣�ʼ��ԡ�



�ȥ�å��Хå�URL

�����Ȥ���

̾��
 
  ³¨Ê¸»ú
 
 
��������
�ǿ�����
���̥���������
�ǿ�������
<%==comments[n].author%>
<% } %>
�������������󥿡�
  • ������
  • ������
  • �߷ס�

<% for ( var i = 0; i < 7; i++ ) { %> <% } %>
<%= wdays[i] %>
<% for ( var i = 0; i < cal.length; i++ ) { %> <% for ( var j = 0; j < cal[i].length; j++) { %> <% } %> <% } %>
0) { %> id="calendar-611743-day-<%= cal[i][j]%>"<% } %>><%= cal[i][j] %>
���ƥ����̥���������
�������饦��
QR������
QR¥³¡¼¥É
���ԥޥ���������ԥ塼��