���Ԥ�긥�ܸ��顣

���Ƥ���Unix/Linux�ץ�����ߥ� �����ȼ����פΤ����ɡ�������Ϥ��������������Unix/Linux�ץ�����ߥ� �����ȼ����פ����å��֥å�Ū�ʤ顢������ϡ���������Ū�ʰ���ȤʤäƤ��롣

�ܽ�����Unix�ץ�����ߥ󥰶����פϡ�Unix�ץ�������C�ǽ񤯤���ζ��ʽ���ܻؤ��ƽ񤫤줿�����

�ܼ� - ���UNIX�ץ�����ߥ󥰶��� - ���ҾҲ���½�� Pearson Education Japan��ꡣ
��1�� C ������(1):�ޥ˥奢����ɤ���,���顼����,��¤��,������
��2�� C ������(2):�ݥ���,�Х��ȥ�����,ʣ���ʷ�
��3�� ����������
��4�� ɸ�������ϥ饤�֥��
��5�� �ץ�����
��6�� �ե����륷���ƥ�
��7�� �ե����뵭�һҤΥ��ԡ��ȥѥ���:dup,dup2,pipe
��8�� �����å��̿�����
��9�� �����ʥ�ȶ������
��10�� ü��(1):ü��,ü���饤��ǥ����ץ��,termios ��¤��
��11�� ü��(2):���������ץ�������,curses �饤�֥��,����ü��
��12�� ��ɽ�æ��:setjmp, longjmp
����ʸ��
�Ѹ콸

�ܽ�ͥ��Ƥ������ϡ��ʲ��ΤȤ��ꡣ

�Ѹ�򤷤ä����������Ƥ���
�ʤ�٤��������ʤ��ѻߡ���������֥ե����뵭�һ� File Descriptor�פȤ������Ǥ�����ȱѸ�ɽ���⼨���Ƥ��롣�������ץ�����ޡ��̤��β��äǤ��̤��ʤ��ʤ뤽���Ű�줷�Ƥ���Ȥ����ΤϤɤ��ʤΤ����������㤨�СֹԴ˾ספȸ����Ƥ�ԥ��������������
�ȤϤ��������Ԥ����Ϥ�����ͳ�⤭����ȥ������������Ƥ���(�����������Ĥ����ۤ�)�����Υ����ϡ�Unix�ץ�����ޡ������ǤϤʤ����ѽ��񤯿ͤˤ������ܤ��̤��Ƥ�������������
�������C���������Ƥ���
�ܽ�Ǥϡ��ºݤ�Unix�ץ�����ߥ󥰤��������ˡ�C����̤��������Ƥ��롣�㤨��int (*compar)(const void *, const void *)��ɤ��ɤ����褤�Τ��⡢�ܽ���ɤ�Ф�����Ȥ狼�롣
��Ω�Ƥ�����ٽ�Ǥ���
���ʽ�Ȥ��Ƥι�����ͤ���������Ǥ��뤬�����ä���������­���Ǥ�ƿʤߤ��������פοͤϡ���Unix/Linux�ץ�����ߥ������ȼ����פ��⤳������������ä�������������
����Web�����¤��Ƥ���
�Ȥ�����ꡢ����˴ؤ��Ƥϡ�Unix/Linux�ץ�����ߥ������ȼ����פ�����ܤ�����Ȥ����٤������������ǼҤΥڡ��������ǤϤʤ������ԥڡ����⤭����Ȥ��äơ������ɥ���ץ�����������ɤ��뤳�Ȥ�����롣
���Ū�²��Ǥ���
���3,990�ߤϡ����μ���ܤȤ��Ƥϰ����ʤ����ʤ��������UNIX�ץ�����ߥ󥰶����װ�������ʤ��ܽ�ȡ������ƤΥ���ե��������˰��äƤ����פ������äƤ⤪�Ĥ꤬��ޤ�:)

�Ȥ����櫓�Ǥʤ��ʤ��ι����ʤΤ�������ĵ��ˤʤä��Ȥ��������롣����ϡ������ɤ��Τ�Ρ�

�ܽ�϶��ʽ�����äƤ���������äơ�ʸ�Ϥ乽���ϼ¤˼����˽񤫤�Ƥ���Τ�������������˥����ɤ��褱���Ť��������롣�㤨���ܽ�Ǥ��޳Ѻǽ��perror��errno��Ҳ𤷤Ƥ���Τˡ�

if (something_is_wrong){
  fprintf(stderr, "Error message here.\n");
  exit(1);
}

�ߤ����ʽ��������˸���롣�ʤ��error��Ҳ𤷤Ƥ���Τ�exit�����ɤ����Ĥ�1�ʤΤ��������errno���֤��٤�������������ˡ����顼����������3�Կ��äƤ��ޤ��ΤϤ�ä����ʤ���

int die(const char *msg){
    if (errno){
        perror(msg);
        exit(errno);
    }else{
        fprintf(stderr, "%s\n", msg);
        exit(255);
    }
    return -1; /* never comes here but this makes cc happy */
}

�Τ褦�ʴؿ����̥ե����������������#include���ơ�

if (something_is_wrong) die("message here.");

�Ȥ��������褫�ä��ΤǤϤʤ������ޤ�����䰭��̣�ǤϤ��뤬����Τ褦��die()��������Ƥ�����

unlink(file) && die(file);

�Ȥ��Ƥ�����ȥ���ѥ��뤹��(void�Ǥʤ���int�ʤΤϤ��Τ���)��

���ȡ�fopen()���֤��ͤ�����å����Ƥ��ʤ��ս�򸫤Ĥ����Τ���𤵤��Ƥ���������(P. 358)

�ȤϤ���������������ϡ��ܽ����Ĺ��ͤ���м¤˺��٤Ǥ��롣Unix��C�ץ�����ߥ󥰤�ؤ�ľ���������ˤ⡢C��Unix�ץ�����ߥ󥰤�ؤ����ˤ��������������

Dan the Occasional C Programmer