c

2010ǯ05��28��

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

pcc - pcc portable c compiler

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

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

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

³�����ɤ�

2009ǯ08��21��

���Ĥ⤤�Ĥ�ޥ��ʡ��ʥͥ��Ǥ����ޤ���

�ץ�����ߥ󥰸��� C ��2���Ρ���̯�ʵ��Ҥ����ˤʤ�ޤ�����
����Ͽ C �ѹ���������פ����ѡ�

��ï�⤬�����ʤĤޤ���ѹ���8 �� 9 �� 8 �ʿ��ǤϤʤ���(p.328)

���ޤ�ˤ⤵��äȽ񤫤�Ƥ��ޤ�������̣�����Ǥ������������Ǥ� ?

�¤����������ǤϤʤ��ơ�UNIX �Υ�����֥�Ǥϡ�8 �� 9 �ϡ�8 �ʿ��� 10 �� 11 �Ȥ��ư����Ƥ�����Ǥ��͡� ����Ϥ䡣

��UNIX Assembler Reference Manual, Dennis M. Ritchie��
http://www.tom-yam.or.jp/2238/ref/as.pdf
An octal constant consists of a sequence of digits; �ơ�8�ǡ� and �ơ�9�ǡ� are taken to have octal value 10 and 11.

UNIX v6 �����Υ�����֥�δ�̯�ʽ�������K&R ����1�Ǥޤ�̮����³���Ƥ����櫓�Ǥ���UNIX �� C ����ˤϡ����������Τ����ä���¿���Ǥ���

2009ǯ08��07��

���������äˤʤ�ޤ����������������������򤭤ä����ˡ�puts �ˤʤ����Ԥ��դ��Τ��Ȥ����ͥ��ˤĤ���Ĵ�٤Ƥ�������������ʸ�򶵤��Ƥ�餤�ޤ����ΤǾҲ𤷤ޤ���

"C and the AT&T Unix Port -- A Personal History", Stephen C. Johnson (����)
http://roguelife.org/~fujita/COOKIES/HISTORY/USENIX/johnson.html

³�����ɤ�

2009ǯ07��28��

�������Ȼ���������ä˴�Ϣ���ơ��ºݤˤ��Υ����ɤ򥳥�ѥ��뤷�ơ��ѿ����ɤ�������Ƥ��뤫��ߤƤߤޤ��礦��

v.c

int x;  /* (1) */
int y = 0; /* (2) */
int z = 1; /* (3) */
extern int x; /* (4) */

���Υե�����򥳥�ѥ��뤷�ƥ�����֥���Ϥη�̤򸫤Ƥߤޤ��礦��

gcc -S v.c
³�����ɤ�

2009ǯ07��27��

C �ε��ʤ˴ؤ������äȤ����äǤ���

���ޤǡ�extern ���դ��Ƥ��ʤ��Ǿ������Ǥ��ѿ�����ʥ������Х��ѿ��ˤϡ������������ˤʤ�Τ��ȻפäƤ����ΤǤ�������̩�ˤϰۤʤ뤽���Ǥ���
int x;         /* (1) */
int y = 0; /* (2) */
extern int x; /* (3) */

(1) �� (2) �ϡ�ñ�˽���ͤ�Ϳ�����Ƥ��뤫���ʤ��������ΰ㤤�ǡ��ɤ��������˸����ޤ���

�Ȥ���������̩�ˤ� (2) �������������ǡ�(1) �ϲ�����Ȥ��������ˤʤ�Τ������Ǥ���³�����ɤ�

2009ǯ07��03��

1969 ǯ�� Bell Lab �� Kenneth L. Thompson �� Dennis M. Ritchie ���ץ��ȥ����פ������������������ơ���ǯ�� UNIX 40 ��ǯ�����ܤ������Ǥ���UNIX �� 1/4 �����Ȥ����ܤ�����ޤ���������10 ǯ������ UNIX ��Ⱦ�����Ǥ��͡�

����ä��Τ��ä򤷤����Ȼפ��ޤ���35 ǯ�᤯���� C ���äǤ����ʤ�������� 20 ��ʤΤǡ��ޤ����ޤ�Ƥޤ��󡣡�1975 ǯ��UNIX v6 ����꡼������ޤ��� (��� BSD UNIX �ˤĤʤ����ǤǤ�)�������Ǥ� pre K&R C �Ȥ���������� C (C99) ���鸫����������Ѥ� C �Ǽ�������Ƥ��ޤ���

Dennis M. Ritchie, "C Reference Manual" (1975)
http://www.cs.bell-labs.com/who/dmr/cman.pdf

����������ޤ��Τ褦�˻Ȥ��Ƥ��롢void/unsigned/const/enum/union/volatile �� ������ؤ�Υ�����ɤ����¤�¸�ߤ��ޤ��󡣡������ entry �Ȥ�����Υ�����ɤ����ä��ꤷ�ޤ�����

�ʤ�ȡ����Υ��㥹�ȤȤ�����ǰ��¸�ߤ��ޤ��󡣤���ʤ�ǤޤȤ�ʥץ�����फ����Τ��� ? �Ȼפ����⤷��ޤ��󤬡�Lions' Commentary on UNIX ���ɤ�Ǥ���ȡ��������������򤤵��������ָ���ޤ���

���ͥ����� : 2238�����

���㥹�Ȥ� unsigned ��¸�ߤ��ʤ��Τǡ�����դ������� unsigned �ǰ����������ϡ��ݥ����ѿ����������Ƥ���׻����Ƥ����褦�Ǥ����ݥ��󥿤� unsigned �Ǥ����顢������֥�Ū�ʴ��Ф��餹��С�unsigned �Ȥ���������ɤ�̵���Ƥ⺤��ޤ���� :-)
rdwri.c
6323: /* Return the logical maximum
6324:  * of the 2 arguments.
6325:  */
6326: max(a, b)
6327: char *a, *b;
6328: {
6329: 
6330:         if(a > b)
6331:                 return(a);
6332:         return(b);
6333: }
volatile �Ϥޤ������λ���� C �� PDP-11 �ޥ���������֥�ߤ����ʤ�ΤʤΤǡ���Ȥ�ȤۤȤ�ɺ�Ŭ���ϹԤ��Ƥ��ʤ��ä��Τ������̵���ä��ΤǤϤʤ��Ǥ��礦������� register �Τ褦�ʥ�����ɤ�Ȥ�����Ŭ����ؼ����Ƥ�������Ǥ��������̣��C �����Ϥ��ħ����褦�ʥ�����ɤ��Ȼפ��ޤ���

����Υ��ꥢ�ɥ쥹������Ȥ��� define ����Ƥ����硢�ɤΤ褦�ˤ��ƻ��Ȥ�����ɤ��ΤǤ��礦�� ? ������ C �ʤ�С�*(int *)SW �Τ褦�ˡ��ݥ��󥿤ؤη����㥹�Ȥ�Ȥ����ɤ��櫓�Ǥ��������㥹�Ȥ�¸�ߤ��ޤ���

param.h �򸫤Ƥߤޤ��ȡ�
0166: #define SW      0177570
0167: 
0168: /* ---------------------------       */
0169: 
0170: /* structure to access : */
0171: 
0172: 
0173:    /* an integer */
0174: 
0175: struct {   int   integ;   };
���ΰ�̣�����򤹤�ˤϡ�pre K&R C �� struct �����Υ��С���̾�����֤�ñ��Ǥ���Ȥ������ͤ��ΤäƤ���ɬ�פ�����ޤ���ñ����Ƭ���ɥ쥹����Υ��ե��åȤȡ����С��η���������̣������ޤ��������ơ�����Ū�ʥ��㥹�ȹ�ʸ�Ϥ���ޤ��󤬡�������֥�Ū�ʰ�̣�Ǥΰ��ۤη����㥹�Ȥ��Ԥ��ޤ����������黻�� -> �κ�¦�ˤ��륹�����ͤϡ�����̵�Ѥǹ�¤�ΤؤΥݥ��󥿰�������ޤ�����������ʸ��������ڷ������å��ϹԤ��ޤ��󡣤Ȥ����櫓�ǡ�����Υ��ꥢ�ɥ쥹���顢�������Ȥ����ͤ򻲾Ȥ��������ϡ�SW->integ �Τ褦�ˤ��ƻ��ȤǤ���櫓�Ǥ���

�������Ǥ��礦�� ? ���ݤǼ��������㤤������Ȼפ�줿���⤤�뤫�⤷��ޤ��󤷡��ѥ���Ū�����򤤤Ȼפ�줿���⤤�뤫�⤷��ޤ���

��ˤϡ�pre K&R �ϡ������Υߥ˥ޥꥺ��Ū�������ȼ����������פΥХ�󥹤�����äƤ������Τ褦�˻פ��ޤ���ñ�˳ؽ�Ū�ʰ�̣�ǤΥ��ޡ��Ȥʸ����¾�ˤ⤿�����󤢤�ޤ������ʤ� UNIX v6 ��񤤤�����ʤ櫓�Ǥ����顢��Ϥ������Ϥ��㤤�ޤ���

��������
�ǿ�����
���̥���������
�ǿ�������
<%==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¥³¡¼¥É