concepts - lpc

MudOS v21c2

LPC ���� (lpc)


* LPC ��ʲô ?

LPC ��׫д MudOS (�� LPmud) �����ʹ�õ�����. LPC �ǡ�Lars Pensj| C������д. ����������, ��Ҳ���µ� LPC ���� C ���﷨ (syntax) Ϊ������. LPC �ṩ�� C ���Ե� while ѭ�� (loop)�� for ѭ���� if ��� (statement)��switch ��䡢��д���� sscanf ������ (integer) �������� (LPC Ҳ�ṩ������ C �������޵���������, ������� (object) ��ӳ�� (mapping) ) . LPC ʹ�� C ���﷨���庯������ú�������������. ��ע��, LPC ���ַ������������� C �������ṩ���ַ���, ���ż���IJ���. ��ϸ��������ο� LPC ���﷨�����Խṹ�Ľ�ѧ�ļ�.

������ LPC �� C ֮���һЩ����֮��:

LPC �����, ����Ҫ��Ϊ main �ĺ��� (��Ȼ��һ������ create �ĺ���).

��Ϸ�������� (gamedriver) �ṩ���ⲿ���� (efun)�� (���Ϊϵͳ���� (system calls) ), �� C ������ (library) (�� libc.a) �����ṩ����ȫ��ͬ.

LPC ��û�� malloc(). ������һ�� allocate( ���� value ) �ⲿ��������Ϊ���� (arrays) �����ڴ�. ��ע��, allocate ���� (argument) �ĵ�λ�����ֽ� (bytes), ����Ԫ�� (element) ����Ŀ.

�ڴ治����ȷ���ͷŵ� (never explicitly deallocated). ��Ϸ���������׷��һ�����ݱ��ο� (reference) ���ٴ�. ���ο��� (reference count) ��Ϊ�� (û���κ�����д˱����Ŀ���) , �ͻ����������˱���ʹ�õ��ڴ�ռ� (��������).

LPC �е��ַ����������ͱȽϽӽ� BASIC. �ַ������� C �����������ַ����� (arrays of character), ����ͬһ���������ڲ����� (basic intrinsic type). ����ַ��������� + ����� (operator) �����һ��.

������˵, ���µ� LPC ���:

    string ack;

    ack = foo + bar;

������� C �����ͬ:
    char *ack;

    ack = (char *)malloc(strlen(foo) + 1); strcpy(ack,foo);
    ack = (char *)realloc(strlen(ack) + strlen(bar) + 1);
    strcat(ack,bar);

LPC ��һ����Ҫ���͵����� (interpreted language)����Ȼ LPC �ڽ���֮ǰ, ����� (compile) Ϊһ���ڲ��ļ�������ʽ��internal compact tokenized form) ��.

LPC û�нṹ�������� (structure) �������������� (union). ʵ����, ��->�����������ָʾ��������ĺ�������. ��ijЩ������, ӳ�� (mapping) �������Ϳ��Ե����ṹ�������͵Ĵ���Ʒ.

sscanf ���÷��� C �IJ�ͬ. sscanf �IJ�������ָ�� (pointer) (��Ϊ LPC û����ȷ��ָ����������) . ����, sscanf( arg, "%s %s ", str1, str2 ) �����Ľ��Ҳ�� C �ij������ʦ��Ԥ�ڵIJ�ͬ. �� C ��, �����ĵ�һ���� (�밴: �˴��ġ��֡�, ָ����Ӣ�ĵĵ���, ÿ����֮���Կհ��ַ� (space) ��. ) �Ḵ�Ƶ� str1 , �������ĵڶ����ָ���Ϊ str2. ������ LPC, ��һ����ͬ���Ǹ��Ƶ� str1,�� ��֮ͬ�����ַ���ʣ�µ�����ȴȫ�����Ƶ� str2.


����: Spock @ FF 97.Aug.8.

�ص���һҳ