Lua ��д C ��չ��ʱ�õ���һЩ����
���췽������ͬ���ʵ���һЩ lua �����⣬��Ҫ�ǹ��� C ��չ���ġ��Ҿ�����Щ�����ԵĶ���ֵͦ�ø����ҷ���һ�£���ô��дƪ blog �ɡ�
ͨ����C ��չ���� C ��������һЩ����Ҫ���� lua ״̬���С�Lua �ṩ�ķ����Ƿ������� ע���� �С����ĵ����ԣ���Ϊ Lua ��ע������ȫ�ֹ����ģ�ѡ�� key ��ʱ����Ҫǧ��С���ˡ����� key �Ѿ��� reference ϵͳ�õ��ˣ�һ�����ǻ������ַ����� key ��
�� C ��ѹ���ַ�����Ч�ʲ������ߣ�������Ϊ�ⲿ�ַ�������״̬��ʱ��Ҫ���� hash ������Ψһ�����¡����ڱ���ֱ��ѹ���ַ��������⣬��ǰд��һƪ blog ̸����( btw, ��ǰ�Ǹ�����Ҳ�������õĽ����������������ǿ�����Ϊһ���ο��� :)
�������뵽��������ܱ�֤Ψһ�Ե� key ��һ�� light userdata ����һ�㣬�ڲο��ֲ��Լ� Programming in Lua �ж����ᵽ��
���ǿ�����һ�� static �����ĵ�ַ��Ϊ key ��ע����������������Ҫ��ֵ���������´��룺
�����Ͱ�һ�� C �е����� myNumber ����ע�������ˡ������Ժ�Ҫ��������Ȼ�����������Ĵ��룺
�����õ���һ�� static �����ĵ�ַ�� key �����Ծ��Բ����ͱ�����չ����ͻ��������������һ��ȱ�㣬���� key ����������һ��ȫ�ֱ�����ʽ���֣���̫���ۡ����ң����������õ����� key ��ʱ������ô�����õ���Ҫô������ extern ������ key ��Ҫô����Ҫ��һ����������ʽ��¶һ�������õ����� key ��Ч���ϻ����ִ���һЩ�ۿ��ˡ�
���ھ���һ�����еķ������������þ������������⣺ �Ǿ��ǣ���һ�� light userdata �� key ������ key �����ٺ�һ��Ψһ�ַ�������������ÿ������Ҫ�õ� key ָ���ĺ�������Щд��
���������ǾͿ��Զ� key ��һ�ζ��Գ�ʼ���ˡ�����ֻ��ʾ������ʼ�����ֿ�������һ�������ͺ귽���ظ����á�
˳������һ�����ױ����Ե�С���ɣ� ����ͨ���� full userdata ��ʵ�ָ��ӵ� C �ṹ������ C++ �еĶ����������� Lua �С�����������Ҫ�� Lua �е�һ�����ݹ��������� userdata �ϡ�Ϊ���� Lua �� gc ���̿�����ȷ�Ĺ�����������Ҫ��һЩ�����Ĺ�����
���²ߵĽ��������ǣ��� userdata �б���һ�����ص� Lua ���� reference ��Ȼ���� userdata ����һ��Ԫ����ʵ��һ�� gc ��Ԫ�������� gc �¼�����ʱ��unref ������ Lua �������������������ĵط����ڣ�ʵ�ֹ��ڷ��������Ҹ� gc ���̴�������������ִ�п�����
�в�����ע�����б���һ��ӳ����������������Ϊ weak table ��ÿ�� userdata �������������� userdata Ϊ key ������Ӱ�����б����������� Lua ���ݡ���ô�������������յĹ��̾Ϳ����� Lua ��������ά���ˡ��䲻����֮�����ڣ�ÿ�� C ���������� userdata ���ص� Lua ����ʱ����Ҫ���õ�ע�����е�����ӳ�������������������õĵ���ƪ blog ǰ�벿���ᵽ�Ķ�������
��ʵ������һ���ϲߣ�Lua ���Ƶ�ʱ���Ϳ��ǵ��ˡ��Ǿ��� full userdata ����ӵ��һ�������Ļ����������������� Lua �����������塣����ȴ���� gc ������ֻ��Ҫ�� lua_getfenv
�� lua_setfenv
������������� :D
Comments
Posted by: �� | (11) November 21, 2017 02:56 PM
Posted by: microsoft office 2007 | (10) November 20, 2010 11:05 AM
Posted by: cloud | (9) September 23, 2010 03:40 AM
Posted by: struct | (8) November 24, 2006 04:12 PM
Posted by: struct | (7) November 24, 2006 04:09 PM
Posted by: N/A | (6) November 22, 2006 07:20 PM
Posted by: 11ff | (5) November 22, 2006 01:38 PM
Posted by: 11ff | (4) November 21, 2006 06:41 PM
Posted by: �� | (3) November 18, 2006 11:50 PM
Posted by: Bogy | (2) November 18, 2006 12:06 AM
Posted by: һ���ͺ�˧ | (1) November 17, 2006 11:24 PM