¥È¥Ã¥× ¸¡º÷ °ìÍ÷ º¹Ê¬ ¥½¡¼¥¹ ¥Ø¥ë¥× RSS ¥í¥°¥¤¥ó

����MinGW 2009.06(3) MinGW

����MinGW 2009.06(3) MinGW

MinGW�ϡ�C����ν鿴�Ԥ���������褦��ñ���make��٥�δĶ��ϡ�MSYS�Ȥ���Ω��ư��뤳�Ȥ��Ǥ��롣���ι�����ˡ���������򤳤��ǽҤ٤롣

 ï¿½Ù¡ï¿½ï¿½ï¿½ï¿½Ä¶ï¿½(binutils, mingwrt, w32api, mingw-utils, gdb, mingw32-make)

����ѥ������ΤǤ���gcc�����ˡ��١����Ȥʤ�Ķ���������롣����ѥ������Τ�Ʊ��������Ƥ��ޤäƤ��ɤ��Τ�����ǭ�ʸ����Ǥ�gcc3��gcc4���ڤ��ؤ�����褦�ˤ������Ȥ�̿���1�ĤǤ���Τǡ������Ǥ϶��̤Ǥ���١����Ķ�����˽������롣

MinGW�Υ���������ɥڡ����ǡ��ʲ��Υե������������Ƥ��褦��

�����Υե����������/mingw�ʲ���C:\msys\mingw�ʲ��ˤ�Ÿ�����롣

�ƥѥå�����������

��ñ���������롣

binutils
ld��strip�ʤɤΥ�󥫤�Х��ʥ������ġ��뷲
mingw32-make
Makefile�˽����ӥ�ɤ򤢤����ټ�ư������ġ���
w32api
Win32API��MinGW������Ѳ�ǽ�ˤ���ե����뷲
mingwrt
��󥿥���饤�֥���glibc�ǤϤʤ�msvcrt����Ѳ�ǽ�ˤ���ե����뷲
mingw-utils
reimp��a2dll���μ��binutils���亴����ġ��뷲
gdb
���GCC�����Υ��ޥ�ɥ饤��ǥХå�

binutils��̵����Х�󥫤��ʤ��Τ�.exe��.dll�������Ǥ�����w32api��̵�����Windows��ͭ�Υץ�����ߥ󥰤��Ǥ��ʤ���������mingwrt��̵����Х�󥿥��ब�ʤ����֤Ȥʤ�Τ�printf�������ѤǤ��ʤ�����äơ�����3�Ĥ��ä˽��פ���

make�˴ؤ�������

make�ϡ�MSYS¦�Ǥ�Ƴ�����뤿���ʣ�������Ȥˤʤ롣��������mingw32-make��̾�����̤�"mingw32-"�Ȥ����ץ�ե��å������դ�����ˡ��Ȥ�ʬ���뤳�Ȥϲ�ǽ�Ǥ��롣

make������ѥ���Ķ��ΰ�ĤǤ���Τ�Unix�饤���ʴĶ��ΰ����Ǥ��뤫��Ƚ�Ǥ��񤷤��Ȥ���������Ʊ�����ӥ�ɤ˻��Ѥ���configure�ϥ����륹����ץȤǤ��뤿���MSYS��̵�����ư��ʤ����ޤ���make����ǥ����륹����ץȤ���Ѥ��뤳�ȤϤ��ʤ�¿�����Ȥ��顢�¾�Ȥ��Ƥ�MSYS¦�˶ᤤ¸�ߤǤ���褦�˻פ�����������MSYS¦�˿������С�����󤬤ʤ�������ͳ��MinGW¦�Τ�Τ�ᥤ��˻��Ѥ���ʥץ�ե��å���̵����make.exe�ˤ���������褤���⤢�롣

����ε����Ǽ��夲��make�Ǥϡ��С�������ξ�ԤȤ�3.81�����Ϥʤ�����MSYS¦��make���������ꤷ�Ƥ����褦����ǭ�ʸ����ǻ���¤�Ǥϡ�mingw32-make��������λ���뤳�Ȥ����ä���

 ï¿½ï¿½ï¿½ï¿½Ñ¥ï¿½ï¿½ï¿½(gcc)

MinGW�γˤǤ��륳��ѥ����Ƴ�����롣������ǭ���ѥå��Ǥ�MinGW�Υڡ������餽�줾��С������3�Ϥ�4�Ϥ�GCC��Ƴ�����Ƥ�������a003�����4�ϤΥ���ѥ����Twilight Dragon Media�����ۤ���Ƥ��롢�̾�TDM�Ǥ�GCC��Ƴ���������ޤ���3�Ϥ�4�Ϥκ��ߤ䡢̤���˸����Ǥ�SJLJ�����Ǥ��ᥤ��Ǥ��뤿�ᡢDwarf-2�����Ǥ����Ѥ��ʤ���

TDM��GCC-4�˴ؤ���

TDM�Ǥ�GCC�ˤϰʲ�����ħ�����롣

  • ����ǿ���GCC-4�ϥХ��ʥ����Ѱդ���Ƥ��롣
  • MinGW�Ķ������˥ӥ�ɤ���Ƥ��롣
  • �Х����ȼ��˽�������Ƥ��뤳�Ȥ����롣
  • pthread��iconv�������ݡ��Ȥ���Ƥ��롣

MinGW������GCC-4��Ĺ��Technology Preview��Alpha�ξ��֤ǡ������MinGW�����Ǥ�ɬ��������ꤷ�Ƥ��ʤ����ᡢ���ꥸ�ʥ��GCC�ΥХ��ե��å����������ޤ줿�ǿ��Ǥ���ѤǤ��뤳�Ȥˤ��ä˰�̣�����롣TDM�Ǥ�Ƕ�ޤǡֻ��Ū(experimentation purposes only)�פȤ���Ƥ�������ͭ̾�ˤʤ�¿�����Ѥ����褦�ˤʤä����ȤǼ��Ѥ��Ѥ����Ƚ�Ǥ��졢������Ǥ������ȡ�̵�ݾڤǤ������Ȥηٹ��դ��ǤϤ��뤬���󥯥�ƥ���������Ӥ˻��ѤǤ���������Ǥ��줿�����⤽��GCC�ϸ�����̵�ݾڤǤ��뤷��MinGW������GCC-4���԰���ʤΤǤ��뤫�顢GCC-4��ɬ�פǤ���桼���ˤ����ʤ�����ǤϤʤ���������

TDM�Ǥ�2009ǯ6��ߤκǿ��ǤǤ���GCC-4.4.0�����ꥸ�ʥ��GCC�ץ����������Ǥ�2009ǯ4��21���˥�꡼�����줿�Ф���Τޤ����ǿ�����

GCC-3

GCC-3�˴ؤ��Ƥϡ�MinGW������GCC-3.4.5�����ʤ����̵꤬�������˰��ꤷ�Ƥ��뤿�ᡢ�������Ѥ��롣���ꥸ�ʥ��GCC�ץ����������ˤ��GCC-3�Ϥκǿ���3.4.6������changes�Υڡ����Ǥ��ѹ����Ƥ���������Ƥ��ʤ����餤�ǡ�GCC-3.4.5�ϰ���С������ȸ��äƤ褤��

SJLJ�Ǥ�Dwarf-2�Ǥ˴ؤ���

2008ǯ���Ǥκ���MinGW(5)�ǽ񤤤Ƥ��뤬���㳰�μ�갷�������˴ؤ���㤤�Ǥ��롣Dwarf2��������ǽŪ�ˤϾ��äƤ��뤬�����ߤΰ����ǤȤ��Ƥ�SJLJ�Ǥ���Ѥ��٤�����MinGW������GCC��SJLJ�����ˤʤäƤ��뤿�ᡢDwarf-2������GCC��Ƴ�����Ƥ��ޤ��ȡ�GCC��°�ǤϤʤ������ĥХ��ʥ��Ƴ�������饤�֥�귲�ϡ�����¾�ΥХ��ʥ��GCC��°�䥽��������ӥ�ɤ�����Ρˤȸߴ������ʤ����Ȥˤʤ롣

SJLJ�Ȥ�SetJump-LongJump��ά�ǡ��㳰ȯ�������������setjump�����ꤹ���������������ͽ������������ꤹ��ɬ�פ����뤿�ᡢtry-catch��ʸ�������٤ˡ�setjump���¹Ԥ���뤳�Ȥˤʤ롣�㳰��ȯ�����ʤ���硢����setjump��ñ�ʤ�̵���Ǥ����ʤ���

������Dwarf2�ϥǥХå���ǽ�����Ѥ����㳰�����������������ǡ�;�פʽ�����Ԥ�ʤ��������®��ư�����롣������Windows��Ǥϡ�Dwarf2�����ǥ���ѥ��뤵��Ƥ��ʤ��ؿ��Υ����å��ե졼��򥯥ꥢ����ɬ�פ��ʤ���ʬ���äƤ�����ˤ������ѤǤ��ʤ��������WindowsAPI�Υ�����Хå��������Ѥ�������㳰��ȯ���������ʤ��Ȥ������Ȥǡ������ǥ��󥰤�;�פ����դ�ɬ�פȤ������Ȥ������Ȥ��������Υ饤�֥����󥯤�����ˤϡ�������Ǥ������ư���Ԥ��Ƥ��ʤ����İ����Ƥ��ʤ���Фʤ�ʤ����ᡢ����Ū�ǤϤʤ���

���Τ��ᡢ�̾��®�٤����ˤ���SJLJ�Ǥ���Ѥ���ΤǤ��롣

Ƴ��

�����Υե�����򤽤줾��������褦��

�⤷Ada����ѥ����GNU����Java����ѥ��餬ɬ�פǤ���С��ɲä��ƹ���ʤ���

ǭ���ѥå��ǤϤ�����/_felidlabo/gcc�˥С�����󤴤Ȥ˥ǥ��쥯�ȥ��ʬ����Ÿ���������θ�.7z�˺ƥ��������֤��Ƥ��롣�����񤭥��ԡ��ˤ��GCC���ڤ��ؤ����ǽ�ˤ������ᡢ/mingw�ˤ�ľ��Ÿ�����ʤ���

�ʤ���TDM�ǤǤϤʤ���MinGW������GCC4�⡢����pthread���б������פʤ����ǡ�Ʊ�ͤ�Ƴ���Ǥ��롣

TDM�Ǥ�Ƴ���˺ݤ�������

TDM�Ǥ�libpthread��ޤ�Ǥ��롣pthread�Ȥ�POSIX�ǵ��ꤵ��륹��åɵ�ǽ������Windows��POSIX���ǤϤʤ��Τǡ�POSIX��Ʊ�ͤΥ��󥿡��ե������ʴؿ������ˤǥ���åɤ�����Ǥ���褦�ˤ���Τ�libpthread����

��������OS�ǥͥ��ƥ��֤˥��ݡ��Ȥ���뵡ǽ�ǤϤʤ�����ˡ��饤�֥����ۼ�������ʤ�������ȯ�����롣�����libpthread�Ǥ�GCC�Ǥ�ɤ����褦��ʤ����¤Ȥ��ƥ桼���˹ߤ꤫���롣����Ū�ˤϺ���MinGW��2008ǯ���Ǥ�񤤤��Ȥ���ʻ���ƽ񤤤�MinGW+ffmpeg��MinGW��ffmpeg(A)pthread��ʣ�����ɤ���פ��������������ǤϤ����Ĥޤ�ǽҤ٤褦��

�ޤ�Windows���libpthread��static�˥�󥯤�����ˤϡ��ץ������䥹��åɤγ��ϡ���λ���ˡ�POSIX�ε���ˤϤʤ����̤ʴؿ���ƤӽФ�ɬ�פ��������Ĥޤꡢ�����������ɥ�٥�θߴ�����̵����#ifdef�����ڤ�ʬ����ɬ�פ����롣�������¤��򤱤뤿��ˤϥ����ʥߥå���󥯡�DLL�ǻ��ѡˤˤ���Ф褤��������ϤĤޤ�pthread*.dll��.exe�ȶ������ۤ��ʤ���Фʤ�ʤ����Ȥ��̣���롣

���켫�Τ���������Ū�ʤ��Ȥ�������礭�����¤ǤϤʤ����������configure����pthread��¸�ߤ�ưŪ�˸��Ф�������˥�󥯤���뤳�Ȥ��������Ȥ���Windows�Ķ������ꤷ�Ƥ��ʤ����եȥ������Ǥϡ�static��󥯻������̤ʴؿ���ƤӽФ��Ƥ��ʤ��������⤢�뤿�ᡢ�ӥ�ɤ��̤뤬ư����˥���å��夹�����֤Ȥʤ롣�ޤ�������DLL���󥯤��륱�����Ǥϡ�pthread����Ѥ��Ƥ��뤳�Ȥ�桼�����İ�������.exe�Τߤ����ۤ���ư��ʤ����֤˴٤롣

���Τ���ǭ���ǤǤϰʲ��Υե�������͡��ष��TDM�Ǥ�pthread��̵���ˤ��Ƥ��롣

  • include/pthread.h
  • include/sched.h
  • include/semaphore.h
  • lib/libpthread.a
  • lib/libpthreadGC2-static.a
  • lib/libpthreadGCE2.a

�嵭�����������Τ��Ƥ���С�pthread��ͭ���Τޤޤˤ��Ƥ��Ƥ�����Ϥʤ���

�ǽ��������֡�2009ǯ06��25�� 15��18ʬ36��